cakephp2.doc_030
最終投稿日:2019年11月20日
【命名規則】
ファイル名はキャメル方式
例)
TestsController.php
【クラスの定義】
<?php
App::uses('AppController', 'Controller');
class コントローラー名 extends AppController {
public $name = "Tests"; //コントローラ名の複数形
public $uses = array('User'); //仕様テーブルは単数形
public $components = array();
public $helpers = array();
※「var」の代わりに「public」とも記述できる
public function beforeFilter(){
parent::beforeFilter();
}
public function アクション名() {
最初にある「App::uses」というのは、
CakePHPに用意されているライブラリをロードするためのものです。
CakePHPではさまざまな機能が用意されていますが、それらを利用する場合にこれを使います。
書式)
App::uses( クラス名 , パッケージ名 );
例えば上記の例では、クラスを定義するのに「extends AppController」と
「AppController」を継承しています
このため、「AppController.php」を事前に読み込む必要があります。
「AppController.php」は、『Controller』ディレクトリにあるので
App::uses( ファイル名 , ファイルがある場所 )と記述しています
【メモ】
cakephp2.x系からは『AppController.php』や『AppModel.php』等は必ず
『Controller』『Model』ディレクトリの中に設置する必要があります
【外部ファイルの読込】
外部ライブラリは /app/Vendor/ に放り込んで、App::uses() or App::import()
を使いインポートするが、ライブラリによってインポート方法が違う。
・ライブラリがクラスの場合は App::uses() を使う。
・ライブラリがクラスではない場合は App::import() を使う。
【 App::uses() 】
App::uses('Pager','Vendor');
サブディレクトリがある場合は以下のようにVendor部分を編集する。
App::uses('Pager','Vendor/sub_dir');
【 App::import() 】
以下のようにApp:uses() とは引数が逆になっている。
App::import('Vendor', 'simple_html_dom');
サブディレクトリがある場合は以下のようにライブラリ部分を編集する。
App::import('Vendor', 'tcpdf/tcpdf');
【色々関数】
redirect リダイレクト
例)
return $this->redirect(array("action"=>"insert"));
render 他のビューを呼び出す
例)
//エレメンツの中のファイルを呼び出す
(adminルーティングは、そのまま「admin_index」の様に記述する)
$this->render('/elements/ajaxreturn');
return;