Beispiel #1
0
 public function testClassName()
 {
     $type = 'Controller';
     $name = 'UsersController';
     $fullName = App::className($name, $type);
     $this->assertEquals('App\\Controller\\UsersController', $fullName);
 }
Beispiel #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);
 }
Beispiel #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;
 }
Beispiel #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);
 }
Beispiel #5
0
 /**
 * パスワードをハッシュ化する.
 *
 * @param string $pasword 任意の文字列
 * @return ハッシュ化されたパスワード
 */
 public function password($password)
 {
     if ($password === null || !is_string($password) || $password === '') {
         return false;
     }
     $salt = App::securitySalt();
     return crypt($password, $salt);
 }