В чём может быть ошибка?

Делаю регистрацию на сайте, собственно код
<?php

class UsersController extends BaseController {

	public function getRegister() {
    	return View::make('users/register');
	}

	public static $validation = array(
    	// Поле email является обязательным, также это должен быть допустимый адрес
    	// электронной почты и быть уникальным в таблице users
    	'email'     => 'required|email|unique:users',
 
    	// Поле username является обязательным, содержать только латинские символы и цифры, и
    	// также быть уникальным в таблице users
    	'phone'  => 'required|alpha_num|unique:users',
 
    	// Поле password является обязательным, должно быть длиной не меньше 6 символов, а
    	// также должно быть повторено (подтверждено) в поле password_confirmation
    	'password'  => 'required|confirmed|min:6',
	);

	public function postRegister() {
    	// Проверка входных данных
   		$rules = User::$validation;
		$validation = Validator::make(Input::all(), $rules);
		if ($validation->fails()) {
			//В случае ошибки, редиректим обратно с выводом ошибок и заполеными данными
			return Redirect::to('users/register')->witchErrors($validation)->witchInput();
		}

		//Сама регистрация
		$user = new User();
		$user->fill(Input::all());
		$id = $user->register();

		//Вывод информационного сообщения об успешности регистрации
		return $this->getMessage("Регистрация успешно завершена.");
	}

	public function register() {
	$this->password = Hash::make($this->password);
	$this->activationCode = $this->generateCode();
	$this->isActive = false;
	$this->save();

	Log::info("User [{$this->email}] registered. Activation code: {$this->activationCode}");

	$this->sendActivationMail();

	return $this->id;
	}

	public function sendActivationMail() {
    	$activationUrl = action(
        	'UsersController@getActivate',
        	array(
            	'userId' => $this->id,
            	'activationCode'    => $this->activationCode,
        	)
   		);
 
    	$that = $this;
    	Mail::send('emails/activation',
        	array('activationUrl' => $activationUrl),
       		function ($message) use($that) {
            	$message->to($that->email)->subject('Спасибо за регистрацию!');
        	}
    	);
	}

	protected function getMessage($message, $redirect = false) {
    	return View::make('message', array(
        	'message'   => $message,
        	'redirect'  => $redirect,
    	));
	}

}


После нажатия на кнопку регистрации
Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_ERROR)
Access to undeclared static property: User::$validation

Кусок на который жалуется
// Проверка входных данных
   		$rules = User::$validation;
  • Вопрос задан
  • 2283 просмотра
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Между User и UsersController разве нету совершенно крошечной разницы?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Lerg
@Lerg
Defold, Corona, Lua, GameDev
self вместо User
self::$validation
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы