1
、(私は、Windowsのローカルホスト上のYii、XAMPPを使用しています)、この問題で私を助けてください:だからのYiiカスタムウィジェット、ローダエラー
...私は「の新しいウィジェットが\コンポーネントを保護し作成しました\ views \ Magus.php "を参照してください。
<?php
class Magus extends CWidget {
//////////////////////////////
public function run()
{
echo '<p style="color:blue; ">Trallala :) !</p>'; // do something.
}
//////////////////////////////
} //end class
それは、( "保護/ビュー/レイアウト/ 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"に直接配置されていると、エラーは発生しません。そのエラーの原因とその修正方法は何ですか?前もって感謝します !
あなたの非常に正確な答えJohnatanありがとう!私はローディングパスを定義するより複雑な方法を知っていましたが、まだ "application.components"の部分を必要としないショートカットを期待していました。 – Sebastian
メインの設定ファイルを使用してコンポーネントディレクトリを自動ロードする場合は、おそらくクラス名だけを使用するか、[setPathOfAlias](http://www.yiiframework.com/doc/api/1.1)を使用することもできます。/YiiBase#setPathOfAlias-detail)、エイリアス名を使用します。 – ldg