エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法

      2017/10/28

CakePHP3のチュートリアルの「ブックマークチュートリアル」のエラー

 

CakePHP3のチュートリアルの「ブックマークチュートリアル」

 
CakePHP3には、CakePHP3を使ってプログラムを開発する仕組みを理解するためのチュートリアルが用意されています。
その一つに「ブックマークチュートリアル」があります。
https://book.cakephp.org/3.0/ja/tutorials-and-examples/bookmarks/intro.html
 
 
そのチュートリアルを読みながら、その中にある「カスタム Finder メソッド」のリンクについて調べていました。
 
その際、「データの取り出しと結果セット」の「データのロードに Finder を使う」について調べている際、下記のコードがありました。
 

 
URLとしては下記になります。
https://book.cakephp.org/3.0/ja/orm/retrieving-data-and-resultsets.html#finder
 
 
実は、これをこのまま実行すると下記のエラーがでます。
 

 
 
「DateTime」がないということでしたので、下記の「日付と時刻」を調べ、
https://book.cakephp.org/3.0/ja/core-libraries/time.html
 
下記のクラスを呼び出す宣言を追加しました。
 

ですが、改善しませんでした。
 
 
CakePHP3では、namespace(名前空間)が使用されるようになりましたので、下記の様に記述をしても DateTimeがありません(’App\Controller\DateTime’ not found)のエラーが出るようになってしまっています。
 

 
 
この対応をするためには「DateTime」の前に「\」を編集して、下記の様にする必要があります。

 
CakePHP3のチュートリアルの「ブックマークチュートリアル」の場合は、先に表示したプログラムの 3行目を下記の様にする必要があります。
 

 
 
もしくは、プログラムの最初に下記の宣言をする必要があります。

 
 
ちなみに、下記のページには「new DateTime(‘2014-01-01’)」のような表記が 7ヵ所ありますが、正しく「\」が編集されているのは 1ヵ所だけのようでした。
 
データの取り出しと結果セット
https://book.cakephp.org/3.0/ja/orm/retrieving-data-and-resultsets.html#finder
 
CakePHP3のドキュメントは整備されていないところもありますので、まだまだこれから、という感じでしょうか。
 
 

CakePHP3の関連記事

CakePHP3でデフォルトのソート条件を設定してユーザの選択肢たソート条件を有効にする方法
CakePHP3で Ajaxを使う方法の解説。3.6以降対応。Successとthenの両方を解説。
CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説
CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説
CakePHP3のOGPはHTMLヘルパーの$this->Html->meta()を使って設定
CakePHP3でkeywords、DescriptionをHTMLヘルパーを使って設定する
CakePHP3で環境変数を設定して本番環境と開発環境を分けて処理をする場合
CakePHP3でCookieを保存、呼び出し、削除の操作・CakePHP3.7対応
CakePHP3でアソシエーション先のカラムでデータをソートして取得したい
CakePHP3のdatetime型カラムの日時の扱い。秒まで正しく表示する方法
 
その他の「CakePHP3」に関する記事一覧
 
 

 - CakePHP 2.x 3.x

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

CakePHP3で画像・ファイルのアップロード処理を自作・解説付き・その2
CakePHP3で画像・ファイルのアップロード処理を自作・解説付き・その2

ファイルのアップロード機能の自作サンプルコードとその解説のその2。アップロード機能に関連するファイルの更新や削除の処理や画像、フォルダのパスの指定方法などを含めて解説。

CakePHPを学ぶ際にはオブジェクト指向を学ぼう

CakePHPはオブジェクト指向で書かれていますので、CakePHPを学ぶにはオブジェクト指向も学びましょう。

MySQL、CakePHP 2.3で「tinyint(1)」の Boolean型の動作を再確認

MySQL+CakePHPの環境で「tinyint(1)」を利用する際の動作を検証。「tinyint(1)」の Boolean型について CakePHPでは自動処理が実施されていることを確認しました。

CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説
CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説

CakePHP3でパンくずの指定方法の解説。2つのヘルパーがあるが簡単なHTMLヘルパーを使った方法を、実際の状況に合わせて3つのパターン(エレメント化、ブロック化)にして解説。

CakePHP3のデバッグキット(DebugKit)を強制的に有効、無効に変更する方法
CakePHP3のデバッグキット(DebugKit)を強制的に有効、無効に変更する方法

CakePHP3に付属しているデバッグのためのツール、デバッグキットを強制的に有効化、無効化する方法を解説。初期設定では開発環境としてありそうなドメインの場合のみ有効になるように設定されている。

CakePHP3のUpload Plugin 3.0をバリデーションなど実運用向けのカスタマイズ方法解説・その2
CakePHP3のUpload Plugin 3.0をバリデーションなど実運用向けのカスタマイズ方法解説・その2

CakePHP3でファイル、画像をアップロードするプラグイン、upload plugin 3を導入する手順を解説した記事。3部作のその2でバリデーションなどの実用的なカスタマイズ方法を解説。

CakePHP 2.3でファイルをアップロード・その2 ファイル名を乱数で設定

CakePHPのアップロードするファイル名を乱数で変更しセキュリティを高める方法を解説。

CakePHP 2.3 主キー(ID)以外のキーで更新方法 updateAll

主キー(ID)以外のカラムをキーとして更新する方法、updateAllの使い方をサンプルを用いて解説します。

CakePHP3のメッセージ日本語化の設定(国際化と地域化の機能の使い方の解説)
CakePHP3のメッセージ日本語化の設定(国際化と地域化の機能の使い方の解説)

CakePHP3の英語のメッセージを日本語化(多言語化)する手順を解説。オリジナルのメッセージを作成する方法やプログラムで文言を追加する場合の対応なども解説。

CakePHP 2.3 Search Pluginで検索処理 その3入力エリア一つで複数の項目を同時に検索する方法

CakePHPの検索プラグイン Search Pluginの検索処理の中で入力エリア一つで複数の項目を同時に検索する方法を解説。