cakephp
今こんなバージョンなんだね github.com
book.cakephp.org database.phpにこんな感じのクラスを書ける。クラスをかけると言うことは、コンストラクタも書けるので、なんかラッパーしたいときはコンストラクタに追加実装することもできる。 class DATABASE_CONFIG { public $default = array( 'datas…
3.9.8 以下のような2種類のConsole Commandがあって、片方がもう片方をexecで呼び出しているようなコードがあったとして、 log('THIS IS FOO I…
www.php.net __constructは、newしたら絶対呼ばれる 普通はloadComponent的なやつでComponentを呼び出すけど、new Componentした場合はconstructしか呼ばないが、2はconstructの中でinitializeを実行しないが、3は__constructの中でinitializeを実行している…
キャッシュに書き込むときはCache::writeをつかえばいいんだけど、 CakePHP ORM で作成したクエリーの結果をキャッシュする場合は、 ロードされた結果をキャッシュする セクションで説明しているように、Query オブジェクトのビルトインキャッシュ機能を使用…
github.com 独自ErrorHandlerでcomposerからインストールできるやつはbootstrap.phpにErrorHandlerを追加でregisterすることで独自ErrorHandlerを利用できる。 試し切れていないけど、new registerは複数行書くことができるので、ErrorHandlerを多種類呼び出…
ディレクトリが微妙に違うだけで、ISOコードがディレクトリ名なのも変わらなければファイル名がdefault.poなのも変わらない。 book.cakephp.org book.cakephp.org
book.cakephp.org book.cakephp.org $token = $this->Security->Session->read('_Token'); $token = $this->request->getParam('_csrfToken');
ACL 関連クラスは、別のプラグインに移動されました。PasswordHassher, Authentication および Authorization プロバイダは \Cake\Auth 名前空間に移動されました。 あなたのプロバイダとハッシャーも同様に App\Auth 名前空間に移動する必要があります。 bo…
2.xのApp::buildは、各パッケージの場所を設定するためのもの。3.xではApp::buildはなくなった。composerのclasspathがかわりにうまいことやってくる(はず)だから。 この例だとControllerはまず/full/path/to/Controller/のほうを見に行って、なかったら/ano…
Application.phpのbootstrap()がやってること。 アプリケーションの低レベルな関心事を設定するために使用する config/bootstrap.php ファイルに加えて、 プラグインのロードや初期化、グローバルイベントリスナーの追加のために Application::bootstrap() …
こんなピュアなSQL文を叩くことあるのかなって思うけど、DB接続してクエリ叩くだけならありうるかも。 2.x $this->Picture->query("SELECT * FROM pictures LIMIT 2;"); 3.x use Cake\Datasource\ConnectionManager; $connection = ConnectionManager::get('…
2.x AuthComponent::$sessionKey 3.x // ソースコードを読む限りは以下のいずれかでいけるっぽい。 $this->Auth->__get('sessionKey'); $this->Auth->storage()->getConfig('key'); book.cakephp.org
viewPath - templatePath に置き換え book.cakephp.org
skipLogは2.xでも3.xでも変更はない。でも書き方としては3.xは全部書かないといけなくなった。 book.cakephp.org
book.cakephp.org github.com 3.xのブランチに切り替えてツールを実行したところでnamespaceなどが追記されるだけでindex.phpとか根本的なところは何も変わらないので、プレーンなプロジェクトを作成して、もとのコードをすこしずつ移植していくしかない。移…
このメソッドはコントローラに必要とされるモデルをロードします。 モデルをロードするプロセスは通常 CakePHP によって行われますが、 このメソッドは別の視点からコントローラにアクセスする時に便利です。 コマンドラインスクリプトまたは何かしらの外部…
2.x // モデル名のString echo $this->Form->create('Recipe'); 3.x // $articleはEntityクラス echo $this->Form->create($article); 2.xみたいに第一引数にstringを入れたらエラーが出る。3.xだと、第一引数はnullでもいい。 book.cakephp.org FormHelper -…
2.xにあったモデル共通クラスのAppModelは3.xじゃ廃止されたっぽい。 ModelがTableとQueryに分離したからしょうがないかもね。 Tableを継承してAppTableみたいなことをしてくれってコメントがあった。 github.com
PhpReader→PhpConfig 特定の設定ファイルを読み込ませたいときにつかうPhpReaderは3じゃPhpConfigになる。new PhpConfigするのはPhpReaderからいっしょ。 book.cakephp.org
loginActionとかloginRedirectとかはプロパティに直設定するのではなくsetConfigをつかう book.cakephp.org
CakePHP 2.x アプリケーションから移行するときに、小文字とアンダースコアーによる URL が必要であるなら、 InflectedRoute クラスを代わりに使用できます。 デフォルトはDashedRouteで、ルーティングはハイフンがベースになる。 routes.phpをいじる。 Rout…
2.xにあったAppHelperは消えた。UrlHelperが一部機能を代替しているっぽい。 github.com
3.4とか3.6あたりから、プロパティを直接参照しないで、関数名set/getで始まるものを使うように推奨され始めている気がする。 3.4の例。 Request::$data は非推奨です。代わりに Request::getData() を使用してください。 Request::$query は非推奨です。代…
内容 2.x 3.x initialize function initialize(Controller $controller) function initialize(array $config) book.cakephp.org
cakephp/TableLocator.php at 3.x · cakephp/cakephp · GitHub 内容 2.x 3.x モデル呼び出し $uses TableRegistry::getTableLocator()->get TableRegistry::getTableLocator()->getのときにすでに定義されたインスタンスがないかどうかチェックしているっぽ…
Fix Text file busy errors when deleting directories. Unsetting iterator references helps releasing possible locks. src/Cache/Engine/FileEngine.php ファイルを消すときにtext file busyになることがあるらしい。
Inflector::slug 特殊文字(おそらくマルチバイト文字)をラテン文字に変換する。テストコードを見ると、ギリシア文字とか、日本語、ハングルも含まれていた。 https://book.cakephp.org/2/ja/core-utility-libraries/inflector.html https://book.cakephp.org…
502 Bad Gateway1. app/controllers/components/に、以下のような感じで書く 2. app/app_controllers.phpに、以下のように記述する var $components = array('Hoge', 'Session'); なお、コントローラの beforeFilter() メソッド…
使い方もよく分からなかったので小さなメモです。 beforeで始まるやつや、afterで始まるやつは、基本的に モデルに備わっているメソッドで、 before系はそのメソッド(saveやfind)が実行される前に呼び出される関数で、 after系はそのメソッド(saveやfind)が…