終了

PHP 返り値の型宣言について

New Here ,
Oct 17, 2020 Oct 17, 2020

リンクをクリップボードにコピー

コピー完了

お世話になります。

 

PHPファイルをDreamweaver(20.2)で編集しています。

 

クラス内でメソッド定義する際に

PHP7から導入されている「戻り値の型宣言」をしたところ、

構文エラーが表示されます。

 

スクリーンショット 2020-10-17 18.04.17.png

DreamweaverのPHPバージョンは7.1にしています。

 

エラー表示を解消する解決方法を教えていただきたいです。

よろしくお願いいたします。

キーワード
Code , エラー

表示

263

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
支持者 ,
Oct 17, 2020 Oct 17, 2020

リンクをクリップボードにコピー

コピー完了

こちらで状況をうまく再現できないのですが、以下のようにシンプルなコードや、コードの途中をコメントアウトするなどして原因を探してみては如何でしょうか。

 

class MyClass {
 public function printHello():bool{}
}

 

表示されているエラーからすると、途中のコードに誤りがあるような気もしますが…

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Oct 18, 2020 Oct 18, 2020

リンクをクリップボードにコピー

コピー完了

最新

彩夏永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」ならこのエラーは表示されませんでした。

 

NG.jpgOK.jpg


もし、見当外れのコメントなら、お手数をかけて申し訳ありません。

なにかのヒントになりましたら、幸いです。

(^_^)

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines