Пример #1
0
 public function testClassName()
 {
     $type = 'Controller';
     $name = 'UsersController';
     $fullName = App::className($name, $type);
     $this->assertEquals('App\\Controller\\UsersController', $fullName);
 }
Пример #2
0
 /**
 * ヘルパークラスをロードする.
 *
 * @return \TRW\View\Helper
 */
 public function loadHelper($name)
 {
     $class = App::className($name . 'Helper', 'View\\Helper');
     if ($class === false) {
         throw new Exception('missing helper ' . $name);
     }
     return $this->{$name} = new $class($this);
 }
Пример #3
0
 /**
 * コントローラーを生成する.
 *
 * @param \TRW\Requst\RequestAggreagate
 * @return \TRW\Controller\Controller
 * @throws \TRW\Exception\MissingControllerException
 * コントローラークラスが見つからない時
 */
 public function getController($request)
 {
     $class = $request->getParam('controller');
     $fullName = App::className($class . 'Controller', 'Controller');
     if ($fullName === false) {
         throw new MissingControllerException('missing controller');
     }
     $controller = new $fullName($request);
     return $controller;
 }
Пример #4
0
 /**
 * コンポーネントを読み込みを行う.
 *
 * このメソッドはinitializeの中で利用すると良いでしょう
 * 読み込まれたコンポーネントは$this->Authのようにアクセスすることができます
 *
 *
 * @param string $name コンポーネント名
 * @param array $config 初期設定をしたい場合使う
 * @return void
 */
 public function loadComponent($name, $config = null)
 {
     $class = App::className($name . 'Component', 'Controller\\Component');
     if ($class === false) {
         throw new MissingComponentException('component not found ' . $name);
     }
     $this->{$name} = new $class($this, $config);
 }
Пример #5
0
 /**
 * 送られてきたリクエストデータから認証を行う.
 *
 * @return \TRW\ActiveRecord\BaseRecord|booean BaseRecordを継承したUserモデル,
 * 認証に市失敗するとfalse
 *
 */
 private function authenticate()
 {
     $model = App::className('User', 'Model');
     if ($model === false) {
         throw new MissingModelException('User model notfound');
     }
     $request = $this->controller->getRequest();
     $userName = $request->getPost('name');
     $password = $this->password($request->getPost('password'));
     $result = $model::whereAll($model::tableName(), ['where' => ['field' => 'name', 'comparision' => '=', 'value' => $userName], 'and' => ['field' => 'password', 'comparision' => '=', 'value' => $password]], $model);
     if (count($result) === 0) {
         return false;
     }
     $user = $result[0];
     return $user;
 }