2015-01-26 17 views
0

FuelPHP를 배우고 OrmAuth를 사용하여 인증 및 권한 부여 프로세스를 처리하려고합니다. 모든 "표준"OrmAuth 테이블 (사용자, 사용자 _ 권한, 사용자 _ 메타 데이터 등)을 생성 할 수있었습니다. 그러나 사용자 개체에 맞춤 입력란을 추가하는 올바른 방법 (예 : telefon_number)이 무엇인지 알 수 없습니다. 누군가 나를 도와주고 몇 가지 예를들 수 있습니까?FuelPHP : OrmAuth 사용자 모델 확장 (사용자 정의 프로필 필드 필요)

감사합니다.

답변

1

먼저, OrmAuth 패키지의 사용자 모델에 이미 구성된 EAV 컨테이너로 원하는 것을 쉽게 얻을 수 있습니다. 당신은 모델에 대한 메타 데이터를 설정해야하고, 그와 같은 저장 :

$user = Auth_User::find(1); 
$user->telefon_number = '+36 30 taratatta-taratatta'; 
$user->save(); 

그건 당신의 users_metadata 테이블에 telefon_number을 놓을 게요,하지만 사용자를 쿼리 할 때, 그것은에 자동으로 사용할 수 있습니다 그 모델 인스턴스.

그러나 이러한 속성을 사용하여 고급 쿼리를 작성하려는 경우와 같이 충분하지 않을 수도 있습니다. 필드가 users 테이블에 있어야 할 수도 있습니다.

내가 달성 한 작업은 documented under the extending the core part of the documentation입니다. 기본적으로 나는이 같은 OrmAuth 패키지에서 \Auth\Model\Auth_User 클래스, 확장 :에, 지금

namespace Model; 

class Auth_User extends \Auth\Model\Auth_User 
{ 
    /** 
    * @var array model properties 
    */ 
    protected static $_properties = [ 
     // your properties go here 
    ]; 
} 

를 앱의 bootstrap.php, 대신 OrmAuth 패키지의 하나의 클래스를 사용하는 자동 로더에게 있습니다

\Autoloader::add_classes(array(
    // Add classes you want to override here 
    // Example: 'View' => APPPATH.'classes/view.php', 
    'Auth_User' => APPPATH.'classes/model/auth/user.php', 
    'Model\\Auth_User' => APPPATH.'classes/model/auth/user.php', 
)); 

참고 :이 예제에서는 Auth_UserModel\Auth_User을 모두 설정하지만 사용자의 필요에 따라 충분할 수도 있습니다.

관련 문제