2015-01-10 6 views
0

일단 사용자가 등록하면 몇 가지 작업을 수행하는 이벤트를 설정했습니다. 업데이트 및 삽입 등은 가능하지만 작동하지 않습니다.Laravel 이벤트가 작동하지 않습니다.

나는 오류를 얻을 :

이 수상 이유를

나도 몰라 발견되지

심포니 \ 구성 요소 \ 디버그 \ 예외 \의 FatalErrorException (E_ERROR) 클래스 'EventHandlers이 핸들러 \ 사용자를 \' 일하지 마라. 하지만 나는 철자를 잘못 쓰지 않았습니다. 예를 들어 "test"를 반환하면 " 내 경우에 작동하지만, 내 Usercontroller에서 내 userModel

를 업데이트하지 않습니다

$user = User::create([ 

    some values.. 

]); 


Event::fire('user.create', $user); 

지금 나는 내 응용 프로그램에서 이벤트를 구독// global.php를 시작, 내가 PSR을 사용하여 폴더를 자동로드 -4

Event::subscribe('EventHandlers\Handlers\UserAccountActions'); 
Event::subscribe('EventHandlers\Handlers\ProductActions'); 
Event::subscribe('EventHandlers\Handlers\CommentActions'); 

그리고 내 이벤트/청취자의

EventHandlers\Handlers\UserAccountActions 요에서

<?php namespace EventHandlers\Handlers; 

class UserAccountActions { 

    // Listeners 
    public function subscribe($events) 
    { 
     $events->listen('user.create', 'EventHandlers\Handlers\[email protected]'); 
    } 

    // happens when a user register 
    public function onCreate($user) 
    { 
     $user->api_key = User::createApiKey(); 
    } 

} 

답변

1

파일 u는 동일한 네임 스페이스에 있었으므로 User을 참조합니다. 당신은 글로벌 네임 스페이스의 User 클래스에 액세스 백 슬래시 \을 추가해야합니다. (또는 User 모델에 하나에있는 경우 네임 스페이스를 지정 예 \Models\User)

// happens when a user register 
public function onCreate($user) 
{ 
    $user->api_key = \User::createApiKey(); 
} 

는 다른 방법도 가져올 수 있습니다 사용 선언문이있는 모델 :

use User; 

class UserAccountActions { 
관련 문제