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() メソッドを使用してこのルールをオーバーライドできます: コードをコピー...