我正在创建一个从FormHelper扩展的CakePHP助手:
App::uses('FormHelper', 'View/Helper');
class MyFormHelper extends FormHelper{
public function wysiwyg($fieldName, $options = array()){
return parent::textarea('Model.field');
}
}
这是我的TestCase:
App::uses('Controller', 'Controller');
App::uses('View', 'View');
App::uses('MyFormHelper', 'View/Helper');
class MyFormHelperTest extends CakeTestCase {
public $helper = null;
public function setUp() {
parent::setUp();
$Controller = new Controller();
$View = new View($Controller);
$this->helper = new MyFormHelper($View);
}
public function testWysiwyg() {
$result = $this->helper->wysiwyg('Model.field');
$expected = array(
'textarea' => array('name' => 'data[Model][field]', 'id' => 'ModelField'),
'/textarea',
);
$this->assertTags($result, $expected);
}
}
当我运行测试时,我有一个PHPUNIT_FRAMEWORK_ERROR_NOTICE
Trying to get property of non-object
我知道问题来自我的助手:
return parent::textarea('Model.field');
我不知道如何解决这个问题。
提前致谢:)
答案 0 :(得分:0)
要覆盖Cake 2.0中的HtmlHelper方法,您可以简单地:
创建包含OwnHelper
方法的link
类,extends HtmlHelper
在AppController
中指定:
$helpers = array('Html' => array('className' => 'OwnHelper'));
通过ADmad