PHP メンバー メソッドでカスタム関数を作成できますか?
メソッド内で関数を定義しましたが、呼び出し時にエラーが報告されました
これがエラーを報告したメソッドです
エラーは次のように報告されました
ただし、関数を作成して再帰を実行する別のメソッドもありますが、エラーは報告されません。
これはこれら 2 つのメソッドを呼び出すためのインターフェースです
エラーが報告されるのはなぜですか?誰かそれを説明するか、それに対処する良い方法を持っていますか
PHP メンバー メソッドでカスタム関数を作成できますか?
メソッド内で関数を定義しましたが、呼び出し時にエラーが報告されました
これがエラーを報告したメソッドです
エラーは次のように報告されました
しかし、関数を書いて再帰を実行する別のメソッドもありますが、エラーは報告されません。
これはこれら 2 つのメソッドを呼び出すためのインターフェースです
エラーが報告されるのはなぜですか?誰かそれを説明するか、それに対処する良い方法を持っていますか
カスタム関数をクラスのメンバー メソッドとして記述してみてはいかがでしょうか?
ありがとうございます。ここで報告したエラーは、他の場所でも getTree 関数を定義しているためです。このエラーは、それが繰り返し定義されていることを意味します。
おそらく次のような、より良い選択肢の PHP クロージャもあります:
リーリー公式ドキュメントはこちらをご覧ください。わかりやすいです: http://php.net/manual/zh/func...
getTree 関数はすでに LabelController で定義されているため、繰り返し定義することはできません。
php の関数 (クラスメソッドではない) はすべてグローバルです。つまり、グローバルに定義しても関数内で定義しても、グローバルとみなされます (これは js とは異なります。混乱しないでください)。
phpは関数のオーバーロードをサポートしていない(つまり名前が重複しない)ため、関数の繰り返し宣言は許可されていません(オーバーロードに関してはクラスで実装できますが、意味が全く異なり、エラーのような感じです)操作機能、それはただ使われています。親切な表示ですが、個人的には役に立たないと思います)。