CakePHP 3 で躓いたところをメモ書きしていく
-
日本語訳のドキュメントが僅かしかない。(CakePHP 2で賄える?)
-
コントローラで任意のモデルが複数使えない?
-
フォーム helper が使いづらい。(Datetime ではなく Date)が欲しい。
-
フォーム helper の日付フォーマットは固定?桁数を合わせることができない。
-
メソッドのオプションが配列だったり、そうでなかったり、統一感がなさそう。
-
チュートリアルでControllerからViewへの変数のセットについて、compactと_serializeが使われているが、説明がない。
-
Timeクラスで曜日の取得が分からない。PHPの標準DateTimeクラスの使い方がドキュメントでサポートされていない。い。
-TimeクラスのフォーマットがICU dateになっている。ICU dateの曜日は添字が「1」から始まる。つまり、日曜日は「1」である。PHPのDateTimeクラスと異なるので注意。 -
ACLどこいった?
-
認証コンポーネントを使用するとUserControllerがアクセス不可になる。自壊?。UserController以外は大丈夫そうだ。
-
CakePHP は認証コンポーネントと相性が悪い。
-
CakePHPの認証コンポーネントは、認証に使用するテーブルは認証制限ができない仕様かな。(CakePHPが考える認証って、何を指しているんだろう?)
-
Form HelperのLabelオプションはinputメソッドだけ有効。他のメソッドでは無効化されている?
-
Themes を設定すると、コントローラが行方不明になる?bake plugin で CakePHP が自壊?Eclipseが破壊している?Themes が機能していない?
-
Themes はplugins以下のcssファイルを読み取って、スタイルタグに出力する方式。htmlテンプレートを適用しようとすると、cssのimport機能が使えない。
-
Form Helper でLabelタグがオプションとそうでないタグがある。ちょっと不便?統一感がない気がする。
-
Form Helper で日付(date)や時間(time)に「セパレータ」って欲しくないですか?
-
bin/cake でロケールファイルを作成すると拡張子がマニュアルと異なるため機能しない
-
pluginのテーマでロケールが機能しない
-
CakePHP+Composerで自分のアプリのインストールはどうするんだ?
-
CakePHP 3のMemcachedはGAEでは動作しないのでApc*を使う。CakePHPの行儀が悪い?
-
**CakePHP 3のEngineでGAEのCloudSQL(
第1世代、第2世代)に接続できない。**CakePHPの行儀が悪い? -
Security コンポーネントのバグ?formヘルパー使わずにhtml5のinputタグを使うと、フォームデータがブラックホール行きになる。カスタムformヘルパー必須?Security コンポーネントの設定を変更してもブラックホール行き。
add.ctp<input type="time" name="example_time" id="example_time">
ExamplesController.phppublic function beforeFilter(Event $event) { $this->Security->unlockedFields = [ 'example_time', ]; $this->Security->validatePost = false; }
-
(自信ないけど)命名規則に沿ってクラス名・ファイル名を決定しているが、使用できない?単語がある。ローカル(Microsoft Windows)では問題ないけど、GAEでは、ファイルが見つからないと言われた。(この時はWeeklyReportsでした)
-
Themes機能は、(たぶん)cssファイルを読み取って、styleタグに出力することで実現しているため、無料のテンプレートによるレスポンシブデザインが機能しなくなっている。この機能は、パソコンでしか使えない?
-
Elementディレクトリに任意のディレクトリで階層を作ると、GAEではFile not foundが発生する。GAEには、ディレクトリ階層の概念がない?
-テンプレートで配列変数に直接アクセスできない?配列変数はループしなければならない?DBから取得はできるけど、テンプレートに展開できない?データ取得後にどうするかマニュアルに記載が見当たらない。(ResultSetの説明が見当たらない)index.ctp<?= $examples[0]->name ?>
ExamplesController.phpdebug($examples);
debug関数でitemsメソッド?プロパティ?に(で)データを取得できそうにみえるが、itemsは実在しない?
- Tutorialのままだと、常時パスワードを取り出して持ち歩くことになる。問題あり?