2016-08-20 4 views
0

私は画像アップロードのためにCakePHP 3.2とprofferプラグインを使用しています。イベントでCakephp 3の認証コンポーネントを使用する方法

保存する前に、イメージをアップロードしてイメージ名を変更するためのprofferプラグインのデフォルトパスを書き直したいと思います。

githubからのプロフェッショナルのドキュメントに従って。私は今、私は、これは私が

$newFilename = $this->Auth->user('id').'-'.$event->subject()->get('id') . '_' . Inflector::slug($event->subject()->get('name')) . date('ymdhis') . $ext; 

を行っているものです。しかし、これはAuthが使用できないというエラーを与えている

$this->Auth->user('id').'-'.$row('id').date('dmyhis').ext 

のようなファイル名を変更したい/src/Event

でイベントを作成しましたここに。コントローラの外側にAuth Componentを使用する方法はありますか?

+1

あなたはAuthコンポーネントを必要としませんが、セッションデータ。 http://book.cakephp.org/3.0/ja/development/sessions.html – Salines

答えて

0

、あなたがこれを使用する必要があります

$this->request->session()->read('Auth'); 

debug($this->request->session()->read('Auth')); 

[ 
    'id' => (int) 2, 
    'username' => 'admin', 
    'nice_name' => 'Tommy Do', 
    'first_name' => 'Huy', 
    'last_name' => 'Đỗ', 

    ...//and more info in UserTable 
] 

とアクセスそれをデバッグ各要素に割り当てます。

$this->request->session()->read('Auth.nice_name'); 

印刷:

Tommy Do 

が、それはあなたが役立つことを願っています:D

1

セッションをロードすることで、ログインしているユーザーIDにアクセスできます。

use Cake\Network\Session; 
$session = new Session(); 
$userData = $session->read('Auth.User.id'); 

リファレンスとして使用この:ケーキ3.xのではと後Reading & Writing Session Data

関連する問題