CakePHP时间助手问题
我想我可能犯了一个错误。 当我试图在控制器的时间助手中使用一个简单函数时,出现以下错误。在视图中使用相同的函数调用时,我没有收到错误 下面是来自控制器的错误。 后跟失败的控制器代码。 后跟正在工作的视图代码 感谢您的帮助 错误: 注意(8):未定义变量:time[APP/controllers/temp\u users\u controller.php,第25行] 代码$checkTime=$time->gmt(); 致命错误:对第25行/var/www/studydeck/app/controllers/temp_users_controller.php中的非对象调用成员函数gmt() 控制器: 类TempUsersController扩展了AppController{CakePHP时间助手问题,cakephp,Cakephp,我想我可能犯了一个错误。 当我试图在控制器的时间助手中使用一个简单函数时,出现以下错误。在视图中使用相同的函数调用时,我没有收到错误 下面是来自控制器的错误。 后跟失败的控制器代码。 后跟正在工作的视图代码 感谢您的帮助 错误: 注意(8):未定义变量:time[APP/controllers/temp\u users\u controller.php,第25行] 代码$checkTime=$time->gmt(); 致命错误:对第25行/var/www/studydeck/app/contro
var $name = 'TempUsers';
var $scaffold;
var $components = array('Auth');
var $helpers = array('Time');
function beforeFilter() {
//list of actions that do not need authentication
$this->Auth->allow('userCleanUp');
}
//this function will delete TempUser accounts which have not been activated
function userCleanUp() {
$checkTime = $time->gmt();
$this->set('checkTime',$checkTime);
}
}
查看:
echo$time->gmt()
更新:
我尝试了$time=newtimehelper();
我收到了错误
致命错误:在第23行的/var/www/studydeck/app/controllers/temp\u users\u controller.php中找不到类“TimeHelper”
我确实有var$helpers=array('时间')
也不是echo$time->gmt();在视图中工作,无需在任何位置实例化时间。在这一行:
$checkTime = $time->gmt();
$time变量未定义,自动设置为null。错误表明它不是一个对象(这是正确的)。你正确初始化了吗?我看不到对$time变量进行任何初始化。帮助程序被认为是在视图中使用的,而不是在控制器中,因此出现错误。如果确实必须在控制器中使用帮助器,则必须自己实例化它:
$time = new TimeHelper();
您通常不使用来自控制器的帮助器。 在分析和呈现视图之前,在控制器中指定的数组用于加载和实例化帮助器类 要在控制器中使用帮助器,您需要确保文件已正确加载(包括),并且您有一个要使用的实例。您还可以从控制器中静态使用其中的许多对象,特别是那些不需要访问控制器对象的帮助程序 Cake为您提供了一个核心函数,您可以使用它安全地包含文件。它甚至可以自动处理文件从何处加载,因此您不需要处理路径 一个让你开始的例子
<?php
class TempUsersController extends AppController
{
public $name = "TempUsers";
public function userCleanUp( ){
// include the time helper
App::import( 'Helper', 'Time' );
$time = new TimeHelper;
$checkTime = $time->gmt( );
$this->set( 'checkTime',$checkTime );
}
}
?>