php - ある機能は関数で実装できますが、実装するにはクラスを使用する必要がありますか?
滿天的星座
滿天的星座 2017-05-31 10:33:09
0
10
801

私は PHP を使用しています。現在作成しているプロジェクトの関数のほとんどは関数にカプセル化されています。必要に応じて、関数を呼び出すためにパラメーターを要求してから渡すだけです。これが悪いかどうかはわかりません。それを実装するにはクラスを使用する必要がありますか?

例として、segmentfault Web サイトのホームページを取り上げます (ホームページにはいくつかの質問が表示されます)。(MVC を使用して) 記述してもらいたい場合は、まず質問を取得する getQuestion(parameter) 関数を具体的に作成します。 require関数内でホームページモデル(class)に追加し、パラメータを渡してこの関数を呼び出し、データを取得したらViewにレンダリングします。
「この関数をrequireしてから呼び出してデータを取得する」という書き方はよくないといつも思うのですが、どうやって書けばいいのかわかりません。アドバイスをいただければ幸いです。

滿天的星座
滿天的星座

全員に返信(10)
大家讲道理

実際にはそれは問題ではありませんが、最適解、標準解を求めたい場合は、を使用して実装してください。

まだ多くの概念を理解しておらず、理解が曖昧である可能性があります。そのため、まず推奨される実践方法に従い、しばらく待ってから確認してください。

いいねを押す +0
给我你的怀抱

オブジェクト指向のいくつかの機能: カプセル化、継承、ポリモーフィズム ニーズが抽象化されており、これらの機能がある場合は、oop の使用を検討する必要があります。

いいねを押す +0
Ty80

あなたの質問は、オブジェクト指向とプロセス指向のどちらが優れているかを問うことと同じです。この問題は長年にわたって議論されていますが、最近では関数指向だと言う人もいます。 私の意見は、特定の状況の具体的な分析に基づいています。オブジェクト指向は再利用が容易で、拡張が容易で、保守が容易ですが、プロジェクトに同じ論理モジュールがある場合、またはプロセス指向の方がパフォーマンスが高くなります。重複コードが多い場合はオブジェクト指向を推奨します。構造が複雑ではなく、パフォーマンスを追求する場合はプロセス指向の方がおすすめです。実際、これら 2 つの方法はプロジェクト内で組み合わせて使用​​できます。特定のニーズに応じてください

http://m.blog.csdn.net/articl...

いいねを押す +0
PHPzhong

大規模なプロジェクトは可能な限りクラスを使用して実装する必要がありますが、小規模なプロジェクトは関数を使用しやすいです

再利用が必要なものは可能な限りクラスで実装する

クラスを使用する利点は、コードを書きすぎた場合に、モジュール化後に新しいプロジェクトを書きやすくなることです

いいねを押す +0
曾经蜡笔没有小新

真にオブジェクト指向になるには、以下が必要です:

  • ステートフル

  • メッセージでコミュニケーションする(メッセージパッシング)

それ以外の場合は、機能的または手続き的を検討してください。

たとえば、クラスが静的メソッドでいっぱいであるなど、クラスを名前空間として扱うこともできます。
しかし、require自体は名前空間の実装であるため、必要ありません。

いいねを押す +0
给我你的怀抱

こちらの記事も読めます
オブジェクト指向とデザインパターン /a/11...

いいねを押す +0
漂亮男人

間違いなく、OO プログラミングを使用してください。

PHP プロジェクトはバージョン 7 まで発展しましたが、これはすでに非常に OO です。歴史を逆転させる必要はありません。

パフォーマンスを追求しますか? ばかげてはいけません。Web アプリケーションのパフォーマンスのボトルネックは通常、ここにはありません。

あなたが言及した必須の問題については、composer + 名前空間を使用するだけです。

symfony や laravel などのフレームワーク コードを学習し、密室で作業するのをやめることをお勧めします。

いいねを押す +0
黄舟

デザインパターンは実装方法に限定されるものではなく、単なるアイデアであり、個人の好みに従ってください。
私は個人的に、このシナリオを処理するために静的クラス (クラス内のすべての静的メソッド) を使用するのが好きです

いいねを押す +0
某草草

ご都合に合わせてお越しください

いいねを押す +0
巴扎黑

自分のプロジェクトをフォローしてください。1 つのプロジェクトにすべてを使用するのではなく、プロジェクトだけをフォローしてください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート