请帮助我解决这个问题(我在Windows本地主机上使用Yii, Xampp):
所以…我已经在protected'components'views'Magus.php中创建了一个新的小部件。
<?php
class Magus extends CWidget {
//////////////////////////////
public function run()
{
echo '<p style="color:blue; ">Trallala :) !</p>'; // do something.
}
//////////////////////////////
} //end class
在这里使用("protected/views/layouts/main.php"):
<?php
$this->widget('/views/Magus');
?>
这会导致loader(?)错误:
Fatal error: include() [<a href='function.include'>function.include</a>]:
Cannot redeclare class magus in C:'xampp'htdocs'yii'framework'YiiBase.php on line 421
但是,如果小部件文件直接放在"protected'components"中,则不会发生错误。这个错误的原因是什么,如何纠正它?
使用了错误的路径。我建议你把小部件php文件放到protected/components/Magus.php
中然后你可以用
$this->widget('application.components.Magus');
或者你可以把它保存在你的文件夹里然后这样命名:
$this->widget('application.components.views.Magus');