TP 5コントローラの進級高級知識ノートmd
1876 ワード
1、コントローラレイヤへのアクセスをカスタマイズする方法
カスタムプロファイルconfig/config.phpに追加:
//
'url_controller_layer' => 'controller',
「controller」を「api」などの任意のカスタム名に変更できます.この場合もappindex下のcontrollerフォルダ名をapiに変更し、api下のすべてのコントローラのネーミングスペースも変更します.
2、マルチレベルコントローラの作成方法
appindexcontrollerフォルダの下に「user」などのフォルダを追加し、userにDemoを追加します.phpファイル.urlでアクセスするindexメソッドを入力します.
tp5.com/index/user.demo/index
3、なぜ空の操作と空のコントローラを作成するのですか?
urlで存在しないメソッドにアクセスし、エラーを報告しないようにカスタムプロンプトを表示する場合は、コントローラに次の方法を書きます.
public function _empty($method)
{
return ' '.$method.' ';
}
urlで存在しないコントローラにアクセスし、エラーを報告しないようにカスタムのプロンプトを表示する場合はthinkphpconvention.phpで'empty_が見つかりましたController'=>'Error'をカスタムconfigにコピーします.phpでは、「Error」は自分で直すことができます.次にappindexcontrollerフォルダの下にErrorを新規作成します.phpファイルは、以下のコードを同じように入力することが望ましい.
public function _empty($method)
{
return ' '.$method.' ';
}
4、コントローラでtraitをどのように使いますか?
たとえばclass Indexクラスでは、次のように書きます.
use \traits\controller\Jump;
traitsのJumpコントローラを導入しました.このコントローラにはsuccessメソッドがあります.私たちは今この方法を使いたいと思っています.
public function demo($name)
{
if ($name=='bilibili'){
$this->success(' ','http://www.bilibili.com');
}
}
urlには次のように書くことができます.
tp5.com/index/index/demo/name/bilibili
訪問できます.
5、単一モジュールとは何ですか。いつ使う必要がありますか?
適用が簡単で、モジュールを分割する必要がない場合は、単一のモジュールを使用できます.単一モジュールは、モジュールがなく、モジュールは応用であり、応用はモジュールである.単一モジュールを開く:thinkphpconventionで'app_を見つけますmulti_module'=>true、自分のconfigにコピーする.phpでは、trueをfalseに変更すればいいです.そしてindexモジュールの下のものをすべてアプリケーションの下に移動します.ネーミングスペースなどの他の対応するスペースも変更します.