ホームページ >バックエンド開発 >PHPチュートリアル >CodeIgniter フレームワーク_PHP チュートリアルでの remap() の使用方法の 2 つの例

CodeIgniter フレームワーク_PHP チュートリアルでの remap() の使用方法の 2 つの例

WBOY
WBOYオリジナル
2016-07-13 10:36:20966ブラウズ

1. CodeIgniter マニュアルに関連する概要
URI の 2 番目のフラグメントは、コントローラー内のどのメソッドが呼び出されるかを決定します。 CodeIgniter を使用すると、_remap() メソッドを使用してこのルールを廃止できます:

コードをコピー コードは次のとおりです:
public function _remap()
{
// ここにコードをいくつか...
}

注: コントローラーに _remap() というメソッドが含まれている場合、URI に何が含まれているかに関係なく、このメソッドは常に無視されます。このメソッドは、URI フラグメントによってどのメソッドが呼び出されるかを決定するというルールを削除し、メソッド呼び出しのルール (メソッド ルーティング ルール) を再定義できるようにします。
example.com/index.php/blog / から _remap() メソッドを呼び出すことができます。 _remap() にパラメータがある場合は、 / の後にパラメータを追加して特定のコードを呼び出します。
2. 2 つの使用例
しかし、問題は、マニュアルにこれが記載されている場合、それを何に使用するのかということです。実際、これには 2 つの用途があります:

1. URL を変更してメソッドを非表示にします。たとえば、アプリケーションでは、元の URL メソッドは次のとおりです:

コードをコピーします コードは次のとおりです:
example.com/index.php/blog /say

今、それを変更したいです 表示されているメソッド名は次のとおりです:
コードをコピーします コードは次のとおりです:
example.com/index.php/blog/hello

しかし、表示されていますがこんにちは。実際には既存の Say メソッドを呼び出します
2。この関数を使用して、次のような単純な関数メソッドのアクセス許可制御を実行することもできます。 $method, $params = array())
{
$user_type = $_SESSION ['user_type']; $access_control = $this->validate_access($user_type,$method); if ($access_control); $method(); else{ $this ->show_message(); }
}

まずユーザーセッションのレベル $user_type を取り出し、ユーザーがこのメソッドを呼び出す権限を持っているかどうかを確認します ( $method) メソッド validate_access を使用します。そうである場合は $access_control==true 、それ以外の場合はエラー メッセージが表示されます。




http://www.bkjia.com/PHPjc/739777.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/739777.html技術記事

1. CodeIgniter マニュアルの関連概要 URI の 2 番目のフラグメントは、コントローラー内のどのメソッドが呼び出されるかを決定します。 CodeIgniter では、_remap() メソッドを使用してこのルールをオーバーライドできます: コードをコピー...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。