web-dev-qa-db-ja.com

簡単な説明PHP OOP vs手続き?

私はPHPを学び、OOPと手続きに関するアイデアを得たいと思います。OOP vs手続き型ですが、アプローチがまだ理解できません。

OOPと手続き型

  1. どちらを学ぶべきですか?
  2. コードの違いは何ですか?効果は何ですか?
  3. どうすればPHPフレームワークがOOP aproachに役立つか?(CodeIgniterを学びたい)
  4. 手続きにはフレームワークが必要ですか?

私は両方のコードの違いを本当に知りたいです、OOPの私の理解はあなたがのようなクラスを作成し、それがアクセス可能であることです。

ありがとう!

102
Pennf0lio

OOPはデザインパターンにすぎません。始めたばかりの場合は、手続き型アプローチに焦点を合わせて基本を学びます。最も重要なことは、ループ、条件、他のプロシージャの呼び出しなどの基本原則に精通することです。

手続き型コードを作成している間、単一のソースファイル内に関連するメソッドを追加して習慣を作ります。プロシージャを論理ユニットに分割することを学ぶと、すでにオブジェクト指向になり始めています。基本的に、オブジェクトは、同じデータセットで動作するという理由だけで、互いに関連するメソッドのコレクションにすぎません。 (ここではデータベースについては説明しませんが、アプリケーションデータについては!)

オブジェクト指向は主に、すべてを単純なブロックに分割することでコードをより論理的にするために使用されます。適切なブロックを組み合わせることで、完全なアプリケーションを取得できます。 OOはすべての問題を解決する銀の弾丸や金色のハンマーではありません。しかし、それがすることは、コードを理解しやすくすることです。

繰り返しになりますが、何百ものメソッドを使用してオブジェクトを巨大なスーパーオブジェクトに変えるだけで、オブジェクトを完全に混乱させることができます。このようなオブジェクトは、実際のロジックなしで膨大な量のメソッドが結合されているために、通常の手続き型アプローチと大差ありません。 OOP速すぎます。

25
Wim ten Brink

両方を学ぶ必要があります。オブジェクトは、存在する可能性のある多くの抽象化の1つにすぎず、抽象化はプログラミングの最終的な目的です。とは言っても、手続き型のものから始めて、後でオブジェクトを追加します。なぜなら、PHPオブジェクトの内部はとにかく手続き型だからです。

フレームワークに関しては;最初に言語の基礎を学び、使い捨ての実験プログラムなどを作成します。後でフレームワークに精通し、yourselfyoいくつかのコンテキストで有用なものを見つけるかどうかを検討できます。絶対に必須ではありません。

6
Joonas Pulakka

手続き型のphpとoopは同じphpコードを使用します。唯一の違いは、手続き型では、1つのタスクに焦点を当てることだけです。 oopでは、パターンまたはチャンクを使用してコードを整理し、コードのさまざまな領域で再利用できます。

簡単な答えは、PHPを知って理解する必要があるということです。 php.netで学ぶことができます。理解したら、コードをチャックに整理することができます。

手続きコードは関数、変数を使用します。

物事を理解したら、関数と変数のクラスへの整理を開始できます。関数をメソッドとして、変数をプロパティとして呼び出します。

幸運を。

6
Edward Manda

上記のすばらしい回答を追加します。コーディングスタイルの自然な進行としてOOPが表示されるはずです。小さなプログラムの作成を開始するときには、数行のphpコードをまとめて、それらを関数とより多くの関数にグループ化するだけです。それらをクラスにうまく整理する必要があると感じるかもしれません。 OOPは、コードの構造を改善するだけで、コードのメンテナンスを改善します。

5
Rawdreeg