ステップ 1: はじめに
ルーティングと転送に phpbean を使用するにはどうすればよいですか?以下に簡単な使用例を示します。
まず、index.php はプログラムの単一のエントリ ポイントであり、主にルーティングと転送の作業を実行します。 Index.php のプログラムコードは以下の通りです:
include('startup.php');//スタートアップファイルをロード
try{
$router=new Phpbean_Router();//ルーターを初期化する
$router->gt ;set_path(SITE_PATH.'/app/actions');//コントローラーのディレクトリを設定
$router->dispatch();//ルート転送処理
}catch (Exception $e){
echo $e; }
?>
起動ファイルは次のとおりです:
define('SITE_PATH','/',dirname(__FILE__))); set_include_path(get_include_path().PATH_SEPARATOR.SITE_PATH.'/libs/');
function __autoload($filename){
$filepath = SITE_PATH.'/libs/'.str_replace('_','/',$filename) .'.php';
if (IS_FILE ($ Filepath)) {
include ($ filepath)};
それでは、アクションテストを書いてみましょう。 (コントロールとしてコントローラーを使用せずにアクションを選択する理由については、フレームワークのパフォーマンスを徐々に向上させるための私の以前の記事を参照してください)
たとえば、app/actions/indexAction.php にテストを書きます
class indexAction extends Phpbean_Action {
function run(){
echo 'phpbean_index page!';
}?>
IE を開き、アドレス http://localhost:8080/phpbean/index.php/ を入力します。結果を確認するにはインデックスを使用します。
ステップ 2: URL パラメーターを取得する
たとえば、URL を使用してパラメーターを渡したい場合、PHPbean でどのように実装できますか? phpbean の Pathinfo は、データを取得する 2 つの方法をサポートしています。1 つはキーワードによるもの、もう 1 つは順序 (デフォルト) によるものです。
先ほどの例では、アドレス http://localhost:8080/phpbean/index.php/index / の後にパラメータ http://localhost:8080/phpbean/index.php/index/1/2/3 を追加します。 4/
次に、キーワードを使用して URL パラメーターを取得し、$this->_getParam('1','key') を使用します。たとえば、indexAction の run メソッドに echo $this->_getParam('1','key') を追加すると、対応する出力は 2 になります。 phpbean でキーワードによって URL パラメータを取得するには、一致するペアは必要ないことに注意してください。たとえば、$this->_getParam('1','key') は 2 を返し、$this->_getParam('2','key') は 3 を返します。
URL パラメータを取得する方が便利なはずです順番に 。たとえば、$this->_getParam(1) は 1 を返し、$this->_getParam($n) は $n 番目のパラメータを返します。
ステップ 3、アクション複数レベルのディレクトリ
一般的に言えば、プログラムの設計は、ブログ->ユーザー->ログインなど、モジュール->コントローラー->アクションになります。その後、phpbean のアクションを使用して簡単にマッピングできます。
まず、app/actions の下に blog フォルダーを追加し、次に app/actions/blog/ の下に user フォルダーを追加します。
それでは、ブログ->ユーザー->ログインアクションを書いてみましょう。まず、app/actions/blog/user/の下にloginAction.phpを作成します。
class blog_user_loginAction extends Phpbean_Action {
function run(){ echo 'blog_user_login';
}
?> ; 次に、http://localhost:8080/phpbean /index.php をテストします。 /blog/user/login/、成功しましたか?
それでは、「アクションの一般的な操作を追加するにはどうすればよいですか? たとえば、admin ディレクトリ内のすべてのアクションは isadmin() によってチェックされる必要があります。これを実装するにはどうすればよいですか? phpbean では、継承を使用してこれを非常に簡単に実現できます。」これを実装する例として blog->admin を取り上げてみましょう。
まず、管理ディレクトリを追加し、このディレクトリにアクション基本クラス admin.php を追加します (アクションではない場合、ファイル名に ***Action.php を使用しないことに注意してください)
abstract class _blog_admin extends Phpbean_Action {
function __construct($params){
parent::__construct($params);
echo '管理者チェック! ';
}
}
? それでは、admin ディレクトリ内のすべての ACTION は、PhpBean_ACTION の代わりに _blog_admin を継承して、パブリック操作のパッケージ化を実現します。たとえば、admin ディレクトリに loginAction.php を作成します。
http://www.bkjia.com/PHPjc/318528.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/318528.html
技術記事