私のアプリケーションは、関数からなるクラスを使用します。通常、関数は "return $ var"を使用してその結果を返します。私は疑問に思っていますが、 "返す"の代わりに私は結果を (配列)から直接関数内でエコーしますが、それは受け入れられますか?ちょうどいくつかのケースでは、それは私にとってより便利です。ありがとう。クラス内でのPHP関数の使用
答えて
アプリケーションの「ロジック」部分とその「表示」部分を分けたほうがよいです。
あなたのメソッドに "return"を残し、結果をウェブサイトの "font-end"部分にエコーする方が良いと思います。
P.S. MVC design pattern :)アプリケーションを論理的に分割する方法を理解することは本当に良いことです。
実際には、大部分のWebアプリケーションがこれらの組み合わせを使用すると期待しているエコーやその他の関数/メソッドを持つことは間違いありません。
しかし、私は次のことを検討したい:
あなたはおそらく、「出力」機能(すなわち:エコー機能)の数を維持したいと思う少ない領域があるように最小限に
機能の計算または「実行」の部分を出力から分離するようにしてください(非常に基本的な懸念事項の分離それはあなたのレベルです)。
ただし、クラスの柔軟性と移植性が低下する可能性があります。あなたや他の人が結果の配列を取得し、それが表示される前に(またはいくつかのキー/値)操作したいとしたらどうなりますか?
いつでも移植性を考えてください。あなたが書いたときにあなたが使っている方法以外の方法であなたの機能が使用される可能性がある場合は、できるだけポータブルにしてください。
まあ、配列をエコーすると、PHPの文字列Array()
が出力されます。
あなたが意味するのは、関数内からその配列の結果をエコーすることですが、それは許容されますが、実際には推奨されません。理論的に関数は出力とは関係ありません。それらを処理し、その処理の結果を返すようにそれらの値を与える必要があります。処理のために返された値を必要としない場合、複雑なWebアプリケーションのコンテキストでは、なぜ機能が必要なのでしょうか?
これは厳密にあなたの質問に関係する部分でした。
ただし、作成するのがより一般的な点です。プレゼンテーション(ユーザーに表示されるもの)は、手順と分けてください。
これを達成する最も簡単な方法は、html/phpページから($ _GET、$ _POSTまたはurlのデータを使用して)関数を呼び出すことです。将来的に非常に役立つクールなアプローチを学びたい場合は、MVCパターンといくつかのMVCフレームワークをチェックしてください。
クラスのメソッドによって出力をエコーするのは悪いことではありません。使用するデザインパターンに反する場合を除き、使用する必要があります。
最も普及しているのは、Model-View-Controller (MVC)というパターンです。出力は、Viewクラスの選択されたメソッドによってのみエコーされる必要があります。他のクラスのメソッドは、そのビジネスについてのみ気を配り、Viewはすべての出力をレンダリングします。しかしこれはデザインパターンの1つで、それを使う必要はありません。
- 1. PHPクラス内でこの関数を使用するには?
- 2. phpのクラス内の関数内で関数を呼び出す
- 3. PHPクラス内の変数を使用
- 4. クラスでPHP time()関数を使用
- 5. PHP関数内で変数を使用
- 6. クラス内のfstream getline()関数の使用
- 7. 関数内でのクラスのメソッドの使い方(PHP)
- 8. ブロック内のクラス関数を使用
- 9. WordPressウィジェット内のPHP関数/クラス
- 10. クラス内のPHP定義関数
- 11. ダイレクト関数の代わりにクラス内部での関数の使用の違いPHP
- 12. PHPクラス:if内部のif関数内で関数を呼び出す
- 13. PHPプライベート関数内の別のクラスの名前空間を使用する
- 14. クラス内のconst値を使用するPHPのデフォルト関数値のベストプラクティス
- 15. PHP静的変数をクラス内の他の変数に使用
- 16. PHPで関数内のクラス変数にアクセスする方法
- 17. PHPクラス内のpublic関数内の配列要素へのアクセス
- 18. whileループ内でのPHPのRTRIM関数の使用
- 19. そのクラスのメンバ関数内でクラスを使用できますか?C++
- 20. PHPの再帰関数内でのクラスのインスタンス化
- 21. 別のクラスのクラスの関数の内部で使用する変数の使用方法 - Python
- 22. クラス内の関数内で宣言された変数へのアクセス(PHP)
- 23. クラス内で使用する変数を作成する関数
- 24. 関数内の関数の使用
- 25. PHPでクラスメンバ関数内のオブジェクトを使用する方法
- 26. Pythonは、同じクラスの別の関数内のクラス関数で使用されるリストをオーバーライドします
- 27. PHPでクラス内の公開関数に値を渡すには?
- 28. 関数内で生成されたクラスのPHP配列
- 29. クラス関数内の変数の使用に関する問題(スイフトプレイグラウンド)
- 30. PHPクラスと関数のコメント?
バナー管理モジュールです。私は、ターゲットに複数のパラメータを持つ関数を呼び出し、SQLクエリを実行し、結果を取得し、重み付けのために別のクラスに渡し、IDの配列を取得します。私がそれらをすぐに処理するならば、他のすべての変数(バナー画像、テキストなど)を利用できますが、配列を返すと(IDのみ)、欠落しているパラメータを取得するために別の関数を実行する必要があります広告の数について私はそれがパフォーマンス上の考慮事項を避ける方が良いと思った... – ted