2012-07-11 3 views
0

so ... 기본적으로 practical symfony book을 따르고 다음과 같은 문제가 발생했습니다. 나는 sfGuardPlugin을 설치하고, 모델을 만들고, sqls 등을 만들고, 사용자를 생성하고, 입력 한 사용자 이름과 암호로 로그인을 시도했다.symfony 1.4의 확장 클래스에 액세스

// user exists? 
if ($user = sfGuardUserPeer::retrieveByUsername($username)) 
{ 
    // password is ok? 
    if ($user->getIsActive() && $user->checkPassword($password)) 
    { 
    return array_merge($values, array('user' => $user)); 
    } 
} 

동안 : sfGuardValidatorUser 클래스의 문제가있는 부분은 다음과 같습니다 때문에

Fatal error: Call to undefined method sfGuardUserPeer::retrieveByUsername() in /***/plugins/sfGuardPlugin/lib/validator/sfGuardValidatorUser.class.php on line 53

그것은 나에게 매우 이상한 같습니다

나는 다음과 같은 오류 메시지를 받았습니다 sfGuardUserPeer에는 빈 클래스가 있습니다.

PluginsfGuardUserPeer를 확장
class sfGuardUserPeer extends PluginsfGuardUserPeer 
{ 
} 

, 그래서 나도 그것을 체크 아웃 : 누락 된 함수의

class PluginsfGuardUserPeer extends BasesfGuardUserPeer 
{ 
    public static function retrieveByUsername($username, $isActive = true) 
    { 
    $c = new Criteria(); 
    $c->add(self::USERNAME, $username); 
    $c->add(self::IS_ACTIVE, $isActive); 

    return self::doSelectOne($c); 
    } 

} 

을!

그래서 뭐가 잘못 되었나요? 왜 작동하지 않니? 나는 이미 Google에서 발견 한 모든 솔루션을 시도했지만 그 중 아무 것도 작동하지 않습니다./

+0

이미 캐시를 지우셨습니까? 모든 lib 디렉토리 등을 다시 빌드 했습니까? – j0k

+0

분명히 내가 한 것 ... symfony cc와 캐시를 지우고 폴더를 수동으로 삭제하는 것 – khartvin

+1

아마도 두 개의 sfGuardUserPeer 클래스가 있습니다. 모든 코드에서 "class sfGuardUserPeer"를 검색해보십시오. 그 중 하나 (클래스 파일 경로를 검색하는 cache/project_autoload.cache 파일을 비 직렬화 할 수도 있음)를 확인하십시오. – glerendegui

답변

1

마침내 발견했습니다! 모든 클래스가 이미 sfGuard 폴더에 존재하는 동안

symfony propel:build-model 

작업

불필요, 플러그인 디렉토리에있는 스키마 파일에서 모델 디렉토리에 sfGuard 클래스를 생성합니다. 이러한 잘 개발 프레임 워크와 플러그인에서 발생해서는 안

이런, ...

1

은 단순히 당신의 sfGuardUserPeer 클래스에

public static function retrieveByUsername($username, $isActive = true) 
    { 
    $c = new Criteria(); 
    $c->add(self::USERNAME, $username); 
    $c->add(self::IS_ACTIVE, $isActive); 

    return self::doSelectOne($c); 
    } 

코드,이 문제를 밖으로 정렬됩니다 넣어 이 오류가 발생했을 때 나는 똑같은 일을했습니다. 그것은 나를 위해 일했습니다 ..

관련 문제