Skip to main content
akenotori
Participant
October 17, 2020
Question

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

  • October 17, 2020
  • 2 replies
  • 431 views

お世話になります。

 

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

 

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

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

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

 

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

 

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

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

This topic has been closed for replies.

2 replies

r360studio Kazue Mori
Community Expert
Community Expert
October 19, 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-preferences.ug.html#PHP

 

こちらで、該当箇所を調べるための簡単なプログラムを通したところ、サイト設定が「PHP5.6」ではこのエラーが表示され、「PHP7.1」ならこのエラーは表示されませんでした。

 


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

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

(^_^)

Inspiring
October 18, 2020

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

 

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

 

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