PHP-OOPまたは手続き型アプローチ

PHPは、最も人気のあるスクリプトプログラミング言語の1つです。 Webサーバーのほぼ60%がPHPを使用しており、毎月何百万ものWebサイトとWebアプリケーションがPHPで開発されています。



PHPはもともとPerl言語の単純な代替として開発されたもので、数年後には非常に強力で人気のあるものになりました。 PHP言語自体は、ANSI Cに非常によく似ています。

PHPが人気を博した理由の1つは、トレーニング期間が短いことです。



特にJavaまたはCの構文に精通している場合、PHPの学習は絶対に難しい作業ではありません。



PHPスクリプトの作成は非常に簡単なので、慣習に従わずにプレゼンテーションのレベルをビジネスロジックと混合することなく、誰でもPHPコードを作成できます(これは、多数のアンマネージプロジェクトが存在する主な理由の1つです)。 PHPでは、コード記述規則を厳密に対応させる必要がないため、プロジェクトが長年にわたってますます大きくなると、巨大なアンマネージアプリケーションに変わります。



OOPまたはオブジェクト指向プログラミングは、プログラミングの実践において、マネージドプロジェクトをより簡単に作成するためによく使用されます。

手続き型のアプローチでは、オブジェクトを使用せずにコードを記述します。 手続き型プログラミングでは、ルーチンの有無にかかわらずコードを記述します。



OOPは、プログラミング言語に優れたプログラムコードを教え、管理を混乱させることなく、より高いパフォーマンスを獲得し、大規模なプロジェクトを作成するために使用されます。 OOPを使用すると、繰り返し使用できるオブジェクトを作成できるため、ユーザーや他の開発者は何度もやり直さずにプロジェクトで使用できます。 OOPは、大規模なアプリケーションの作成と管理における障壁と困難を取り除きます。



PHPでは、2つの異なる方法でアプリケーションを作成できます。1つ目は手続き型、2つ目はオブジェクト指向です。 それでも2つのアプローチの違いがわからない場合は、これらのコードを見てみましょう。異なるアプローチで書かれた同じ例です。



手続き:



$ user_input = $ _POST ['field'];

$ filters_content = filter($ user_input); //ユーザー入力フィルタリング

mysql_connect( "dbhost"、 "dbuser"、 "dbpassword"); //データベース

mysql_select_db( "dbname");

$ sql = "some query";

$ result = mysql_query($ sql);

while($ data = mysql_fetch_assoc())

{

プロセス($データ);

}

process_user_input($ filtered_content);





そして、OOPを使用した同じコードの一部を次に示します。



$ input_filter =新しいフィルター();

$ input_filter-> filter_user_input(); //ユーザー入力をフィルタリングします

$ db = new dal( "mysql"); //データアクセス層

$ db-> connect($ dbconfig); // mysqlを使用しました

$ result = $ db-> execute($ sql);

ReportGenerator :: makereport($ result); //データを処理します

$ model = new Postmodel($ filter-> get_filtered_content());

$ model-> insert();




これらの2つのコードを注意深く見ると、OOPを使用したコードの方が読みやすく、読みやすいことがわかります。



OOPを使用したコードは、どのオブジェクトが処理されているかを理解しているため、より整理されています。 手続き型のアプローチで書かれた大規模なアプリケーションは、いくつかのバージョンのリリース後にほとんど認識できなくなります。 もちろん、プログラムコードを書くための厳格なルールに従うことはできますが、プログラムでOOPを使用しない場合、プロジェクトの管理性と使いやすさを最終的には提供しないことを知っている何百万人もの開発者によって承認されています。

ほとんどすべての大規模なアプリケーションは、オブジェクト指向を使用して記述されています

アプローチ。



上記に基づいて、OOPを使用する利点を得ることができます。



OOPは、開発者の作業を楽にするために作成されました。 OOPを使用すると、大きな問題を、はるかに簡単に解決できる小さな問題に分割できます。

OOPの主な要件は、オブジェクトを作成することだけです。 オブジェクトは、データとプロパティを組み合わせることができる別個の小さなコードです。 アプリケーションでは、すべてのオブジェクトが相互作用します。



特に開発時間とその後のアプリケーション開発が重要な場合、OOPはさまざまな角度からより適切に考えることができます。

OOPを使用する主な利点は、次のように表現できます。



* 再利用 :オブジェクトは、プロパティとメソッドのセットを持ち、他のオブジェクトと相互作用できる論理オブジェクトです。オブジェクトは、完全に独立しているか、他のオブジェクトに依存できます。 オブジェクトは通常、提起された特定の問題を解決するために作成されます。 したがって、他の開発者が同様の問題に遭遇した場合、開発プロセスを混乱させることを恐れることなく、クラスをプロジェクトに接続して使用できます。 これにより、DRYは繰り返されません(繰り返さないでください)の略です。 手続き型またはモジュール型プログラミングでは、再利用は組み合わせでのみ可能です。



* リファクタリング :プロジェクトでリファクタリングを使用する必要がある場合、OOPはすべてのオブジェクトが小さな要素であり、それらのプロパティとメソッドを自身の一部として含むため、最大限のメリットが得られます。 したがって、リファクタリングの使用は比較的簡単です。



* 拡張性 :プロジェクトの機能を拡張する必要がある場合、OOPでより良い結果を達成できます。 OOPの主な機能の1つは拡張性です。 オブジェクトのリファクタリングを使用して機能を追加できます。 これに取り組むことで、あなたはまだ保存することができます

以前のオブジェクトの互換性-したがって、以前のコードを完全に使用できます。 または、オブジェクトを展開し、新しいオブジェクトの親となる親オブジェクトの必要なプロパティとメソッドをすべて含む完全に新しいオブジェクトを作成してから、新しい関数を追加できます。 これは「継承」と呼ばれ、非常に重要なOOP機能です。



* サポート :オブジェクト指向コードは、

非常に厳密なコード記述規則に従っており、自明の方法で記述されています。

たとえば、開発者はコードを完了、処理、またはデバッグするときに、コードの内部構造を簡単に見つけて、時々コードを維持できます。 さらに、OOP開発チームが環境で作業しているとき、それを最適なソリューションにすることができます。コードを小さな部分に分割した後、チームメンバー間でコードを配布できるからです。 これらの小さなパーツは個別のオブジェクトとして設計できるため、開発者は互いにほぼ独立して作業できます。 最終的に、すべての部品を1つのアプリケーションに結合することは難しくありません。



* 効率 :OOPのアイデアは、実際には効率を高め、開発プロセスを促進するために設計されました。 より効率的で優れたコードを作成するために、いくつかの設計パターンが設計されています。

さらに、OOPでは、手続き型のアプローチよりも便利な形で意思決定を反映できます。 問題をいくつかの小さな問題に分解し、それぞれの解決策を個別に見つけるため、大きな問題はそれ自体で解決されます。



PHP5によるオブジェクト指向プログラミングからの著者の翻訳



PS私の最初のhabtopopic、私が好めば、私は本をさらに翻訳します、私にとってそれは非常に興味深く、有益です






All Articles