@zelenin насколько я понял, getUser работает следующим образом:
В LoginForm: $this->_user = User::findByUsername($this->username);
В User:
return static::findOne(['username' => $username, 'status' => self::STATUS_ACTIVE]);
В BaseActiveRecord:
return static::findByCondition($condition, true);
В findByCondition:
return $one ? $query->andWhere($condition)->one() : $query->andWhere($condition)->all();
В QueryInterface:
public function one($db = null); - возвращает массив или bool значение.
Т.е. как мне нужно модифицировать модель, чтобы не обращаться к базе, а обращаться к строкам внутри модели? Моя задача - избавиться от механизма ActiveRecord.
@zelenin как не создаётся? User это же и есть объект, поля которого заполняются из базы данных. Разве это не так? Я лишь хочу вручную заполнить эти поля.
render() или redirect() после того, как прошёл login(). Смысл ошибки мне понятен, но validatePassword возвращает результат функции $app->security->validatePassword($password, $this->password_hash), которая в свою очеред возвращает результат выполнения функции password_verify($password, $hash), который в свою очередь возвращает boolean. В данном случае я просто пытаюсь захардкодить логин и пароль в модели User.php, я не лезу в базу за ними.
Т.е. в controllers создать LoginController.php, в нём в actionLogin делать проверку if ($model->load(Yii::$app->request->post()) && $model->login()) и внутри redirect?
а как работать с сессиями, куками в Yii 2.0? Я вот вижу уже реализованный механизм web-сессии, то есть в нём уже где то запускается session_start, и уже существуют переменные, за которые можно дёргать, или нужно определять новеые переменные и работать на чистом php с сессиями в теле контроллера?
Нет, это мне понятно. В версии Yii 2.0 разработчики убрали setState/getState. Вопрос был о том, как теперь в коде, использующем фреймворк, получать и устанавливать состояние пользователя?
Для отображения информации для разных типов пользователей на странице используется один общий массив, в котором хранится информация для user1, user2, user3 (array[user1], array[user2], array[user3]).
Из этой статьи неясно, как вообще убрать index.php из запроса. Если я хочу, например, сделать такой запрос: localhost/mail или localhost/user - то что мне надо поменять и что надо использовать?
А ссылку на конкретную главу в документации? Не знаю, может быть я не умею запросы составлять в поиске, но с первого захода найти не удалось про routing.
FreeBSD на планшет встанет? Мне надо, чтобы на ноутбук можно было поставить ЛЮБУЮ операционную систему, если мне это потребуется для демонстрации клиенту и разработки в дороге.
В LoginForm: $this->_user = User::findByUsername($this->username);
В User:
return static::findOne(['username' => $username, 'status' => self::STATUS_ACTIVE]);
В BaseActiveRecord:
return static::findByCondition($condition, true);
В findByCondition:
return $one ? $query->andWhere($condition)->one() : $query->andWhere($condition)->all();
В QueryInterface:
public function one($db = null); - возвращает массив или bool значение.
Т.е. как мне нужно модифицировать модель, чтобы не обращаться к базе, а обращаться к строкам внутри модели? Моя задача - избавиться от механизма ActiveRecord.