2011-11-12 12 views
1

planner.phpとshared.phpコントローラにアクセスしようとするとこの致命的なエラーが発生します。何かご意見は?イオン認証/ CodeIgniter致命的なエラー

Fatal error: Uncaught exception 'Exception' with message 'Undefined method Ion_auth::get_user() called' in 
/application/libraries/Ion_auth.php:88 Stack trace: #0 

/application/core/MY_Controller.php(50): Ion_auth->__call('get_user', Array) #1 

/application/core/MY_Controller.php(50): Ion_auth->get_user() #2 

/application/controllers/user/planner.php(9): Common_Auth_Controller->__construct() #3 

/system/core/CodeIgniter.php(288): Planner->__construct() #4 /index.php(202): require_once('/Users/lrussell...') #5 {main} thrown in/application/libraries/Ion_auth.php on line 88 

ライブラリ拡張は、私はイオン認証のために使用しています: http://jondavidjohn.com/blog/2011/01/scalable-login-system-for-codeigniter-ion_auth

プランナーコントローラー: http://pastie.org/private/wc1bq6eiqb9hn8iubwdgq

共有コントローラ: http://pastie.org/private/uj3ta8dw3jl7kqxizs9n1a

Ion_auth図書館ライン88セグメント: http://pastie.org/private/mhgwdzjyhatwsdrux4gqpa

CRUDモデル: http://pastie.org/private/m2nhfqzabdsx5eiz6xqupw

イベントモデル: http://pastie.org/private/b6ksjoowl7wde9errow

共有モデル: http://pastie.org/private/f741jfnf8o2l5oxphnrl5w

答えて

2

オム、それは私にはまったく同じことが起こりました。このライブラリの最新リリースでは、Ben EdmundsがPHPマジックメソッド__call()を使用していたため、正規の構文$this->ion_auth_model->method()を使用してモデルのメソッドを呼び出す必要はなく、$this->ion_auth->method()をそのままライブラリに属する​​メソッドであるかのように呼び出すことができます。

実際には、そのメソッドはモデルに属しています。だからモデルを見てみると、get_user()メソッドがないことがわかります(ライブラリにもそこにあります)、または少なくとも私が話しているバージョン(最新のものか直前のものか) 1〜2週間前に新しいコピーがダウンロードされました)。 彼が提供したドキュメンテーションにはいくつかの誤りがあると思いますが(彼の全体的な仕事は素晴らしいものですが、Benへの名誉です)。

user()モデルメソッドを試すことができます。これは、同じ結果になるはずです(機能がより近い)。だから$this->ion_auth->user()と呼び出し、それがあなたのニーズに合っているかどうかを見てください。

明確にするためにEDIT

...これの代わりに...

$this->end_user = $this->ion_auth->current()->row(); 

これを行う...

$this->end_user = $this->ion_auth->user()->row(); 
+1

私はこれを確認することができ、そしてそれは直接に関係この最近の図書館へのコミットhttps://github.com/benedmunds/CodeIgniter-Ion-Auth/commit/ef733edb5ef396fec57fe363c5c8616506054c79 – jondavidjohn

+0

そう、w ebsite benedmunds.com/ion_authの方が古いので、githubからファイルを直接ダウンロードして、正しく動作させる必要があります。あなたの助けを借りてくれてありがとう! – imlouisrussell