请帮我解决这个问题(我在Windows localhost上使用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');
?>
这会导致加载程序(?)错误:
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”中,则不会发生错误。该错误的原因是什么以及如何纠正?提前谢谢!
答案 0 :(得分:5)
您使用错误的路径。
我建议你把你的widget php文件放到protected/components/Magus.php
然后你可以用
$this->widget('application.components.Magus');
或者你可以将它保存在你拥有它的文件夹中并像这样调用它:
$this->widget('application.components.views.Magus');