--> -->
これは、Laravelを使った開発の中で気づいた事を毎日一つメモしていくものです。
以下のコードにおいて、php5とphp7で挙動の違いがありました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
>php test.php test! test2
>php test.php test! PHP Notice: Array to string conversion in F:\test.php on line 8 PHP Stack trace: PHP 1. {main}() F:\test.php:0 PHP 2. test->__construct() F:\test.php:17 : PHP Fatal error: Uncaught Error: Function name must be a string in F:\test.php:8どうやら変数が配列の場合、php7だと「$this->$method」で一旦区切って解釈するようです。
- $this->$method[0](); + $this->{$method[0]}();これでphp5でも7でも動作するコードになりました。