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モジュールの下のものをすべてアプリケーションの下に移動します.ネーミングスペースなどの他の対応するスペースも変更します.