Здравствуйте. Пытаюсь перейти с микрофреймворков на полноценные, а именно Yii2 или Laravel, но с моей точки зрения, они оба почти одинаково непонятные. В Yii2 уже есть базовые таблицы с базовыми полями для регистрации и авторизации и прочее прочее. Я же хочу использовать свои поля и свою логику аутентификации. Для начала хотя бы поля. Всё по инструкции. 
Мой контроллер:
namespace app\controllers;
use Yii;
use yii\web\Controller;
use app\models\User;
class TestController extends Controller
{
  public function actionRegister() {
    $user=User::findOne(["id"=>1]);
    Yii:$app->user->login($user);
    if(Yii::$app->user->isGuest) {
        return "Вы гость";
    }
  }
}
И собственно модель User (ActiveRecord) реализующая интерфейс:
namespace app\models;
use yii\db\ActiveRecord;
use yii\web\IdentityInterface;
class User extends ActiveRecord implements IdentityInterface
{
  public static function tableName()
  {
      return 'users';
  }
    public static function findIdentity($id)
    {
        return static::findOne($id);
    }
    public static function findIdentityByAccessToken($token, $type = null)
    {
    //    return 1;
    }
    public function getId()
    {
        return $this->id;
    }
    public function getAuthKey()
    {
      //  return $this->authKey;
    }
    public function validateAuthKey($authKey)
    {
        //return $this->authKey === $authKey;
    }
}
Проблема заключается в том, на строчку с 
Yii:$app->user->login($user);
в контроллере, Yii выдает "Call to a member function login() on null". Как я понял он таки не выдергивает пользователя. 

Что я делаю не так?
Added: бьюсь в истерике, буквально скопиррваный код с advanced шаблона и подправленый под мою таблицу не работает. Он авторизует, но все поля обьекта пользователя null. Может я как-то базу создаю не так?