cakePHP类构造函数
在普通PHP中,您可以执行以下操作:cakePHP类构造函数,php,cakephp,Php,Cakephp,在普通PHP中,您可以执行以下操作: Class Test { function __construct($var) { echo $var; exit; } } new Test('Hello World'); 因此,您可以直接将变量传递给构造函数。这在cakePHP中似乎不起作用,尽管变量没有传递给它。iv能够做到这一点的唯一方法是执行以下操作: (组件类) (控制员) 有没有更好的方法可以像第一种方法那样,不必直接调用函数名?这是因为当您在控制器中包含带
Class Test {
function __construct($var) {
echo $var; exit;
}
}
new Test('Hello World');
因此,您可以直接将变量传递给构造函数。这在cakePHP中似乎不起作用,尽管变量没有传递给它。iv能够做到这一点的唯一方法是执行以下操作:
(组件类)
(控制员)
有没有更好的方法可以像第一种方法那样,不必直接调用函数名?这是因为当您在控制器中包含带有变量$components的组件时,它已经创建了TestComponent类的实例,而您不必自己创建实例
但毕竟CakePHP是php,您始终可以创建一个类,并将其包含在控制器中并使用构造函数。对于组件,您实际在哪里编写新的TestComponent($args)?
你没有。您只需将Cake配置为使用组件,Cake就会为您实例化它。
你从来没有亲自调用构造函数 将参数传递给组件的方法是通过
初始化方法:
class TestComponent extends Object {
public function initialize(&$controller, $settings = array()) {
// use $settings
}
}
class MyController extends AppController {
public $components = array('Test' => array(/* your settings */));
}
请参阅。似乎输入错误构造($var)
缺少\uuuuuu
,更改为\uuu构造($var)
new $this->Test->construct('Hello World');
class TestComponent extends Object {
public function initialize(&$controller, $settings = array()) {
// use $settings
}
}
class MyController extends AppController {
public $components = array('Test' => array(/* your settings */));
}