public function testClassName() { $type = 'Controller'; $name = 'UsersController'; $fullName = App::className($name, $type); $this->assertEquals('App\\Controller\\UsersController', $fullName); }
/** * ヘルパークラスをロードする. * * @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); }
/** * コントローラーを生成する. * * @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; }
/** * コンポーネントを読み込みを行う. * * このメソッドは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); }
/** * パスワードをハッシュ化する. * * @param string $pasword 任意の文字列 * @return ハッシュ化されたパスワード */ public function password($password) { if ($password === null || !is_string($password) || $password === '') { return false; } $salt = App::securitySalt(); return crypt($password, $salt); }