示していただいたページを参考に修正したところ、うまく行きました。
名前空間についてよくわかっていなかったようです。
コントローラーは名前空間の内部なので、グローバル空間のクラスを呼び出す場合は、\が必要なのですね。
勉強になりました。
ありがとうございました。
5.7 の外部フォームのコントローラーで、PHPのDateTimeクラスが使えない
2017年8月30日 at 1:41
concrete5.7.5.13 において、外部フォームのコントローラーで下記のような記述をしました。
$dt = new DateTime('2017-5-28');
すると、次のエラーになりました。
Class 'Application\Block\ExternalForm\Form\Controller\DateTime' not found
ビューではエラーにならず、DateTimeクラスとして使えます。
サーバーのPHPのバージョンは 5.4.45 です。
ご確認をお願いいたします。
タグ:
Your post has been saved and will be published after approval by the forum moderator.
Fumito Mizuno
Re: 5.7 の外部フォームのコントローラーで、PHPのDateTimeクラスが使えない
PHPに用意されているDateTimeであれば、グローバル空間に配置されているので、
new \DateTime という形で呼び出します。
http://php.net/manual/ja/language.namespaces.global.php
もし、ご自分でDateTimeというクラスを作っているのであれば、そこの名前空間の設定がおかしいか、呼び出し方がおかしいか、だと思われます。