ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

CakePHP3.x

【CakePHP3.x】FlashComponentのメッセージが表示されない

タイトルだけではよくわかんないね。 _something($id, $function); $this->render('edit'); } private function _something($id, $function) { // ... $this->Flash->success(__('success!')); // ... } // ... とあるControllerの中に↑のよ…

【CakePHP3.x】AuthがかかったController::Actionをテストしようとしたらハマった

ログ残し。 qiita.com ここを参考にテストを実行する。 session([ 'Auth' => [ 'id' => 1, 'email' => 'xxx@gmail.com', 'password' => 'Lorem ipsum dolor sit amet', 'created' => '2017-01-31 14:43:15', 'modified' => '2017-01-31 14:43:15' ] ]); } pu…

Behaviorの名前空間を変更しようとしたら、できませんでした。

Controllerも階層深くできるし、いけるっしょと考えていました。 試す とあるTableクラス addBehavior('Register', [ 'className' => 'App\Model\Behavior\Users\Register' ]); // ... ディレクトリとnamespaceを変更したBehavior

【CakePHP3.x】PhpStormにてPHPUnitをデバッグしたときのエラー

環境 PhpStorm 10.0.4 PHPUnit 5.7.4 PHP 5.6 $ sw_vers ProductName: Mac OS X ProductVersion: 10.11.6 BuildVersion: 15G1212 'TMP'が定義されていない Use of undefined constant TMP - assumed 'TMP' なんぞこれ? コードを追っていくと、下記コードで…

【CakePHP3.x】Unable to emit headers. Headers sent in file=... line=xxx

今回jsonを返すapiを用意した。前にこのブログでも記事を書いたことがある。 www.aipacommander.com

【CakePHP3.x】query builderを使った複数条件のwhere

便利になったんだろうけど、最初の壁は乗り越えづらい。 ちとハマったので、昔みたいに軽くメモ。 cakephp3.xはquery builderが一新されている。色々方法があるとは思うが、情報探すの大変。 一番はリファレンスを見ることがだが、基礎なので、応用を考えな…

【CakePHP3.x】TableクラスでEnumを使う

DBでステータスのフィールドを用意した場合、0とか1とかでフラグを用意するんだけど、それじゃいまいちよくわからない。 なので、定数にして、DELETEとかCANCELとか名前を付けれるようにする。 CakePHP2.xでは、~/Config/const.phpってファイルを作成して、…

【CakePHP3.x】既存のデータベースからマイグレーションファイルを作成する

ドキュメントちゃんと読もう。。。 Migrations $ ./bin/cake bake migration_snapshot Initial (既存のDBから)マイグレーションファイルできたぁああああああああああ!!

【CakePHP3】認証が必要なActionでのテスト

公式のサイトを見たらありました。 Testing - 3.10 session([ 'Auth' => [ 'User' => [ 'id' => 1, 'email' => 'test2@gmail.com', 'password' => 'Lorem ipsum dolor sit amet', 'created' => '2016-08-31 00:44:23', 'modified' => '2016-08-31 00:44:23' …

【CakePHP3】phpunitでテストしてみた

CakePHP2では結構お世話になりました(不具合の方向で。。。) CakePHP3ではすんなりいくかな?と思っていたけど、ダメでした。むー。なんででしょう? とりあえずphpunitインストール composerでインストールしました。 $ composer require --dev phpunit/p…

【CakePHP3】Componentで呼び元のControllerのインスタンスを利用

initialize()で、$this->_registry->getController()を使えばいける。 controller = $this->_registry->getController(); parent::initialize($config); } 動的にインスタンスを追加したら、それを他のメソッドで使えるようになった。 controller->a…

【CakePHP3.x】Auth Componentのセッションが切れた時にAjaxされたら、JavaScript側でリダイレクトさせるためのBeforeFilterを書く

タイトル長い タイトル通りの話。 Authのセッションが切れた後にAjaxでアクセスするとエラーが返ってきて、それ以上動作できない。 さらに、エラーのviewも返り、なんかキモいので、自分で作成したエラーメッセージとリダイレクトURLをJSONで渡せないかなと…

【CakePHP3】Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails ~

なんかエラーが発生 SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`a-curation`.`post_metas`, CONSTRAINT `post_metas_ibfk_1` FOREIGN KEY (`id`) REFERENCES `posts` (`id…

【CakePHP3.x】jsonを返すapiを作りたい

追記 2016/12/22 この記事うまくいかないかもしれません。 でかいデータを入れると何故かうまくいかないことが増えました。 www.aipacommander.com ↑のほうがいいかも。追記終わりです。 teratail.com これの$this->autoRender = false;を使ったほうでやりま…

CakePHP3でPluginを自作しようとしてハマる

プラグイン チュートリアルを見ながらやったのね。 $ ./bin/cake bake plugin TestPlugin # bakeでpluginディレクトリを作成 $ ./bin/cake bake controller --plugin LoadAssets Test # bakeでcontroller作成 $ ./bin/cake bake component --plugin LoadAsse…

【CakePHP3】ViewでRouterクラスを使うにはuseを使って呼び出さないといけない

CakePHP3を使って、CakePHP2みたいに普通にコーディングしていると。。。 Router::url in view generates fatal error: class not found え? まじ? クラスなくなったんかないな。」と驚いて検索したところ。 github.com You are missing a use statement. …

CakePHP3をインストール

(前もやった気がするけど。。。) 全然覚えていなかったのでメモ 環境 mac $ sw_vers ProductName: Mac OS X ProductVersion: 10.11.5 BuildVersion: 15F34 el capitanです。 php5.6をインストール phpbrewやphpenvとかでインストールしようとしたらapxsで…