0

しばらく PHP でコーディングしていますが、主に関数と生の PHP でコーディングしています。

私は自分のコードをもっときれいに、もっと効率的に書くべきだと考え始めました。授業については、いまだに頭が整理できていません。すべてのコードをクラスで記述する必要がありますか?

たとえば、私のスクリプトの 1 つは「パーミッション マネージャー」です。これにより、管理者はサイト上のさまざまなユーザー グループのパーミッションを編集できます。

伝統的に、これは関数などを含む単なるスクリプトとして記述していました。しかし、これをクラスとして書いた方が良いでしょうか? もしそうなら、このクラスには何が含まれますか? サイト全体で使用するパーミッション クラスと、管理者編集エリア用に別のパーミッション クラスを用意することはできますか?

また、サイトには API があります。これはすべて 1 つのクラスとして記述する必要がありますか?

また、パブリック (共有) 関数を使用する必要がありますか?

ありがとう!

4

4 に答える 4

1

私の意見では、すべてはプロジェクトの大きさに依存します。私はしばらくの間 Magento を使用してきましたが、非常に大きいため、クラスとパケットにグループ化する必要があります。プロジェクトをクラス分けした方が、コードが読みやすく、プロジェクトの構造を分析しやすくなります。また、1 か月または 1 年後にプロジェクトを変更する必要がある場合でも、適切な構造は再学習に役立ちます。

于 2013-03-13T21:44:57.470 に答える
0

はい、私の観点では、コードをOOPよりきちんとした、理解しやすく、読みやすいものにする方が良いでしょう。また、メンテナンスもより簡単になります。このスタックのこちらをご覧ください: https://stackoverflow.com /questions/4409824/what-are-the-advantages-of-object-directional-php

于 2013-03-13T21:41:25.077 に答える
0

その質問には別の角度からアプローチする必要があります。必要だと思っているからといって、OOP を使用しないでください。

自問してみてください:

  1. アプリケーションの他の部分で再利用できるアプリケーションの部分はありますか? 次に、これらをスクリプトから取り出して、関数またはクラスに入れることができます。

  2. アプリケーションの大部分を書き直すことなく、コードの一部を交換して動作を変更したいシナリオはありますか? 次に、クラスとインターフェースが最適です。

OOP 原則を使用するもう 1 つの良い議論は、コードのテスト容易性が向上することです。インターフェイスを使用すると、テスト時に実際のオブジェクトをモックまたはスタブに交換できます。

于 2013-03-13T22:44:23.350 に答える