CakePHPでSecurityコンポーネントを使っていると、時折発生するBlackHole。 発生時はエラーログを確認するしか詳細な原因がわからないのですが、多くの場合は以下のどれかに該当するのではないでしょうか。 CSRFチェックのトークンがUseOnceなのにフォーム送信後にブラウザの「戻る」とか押してからフォームを再送した。 フォームを生成してから30分過ぎた。(トークンのデフォルト有効期限が30分) JavaScriptでHidden項目を書き換えた。 JavaScriptで入力項目を追加したり取り去ったりした。 ブラウザの戻るを想定する場合はトークンを複数回使えるように設定しなければいけません。(ただし、セキュリティー的には若干低下します) 複数回使いまわせるようにするにはControllerのbeforeFilterなどで以下のようにcsrfUseOnceをfalseにします
はじめに PDTの導入 Eclipseの起動 システム全体の設定 プロジェクトの作成 デバッグの設定 デバッグの開始 メニューに戻る はじめに (2014/06/11) 本構成を Web アプリのデバッグでも試してみたら、下記の環境では core を吐いて Eclipse が落ちてしまいました。もはや、個人的にはあまり Eclipse はオススメではありません。NetBeans を使うのが無難そうです。 例示におけるプラットフォームは VMware vSphere 上の VM に入れた CentOS 6.5(64bit)です。OSインストール時のパッケージグループとしては Software Development Workstation を選択しました。PHP 5.5 + CakePHP 2.4.4 のインストールに関してはCakePHP のインストールを参照してください。 なお、筆者がク
CakePHPチームは5.0.0が入手可能になったことをお知らせします。これはCakePHPの新しい章の始まりであり、5.0は安定版になりました。5.0.0は2年間の開発期間を経て、多数の新機能と動作改善を盛り込んでいます。また、4系で非推奨になった機能を削除するという大きな変更も含まれています。 重要な機能 PHP8.1が必要。 フレームワーク全体でタイプヒント(型ヒント)の改善。CakePHP は、フレームワーク全体で引数の型を公式化するために、ユニオン型を活用するようになりました。 PHPUnit 10.xへのアップグレード。 ORMで新たにenum型のマッピングをサポート。型チェックを改善することで、より表現力豊かなモデルレイヤーを実現しました。 名前付きパラメータを持つテーブルファインダにより、より表現力豊かなクエリ構築 API を提供。 chronos 3.xによる、時間専用の
App::uses()って何となく使っていて、何がどうなっているのかよく知らなかったので調べました。調べたのは結構前だけど。 App::uses()周りの処理の流れ App::uses()で使いたいクラスを登録する。ここでは読み込みはせずAppクラス内の連想配列に入れるだけ。 new Foo()で未定義のFooクラスを使おうとする。 __autoload()の実装として設定されたApp::load()が呼ばれ、App::uses()で登録したクラスをincludeする コードで見る public static function uses($className, $location) { self::$_classMap[$className] = $location; } https://github.com/cakephp/cakephp/blob/2.4.3/lib/Cake/Core
はじめに CakePHPで何らかのオブジェクトを操作する場合、対象となるオブジェクトの種類やどこからアクセスするかによって方法が異なる場合があり、それ以前にそもそもインスタンス化されていないことを知らずにアクセスしようと無謀な挑戦を試みたりすることがあります・・・よね?自分の経験上、始めたばかりの時はここで躓くことが結構多く、今でも分からずに調べることが多いですし、あまり使っていないと同じ事を何度も調べたりもしてしまいます。このエントリは、あるオブジェクト「に」あるオブジェクト「から」アクセスする方法について調べたものの備忘録です。 初心者のかたはどうぞ「 初心者の方へ 」にまず目を通してください。 内容は適宜追加・修正される可能性があります。 すべてCakePHP2系の情報です。1系の情報が今後追加されることはありません。 可能な限り公式ドキュメントへのリンクを張っています。日本語訳のあ
2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。本件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 本件に関する詳細は、プレスリリースをご確認ください。
CakePHPとSimpleTestの連携で以下のようなソースを書いた。 $data = array('username' => 'hogehoge', 'password' => '1234567'); $this->User->create($data); $result = $this->User->validates(); $this->assertFalse($result, 'パスワードが7文字の時はエラーになること'); んで、失敗するテストとして実行したところ、テスト結果のメッセージ(パスワードが7文字・・・)が文字化けするので調べてみたところ、cake\tests\libにあるcake_reporter.phpに問題があることが分かったので今後のためにメモ。 問題となっているのは42行目 function CakeHtmlReporter($character_set =
フォーム¶ CakePHPにFormHelperが新たに追加されました。複雑なフォームの組み立てのほとんどをこの新しいクラスで行えるようになりました。しばらくの間は(非推奨ですが)HtmlHelperにもメソッドがあります。FormHelperはフォームを素早く作成する事に焦点を置き, 効率的な検証、記述の削減やレイアウトの為の方法になります。またFormHelperは柔軟でもあります。 フォームの全てを魔法のように自動的に組み立てる事も出来る一方で、特定のメソッドだけを必要な時に利用する事もできます。 フォームの作成¶ FormHelperを活用する為にまず利用するメソッドは create() です。この特別なメソッドはフォームタグの開始タグを出力します。 create(string $model = null, array $options = array()) 全てのパラメータはオプ
CakePHP2.4(というかbaserCMS3)を触っていて、JQueryMobile(1.4.0)に用意されているフォームのUIを使おうと思った時に、ちょっと戸惑ったのでメモを残しておきます。 通常、フォームヘルパーを使ってradioボタンを出力する場合、ヘルパーの引数に選択肢をオプション(配列)として渡し、生成させていましたが、これだとJQueryMobileの仕様上の問題か、選択肢が上手くグループ化されませんでした。(横一列に並ばない) そこで、参考記事(少し古くてCakePHP1.3の情報)を参考に、CakePHP2.4でもラジオボタンを選択肢毎に個別出力する方法を利用しました。(参考記事では第2引数にnullを与え、第3引数に配列を与えていますが、このままだとCakePHP2.4でエラーが出ます。とりあえず現行バージョンでは、参考記事中に書かれている第2引数が無くなり、第3引数
Asset Compress Asset Compress is CakePHP plugin for helping reduce the number of requests, and optimizing the remaining requests your application makes for Javascript and CSS files. Features Development mode builder that rebuilds assets on each request. Command line build tool to compile static assets for deployment. Built-in support for LESScss, Sass and CoffeeScript, as well as several minifiers
PhpStormでCakePHPのコード補完を効かせる方法です。 CakePHP2系の方法です。CakePHP1系の場合はこの記事の元ネタのHwarf Nugen: Configure PhpStorm to Auto-complete CakePHP Models, Views, and Controllersをご覧ください。 CakePHPコード補完のための準備 CakePHPのコード補完を効かせるためにはまず準備が必要です。 まず以下の2つの作業を行なってください。 ConsoleとTestsディレクトリをプロジェクトの対象からはずす プロジェクトの対象から外すディレクトリは以下の2つです。 /lib/Cake/Console /lib/Cake/Test 【手順】 Ctrl+Alt+Sで設定ダイアログを開く。 Project SettingsセクションのDeployment->Di
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く