私はPHP 5.6.19で書かれたPHPスクリプトを5.3バージョンで動作し、いくつかのインストールされたアドオンで動作します。PHP7。リフレクションは古いバージョンからは機能しませんPHP
私はphp7で実行しようと決めました。
Reflection::class
で新しいインスタンスを作成して、パラメータを参照してクラスを初期化するスクリプトの特別な機能です。そして、そこでは警告が参照によって変数を待っていたが、受け取った価値があった。私は私が必要なメソッドを呼び出していますこれらの後
// define manager type to create (all managers has the same constructor)
$manager = $managersNamespace . ucfirst($this->_manager) . "Manager";
// trying to create the manager
// !!!And here a Warning occurs
$reflect = new \ReflectionClass($manager);
$manager = $reflect->newInstance($user, $database, $errors);
:このコンストラクタが使用されているコードの
public function __construct($user, IDatabase &$repository, $errors = null);
サンプル:クラスの
定義コンストラクタメソッドからインスタンスを作成しようとしましたここで致命的なエラーがスクリプトを停止しました:
$method = "show" . ucfirst($this->_page) . "Page";
$reflect->getMethod($method)->invoke($manager);
私は見たことがありませんドキュメントの変更。誰もが同じ問題を抱えていた?
何かエラーがありますか? – bishop
カプラを抜いたコードスニペットの代わりに、正確な問題と、問題のみを示すSSCCEを与えることができますか? –
これはSSCCEが何であるかを推測しようとしました - http://sandbox.onlinephpfunctions.com/code/9a32f440e3939f845a9b1c26bc2f06408abbf5cd - 5.6と7.0の両方でA-OKを実行しました。あなたはそのコードを取ってあなたの実際の状況を反映してそれを修正し、それをあなたの質問の例として掲示できますか?ありがとう。 –