Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
まあ要はこうしたいということですね。 とは言え普通のセレクトボックスのようにemptyを指定しても、こんな感じにしか指定できません。 echo $this->Form->input('誕生日', array( 'type' => 'date', 'dateFormat' => 'YMD', 'monthNames' => false, 'empty' => '選択してください', )); echo $this->Form->input('誕生日', array( 'type' => 'date', 'dateFormat' => 'YMD', 'monthNames' => false, 'empty' => array('year' => '年', 'month' => '月', 'day' => '日'), ));
CakePHP 3 で コントローラ が実行されるまでのプロセス、 前処理 がどうなっているのか気になって調べました。 予想以上に追いかけるのが大変だったので簡単に済ませたところがいくつもあります。 きっとこの記事を読むのも大変だと思います。 環境 PHP 5.5.9 cakephp/cakephp 3.0.9 Ubuntu 14.04.2 LTS まずサーバを起動します。 “php bin/cake.php server“。 サーバがリクエストを受けて CakePHP 3 が HTML を生成するとき、 まず最初に webroot/index.php が実行されます。 まず index.php の中を見てみます。 index.php <?php /** * The Front Controller for handling every request * * CakePHP(tm) :
Containable ビヘイビアをもっと理解したいと思いましたの。 Containable — CakePHP Cookbook 2.x documentation なんとなくわかるのですけれども、実際に体験したいと思いましたので、自分人のためのチュートリアルを本投稿で実施したいと存じます♪ Containable ビヘイビアでできることまとめ 深い階層のデータを取得できるのではなく、取得したいモデル、モデルのカラムのデータを指定することができる。 逆に、モデルを記述しないことで取得したくないデータを除いて取得することができる。 単一のモデルに設定したアソシエーションのデータだけではなく、アソシエーションをたどってつながりのあるモデルのデータを取得することができる。 試した環境 以下の環境で、予め CakePHP をインストールしておきました。 CakePHP 2.5.4 PHP 5.4
スポンサードリンク CakePHP CakePHPはルールに従って テーブルのカラム名を付けます。 そのおかげでアソシエーションした時に 自動でカラムをつなげてくれるのですが、 基本は1テーブルに1つの外部キーです。 しかし、2つの外部キーがあって それぞれ参照先が同じテーブルの主キーだった場合の方法です。 スポンサードリンク モデルのアソシエーションでカラムを指定 モデルにアソシエーションを書くときは 基本、モデル名を書くだけで 自動に「テーブル名_id」でテーブルをつなげてくれます。 しかし、2つの外部キーがあって それぞれ参照先が同じテーブルの主キーだった場合は 「テーブル名_id」ではなく別の名前でカラム名を付けます。 そして、アソシエーションするときにカラムを指定します。 (例) Userモデル(usersテーブル)のidを Messageモデル(massagesテーブル)のse
カテゴリー C++ (3) DB (190) MySQL (11) PostgreSQL (184) PostgreSQL-データ抽出 (68) PostgreSQL-トラブル (9) PostgreSQL-全文検索 (11) PostgreSQL-運用保守 (50) PostgreSQL-関数 (41) SQLインジェクション (3) ソート (1) Excel (11) Excel VBA (1) Illustrator (54) Internet (2) Java (2) Java-Eclipse (1) Linux (45) Linux-シェルコマンド (8) Network (3) Network-Windows (1) Photoshop (69) Tera Term (2) TOOL (1) WEB (1,163) .htaccess (46) Ajax (17) Apac
<?php App::uses('Component', 'Controller'); class HogeComponent extends Component { public $components = array('Auth'); public function fuga() { return $this->Auth->user(); } } コンポーネントでコールバック関数 コンポーネント内で以下の関数を指定してあれば、当該コンポーネントを読み込んだコントローラー内で勝手に呼ばれる。 順番としては initialize -> startup -> beforeRender -> shutdown public function initialize(Controller $controller) { // コントローラのbeforeFilterの前に呼ばれる } public f
$ bin/cake console Welcome to CakePHP v3.1.0 Console --------------------------------------------------------------- App : src Path: /path/to/CakePHP/tutorials/bookmarker/src/ PHP : 5.5.19 --------------------------------------------------------------- You can exit with `CTRL-C` or `exit` Psy Shell v0.5.2 (PHP 5.5.19 - cli) by Justin Hileman >>> 1 + 3 => 4 >>> echo('<>'); <> => null >>> h('<>'); =
※ページが正常に表示されない場合 AddBlockなどの広告ブロックツールがONになっていると、ページの一部が表示されないことがあります。これらのツールをOFFにしてみてください。
Deployerというデプロイツールを使って、CakePHPのアプリケーションを複数台のサーバへデプロイするときにハマった話。Deployerに限らずデプロイツールなら何でもあり得る話だと思う。 Webサーバをスケーラブルな構成にした時に、セッションやキャッシュ情報などを共有して使いたいので、RedisやMemcachedのキャッシュエンジンを使用すると思うけどCakePHPの一部の情報は 共有させてはいけない ということが分かった…。 cake_core は各サーバでキャッシュする Config/core.phpの下の方にキャッシュに関する記述があるけど、デフォルトで存在している_cake_core_。こいつは複数台で共有してはいけない。 cake_core の中身 "a:67:{s:9:\"Configure\";s:82:\"/var/www/example.com/releases
{ "name": "example-app", "repositories": [ { "type": "pear", "url": "http://pear.cakephp.org" } ], "require": { "cakephp/cakephp": ">=2.6.4,<3.0.0" }, "require-dev": { "phpunit/phpunit": "3.7.37", "cakephp/debug_kit" : ">=2.2.4,<3.0.0" }, "config": { "vendor-dir": "vendors/" }, "extra": { "installer-paths": { "./plugins/{$name}/": [ "cakephp/debug_kit" ] } } } 現在CakePHP2系の最新版が2.6.4なので、requireにてバージ
テスト¶ CakePHP はテストの包括的なサポートが組込まれています。CakePHP は PHPUnit のための統合が付属しています。PHPUnit が提供する機能に加えて、CakePHP は簡単にテストするために いくつかの追加機能を提供しています。このセクションでは、PHPUnit のインストールからユニットテストの はじめ方、そして、CakePHP が提供する拡張機能について説明します。 PHPUnit のインストール¶ CakePHP のテストフレームワークは、PHPUnit を基礎としています。PHPUnit は、PHP での ユニットテストのためのデファクトスタンダードです。それはあなたが思い通りのコードを確実に書くための、 深遠で強力な機能を提供します。PHPUnit は PHAR パッケージ や Composer のいずれかを使用してを介してインストールすることができま
Behat(Bddプラグイン)とSeleniumでJavascriptのアラートをチェックする方法がやっとわかったので、メモ。 情報はボチボチでていたものの、タイトルに有るような環境でのビッタリな答えが見つけられなかったので、自分なりに試行錯誤した結果です。 結果から言うと、「テストは可能だがちょっと無理やり感がある」って感じでした。 Selenium2だけだと、Javascriptのアラート関係に対応していなかったので、 ヘッドレスブラウザのPhantomJSで実現します。 インストールするもの Behat Mink Selenium2WebDriver PhantomJS 手順 1 初期化します
class User extends AppModel{ $virtualFields = ['name' => 'concat(User.first_name, " ", User.last_name)'];
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く