修复';返回';在cakePHP中,从视图控制器函数返回值
我在model.php文件中的模型类的视图函数中有一个函数,如下所示修复';返回';在cakePHP中,从视图控制器函数返回值,php,sql,unix,cakephp,timestamp,Php,Sql,Unix,Cakephp,Timestamp,我在model.php文件中的模型类的视图函数中有一个函数,如下所示 function sqlToUnix($date){ $YMDThenHMS = explode(" ", $date); $YMD = explode("-", $YMDThenHMS[0]); $HMS = explode(":", $YMDThenHMS[1]); $UnixTime = mktime($HMS[0], $HMS[1], $HMS[2], $YMD[1], $YMD[2],
function sqlToUnix($date){
$YMDThenHMS = explode(" ", $date);
$YMD = explode("-", $YMDThenHMS[0]);
$HMS = explode(":", $YMDThenHMS[1]);
$UnixTime = mktime($HMS[0], $HMS[1], $HMS[2], $YMD[1], $YMD[2], $YMD[0]);
return $UnixTime;
}
问题是,当它返回$UnixTime时,返回值在特定于模型控制器的视图函数中可用,但它不会呈现我的视图(停止脚本传播)
有没有一个地方,我可以建立这样的功能,在任何地方使用任何控制器
例如PHP本身内置的函数time(),我希望能够在任何地方使用sqlToUnix我能够通过将函数存储在appController.PHP中并在需要时调用该函数来解决问题
$this->sqlToUnix($SQLDate);
很抱歉问这个问题,但我刚刚想起了appController,当我发布此>时,我能够通过将函数存储在appController.php中并在需要时调用该函数来解决问题
$this->sqlToUnix($SQLDate);
很抱歉问这个问题,但我刚刚想起了为您的特定函数发布此>时的appController,您确定没有返回UnixTime格式的内置函数吗 有没有一个地方,我可以建立这样的功能,在任何地方使用任何控制器
对于您的特定函数,您确定没有返回UnixTime格式的内置函数吗 有没有一个地方,我可以建立这样的功能,在任何地方使用任何控制器
如果您想从任何地方调用此函数,例如在模型、控制器、视图、行为、组件和帮助程序中,可以将其放入app/config/bootstrap.php文件中。这就是它的目的。一旦启动,它就可以作为sqlToUnix()在全球范围内使用 如果您想从任何地方调用此函数,例如在模型、控制器、视图、行为、组件和帮助程序中,可以将其放入app/config/bootstrap.php文件中。这就是它的目的。一旦启动,它就可以作为sqlToUnix()在全球范围内使用 您可以编写一个函数bootstrap.php(尽管您最好包含bootstrap.php中的另一个php文件) 我通常在/app/config目录下的文件中有任何额外的函数或配置,并将其包含在bootstrap.php文件中:
require_once(APP.'config'.DS.'my_file_of_whizzy_functions.php');
该函数将在整个CakePHP应用程序中可用
除此之外,strotime($sqlDate);不将SQL时间转换为unix时间戳?您可以编写一个函数,即bootstrap.php(尽管您最好包含bootstrap.php中的另一个php文件) 我通常在/app/config目录下的文件中有任何额外的函数或配置,并将其包含在bootstrap.php文件中:
require_once(APP.'config'.DS.'my_file_of_whizzy_functions.php');
该函数将在整个CakePHP应用程序中可用
除此之外,strotime($sqlDate);不将SQL时间转换为unix时间戳?您可以通过控制器访问此函数并将其传递到视图:
//Controller
//inside a controller action
{
$TIMESTAMP = $this->Model->sql2unix($this->Model->getTimestamp());
$this->set('timestampe',$TIMESTAMP);
// or does this even do not work?
}
否则,您可以创建一个组件
//inside the component // inside of a component method
{
$MODEL = loadModel('ModelName');
$return = $MODEL->sql2unix($MODEL->getTimestamp());
return $return;
}
将代码放在哪里几乎“不重要”,您只需遵循cakephp的文件夹/类/助手/方法/组件结构即可。
阅读有关组件或助手的手册部分,您将立即了解所有内容。您可以通过控制器访问此功能并将其传递到视图中:
//Controller
//inside a controller action
{
$TIMESTAMP = $this->Model->sql2unix($this->Model->getTimestamp());
$this->set('timestampe',$TIMESTAMP);
// or does this even do not work?
}
否则,您可以创建一个组件
//inside the component // inside of a component method
{
$MODEL = loadModel('ModelName');
$return = $MODEL->sql2unix($MODEL->getTimestamp());
return $return;
}
将代码放在哪里几乎“不重要”,您只需遵循cakephp的文件夹/类/助手/方法/组件结构即可。
阅读有关组件或助手的手册部分,您将立即了解所有内容。您将MyHelpers类文件放在哪里?您将MyHelpers类文件放在哪里?这不是必需的,因为您可以轻松地将任何控制器动作、助手或组件导入任何控制器、模型、组件或其他任何组件,如果您使用cakephp。对于像“sql2unix”这样的最低限度的东西来说,重新编写引导程序实际上是不必要的,因为在整个代码中都不需要这个函数。但无论如何,这是一个很好的解决方案;)这是不必要的,因为如果您使用cakephp,您可以轻松地将任何控制器操作、帮助程序或组件导入到任何控制器、模型、组件或其他任何组件。对于像“sql2unix”这样的最低限度的东西来说,重新编写引导程序实际上是不必要的,因为在整个代码中都不需要这个函数。但无论如何,这是一个很好的解决方案;)