ThinkPHP5.1ラーニング--コントローラ定義


一.コントローラ定義
  • コントローラ、すなわちcontrollerであり、コントローラファイルはcontrollerディレクトリの下に格納される.
  • クラス名とファイル名の大文字と小文字は一致し、アルパカ式(頭文字大文字)を採用している.use think\Controller; class Index extends Controller
  • はコントローラのベースクラスを継承し、機能をより便利に使用することができるが、必要ではない.
  • システムは、継承せずに同じ機能を完了する他の方法も提供している.
  • の前に、class Indexのような単語であれば、頭文字が大文字であることを知っています.
  • URLアクセス時に直接public/indexでよい.
  • では、class HelloWorldなどの2文字の組み合わせが作成された場合.
  • URLアクセス時:public/hello_world;
  • URLにそのままアクセスしたい場合は、プロファイルの自動変換を閉じる必要があります.url_convert’ => false,
  • この場合、URLアクセスはpublic/HelloWorld;
  • ルートネーミングスペースappを他のものに変更したい場合は、ルートディレクトリの下で作成できます.Envファイル;
  • 次にペアのキー値ペアを書けばいい、app_namespace=application;

  • 二.レンダリング出力
  • ThinkPHPは直接方法内のreturnが戻る方式で直接出力した.
  • はjson出力を使用し、直接json関数を採用する.
  • $data = array('a'=>1, 'b'=>2, 'c'=>3);
    return json($data);
    
  • view出力テンプレートを使用して、エラープロンプトを開き、テンプレートの作成方法を知ることができます.return view();
  • デフォルト出力方式はhtml形式で出力され、配列が返されるとエラーが発生します.
  • は、プロファイル内のデフォルトの出力タイプを変更し、jsonに変更することができます.
  • return ['user'=>'Lee', 'age'=>100];
    'default_return_type' => 'json',
    
  • 一般的に、通常のページはhtml出力で、テンプレートに使用され、AJAXのデフォルトはjsonです.
  • ベースクラスコントローラが継承されている場合、コントローラ初期化方法:initialize()を定義できます.
  • initialize()メソッドは、コントローラメソッドを呼び出す前に実行されます.
  • protected function initialize()
    {
         
    //parent::initialize();
    echo 'init';
    }
    
  • initialize()メソッドは戻り値を必要とせず、出力用PHP