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에서 발견 한 모든 솔루션을 시도했지만 그 중 아무 것도 작동하지 않습니다./
이미 캐시를 지우셨습니까? 모든 lib 디렉토리 등을 다시 빌드 했습니까? – j0k
분명히 내가 한 것 ... symfony cc와 캐시를 지우고 폴더를 수동으로 삭제하는 것 – khartvin
아마도 두 개의 sfGuardUserPeer 클래스가 있습니다. 모든 코드에서 "class sfGuardUserPeer"를 검색해보십시오. 그 중 하나 (클래스 파일 경로를 검색하는 cache/project_autoload.cache 파일을 비 직렬화 할 수도 있음)를 확인하십시오. – glerendegui