call_user_func_array とリファレンスのコードがわかりません。教えてください。
Jun 13, 2016 pm 12:51 PM
call_user_func_array とリファレンスに関するコードがわかりません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
について説明してください。
このコードでは、call_user_func_array(array(&$this, '__construct'), $args); なぜ $this の前に参照文字 & が付いているのでしょうか?私はそのようなコードを理解したことがありません。 &を付けずに独自の__constructメソッドを呼び出すことはできないのでしょうか?追加するとどんな効果があるのでしょうか?
-----解決策--------------------------------
call_user_func_array で呼び出される関数がクラスメソッドの場合、配列を使用してクラス (オブジェクト) とメソッド名の両方を渡す必要があります
あなたの $this がオブジェクトです
php4 では、オブジェクトはデフォルトで値によって渡されます。参照宣言 (&) がない場合、メソッド内でクラス属性が変更された場合、この変更は呼び出し元自体には影響しません。 > php5 では、オブジェクトは参照によって渡されるため、先頭に &
を付ける必要はありません。
コード内でクラス属性を宣言するには var を使用します。これは明らかに php4 スタイルです
php4 クラスにはデストラクターがないため、コードは register_shutdown_function を使用して

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法

Windows 11でタイトルバーの色を変更するにはどうすればよいですか?

Windows 11/10修復におけるOOBELANGUAGEエラーの問題

iPhoneのSafariでプライベートブラウジング認証をオフにする方法は?
