リンクをクリップボードにコピー
コピー完了
お世話になります。
PHPファイルをDreamweaver(20.2)で編集しています。
クラス内でメソッド定義する際に
PHP7から導入されている「戻り値の型宣言」をしたところ、
構文エラーが表示されます。
DreamweaverのPHPバージョンは7.1にしています。
エラー表示を解消する解決方法を教えていただきたいです。
よろしくお願いいたします。
リンクをクリップボードにコピー
コピー完了
こちらで状況をうまく再現できないのですが、以下のようにシンプルなコードや、コードの途中をコメントアウトするなどして原因を探してみては如何でしょうか。
class MyClass {
public function printHello():bool{}
}
表示されているエラーからすると、途中のコードに誤りがあるような気もしますが…
リンクをクリップボードにコピー
コピー完了
彩夏永63207012さん、こんにちは。
nmatsuo5さんがコメント頂いているのに、横から失礼いたします。
ちょっと思うところあり、自分でも本件をチェックしてみました。
まず、前提条件の確認をさせてください。
エラーメッセージ『syntax error, unexpected ':', expecting'{'』は、『構文エラー、予期せぬ ':'、期待される '{』というエラー表示です。
つまりは、functionでの':'が認識されてないということになります。
PHP7以降で、戻り値の型宣言が導入された↓ようなので、
https://www.php.net/manual/ja/functions.returning-values.php
戻り値の型宣言を使うときは、PHP7サーバーの利用が前提となりますが、このエラーメッセージがでるということは、Dreamweaverのサイト設定で認識されているサーバーがPHP7になっていないのでは?と想像します。
彩夏永63207012さんも、ここはご存じのことだと思いますので、「DreamweaverのPHPバージョンは7.1にしています。」と書き添えてくださったのだと思います。
ですが今一度、サイト設定でPHPのバージョン↓をお調べいただけないでしょうか?
(念のためです。わたしもよく、設定したつもりが設定できていなかった!ということがあり、そこが本件で気になりました。)
【Dreamweaver サイト設定のPHPバージョン設定方法】
https://helpx.adobe.com/jp/dreamweaver/user-guide.html/jp/dreamweaver/using/setting-coding-preferenc...
こちらで、該当箇所を調べるための簡単なプログラムを通したところ、サイト設定が「PHP5.6」ではこのエラーが表示され、「PHP7.1」ならこのエラーは表示されませんでした。
もし、見当外れのコメントなら、お手数をかけて申し訳ありません。
なにかのヒントになりましたら、幸いです。
(^_^)