Yii :: app()-> user-> isGuestを使用して、ユーザーがゲストであるかどうかを確認しようとしていますが、次の通知が表示されます。
Undefined property: CWebApplication::$user
どうやらコンポーネントユーザーがまだアプリケーションで定義されていないようですが、その理由を知りたいのですが。
コンポーネントが利用可能かどうかを確認しようとしました
if(isset(Yii::app()->user))
ただし、失敗します。¿Yii :: app()-> userが定義されていない場合でも、ユーザーがゲストであるかどうかを確認するにはどうすればよいですか?¿isGuestを使用しているときにこの通知を受け取る必要がありますか?
編集:error_reportingディレクティブを「E_ALL&〜E_NOTICE&〜E_DEPRECATED&〜E_STRICT」に変更しました。先に進む必要がありました。今、私はこの致命的なエラーを受け取りました:
致命的なエラー:530行目のhome / mario / projects / ciudad_wiki / yii / framework / web / auth / CWebUser.phpの非オブジェクトでメンバー関数getId()を呼び出す
時間メモリ機能の場所なし
- 0.0005 235120 {main}()../index.php:0
- 0.0207 1548168 CApplication-> run()../index.php:13
- 0.0207 1548352 CWebApplication-> processRequest()../CApplication.php:162
- 0.0235 1725768 CWebApplication-> runController()../CWebApplication.php:135
- 0.0272 2103464 CController-> run()../CWebApplication.php:276
- 0.0279 2145872 CController-> runActionWithFilters()../CController.php:266
- 0.0279 2145984 CController-> runAction()../CController.php:287
- 0.0279 2146128 CInlineAction-> runWithParams()../CController.php:309
- 0.0279 2146688 SiteController-> actionIndex()../CInlineAction.php:50
- 0.0529 3875888 CController-> render()../SiteController.php:33
- 0.0529 3876112 CController-> renderPartial()../CController.php:783
- 0.0532 3877352 CBaseController-> renderFile()../CController.php:870
- 0.0532 3877672 CBaseController-> renderInternal()../CBaseController.php:96
- 0.0539 3918144 require(foo_dir / protected / views / site / index.php')../CBaseController.php:127
- 0.0705 4428584 CModule-> __ get()../CBaseController.php:199
- 0.0705 4428584 CModule-> getComponent()../CModule.php:104
- 0.0723 4580360 CWebUser-> init()../CModule.php:388
- 0.0736 4671144 CWebUser-> getIsGuest()../CWebUser.php:195
- 0.0736 4671240 CWebUser-> getState()../CWebUser.php:279
- 0.0736 4671320 CWebUser-> getStateKeyPrefix()../CWebUser.php:557
トレースは最後のトレースと似ています。Yiiは$_SESSIONでユーザーコンポーネントに関連するものを見つけることができません。
編集#2: E_NOTICEをオンにしてトレースをアップロードしました。ここにあります: PHP通知
編集#3:最近phpを5.4に更新しました。php 5.3を使用するサーバーでアプリケーションを実行すると、問題はありません。おそらく、舞台裏で通知がありますが、php5.4で発生する致命的なエラーはありません。bool.devが書いたように:これは完全な推測です。