我应该在哪里编写将由多个模型(cakephp)调用的(通用)函数?
假设我有Model1和Model2。在每个beforeSave()中,我想调用函数f()我应该在哪里编写将由多个模型(cakephp)调用的(通用)函数?,php,cakephp,before-save,cakephp-model,Php,Cakephp,Before Save,Cakephp Model,假设我有Model1和Model2。在每个beforeSave()中,我想调用函数f() 我必须在哪里放置f() 如何在模型的beforeSave()函数中调用它(语法问题) PS:我想做一些事情,比如在保存到数据库之前更改上传文件的名称。我知道如何上传,但不知道将该方法放在何处,以便在其他模型中使用。A行为具有可以挂接的事件-其中一个是beforeSave()回调 创建一个行为并将其附加到需要该行为的模型 有关详细信息,请参阅。一个行为具有可以挂接到的事件-其中一个事件是beforeSave(
PS:我想做一些事情,比如在保存到数据库之前更改上传文件的名称。我知道如何上传,但不知道将该方法放在何处,以便在其他模型中使用。A
行为
具有可以挂接的事件-其中一个是beforeSave()
回调
创建一个行为并将其附加到需要该行为的模型
有关详细信息,请参阅。一个
行为
具有可以挂接到的事件-其中一个事件是beforeSave()
回调
创建一个行为并将其附加到需要该行为的模型
有关更多信息,请参阅。好问题
您可以使用AppModel.php
<?php
class AppModel extends Model{
function f1($arg){
// some code
}
}
?>
从model1和model2中,您可以如下所示调用它:
<?php
class Model1 extends AppModel{
function beforeSave(){
$this->f1($arg1);
// some code
}
}
?>
我认为这将解决上述问题 问得好
您可以使用AppModel.php
<?php
class AppModel extends Model{
function f1($arg){
// some code
}
}
?>
从model1和model2中,您可以如下所示调用它:
<?php
class Model1 extends AppModel{
function beforeSave(){
$this->f1($arg1);
// some code
}
}
?>
我认为这将解决上述问题 工作得很有魅力!非常感谢。这已经解决了我的问题,但出于好奇,如果我想对许多模型和许多控制器(一些有用的函数,如strtolower函数)使用f1(),我需要做任何更改吗?当Model class扩展App Model时,可以在所有模型中使用f1(),但如果是controller,则必须在AppController中创建相同的函数,因为从控制器你们不能直接访问模型的函数,你们必须使那个类的对象……工作得很有魅力!非常感谢。这已经解决了我的问题,但出于好奇,如果我想对许多模型和许多控制器(一些有用的函数,如strtolower函数)使用f1(),我需要做任何更改吗?当Model class扩展App Model时,可以在所有模型中使用f1(),但如果是controller,则必须在AppController中创建相同的函数,因为从控制器不能直接访问模型的函数,所以必须使该类的对象。。。。