PHPでフレームワークは本当に必要ですか?
1つを使用する利点と欠点は何ですか?
PHPでフレームワークは本当に必要ですか?
1つを使用する利点と欠点は何ですか?
回答:
いいえ。しかし、彼らは素晴らしいです。
長所:コードを自分で再構築する必要がない時間を節約できます。プロジェクトに適用される、他の誰かが作成した無数の機能、関数、およびデータ構造を使用します。
短所:自分でコードを作成しなかった場合、プロジェクトが動作する基盤をよりよく理解できなくなる可能性があります。
Webアプリケーションフレームワークは、それらを使用した経験と同じくらい優れています。
すべてのフレームワークには学習曲線があり、その曲線を克服するまで、フレームワークを使用することのすべての利点を打ち消すような逆行をすることになるでしょう。アプリケーションの開発が不必要に遅くなり、コードの追跡が難しくなり、フレームワークの新しいバージョンがリリースされると、すべてが壊れてしまいます。締め切りの厳しいプロジェクトには、なじみのないフレームワーク(またはなじみのないテクノロジ)を使用しないようお勧めします。
どのようにフレームワークを活用するのが上手になりますか?
あなたはひと握りの神のひどいアプリケーションを構築し、繰り返す必要があります。最終的には癖を理解し、フレームワークを使用することで、開発時間を短縮し、コードを整理することができます。
PHPフレームワークを使用する必要がありますか?
十分なPHPをコーディングする人は誰でも最終的にフレームワークを使用します。問題は、独自のフレームワークを使用するか、サードパーティが開発したフレームワークを使用するかです。私の経験では、サードパーティのフレームワークの堅牢性と品質に匹敵する独自のフレームワークを開発することはおそらくないでしょう。とはいえ、独自のフレームワークを開発することはPHPコミュニティの通過権のように思われるので、独自のデータベース抽象化クラスを作成しないようにしてください。
ここに役立つグラフがあります:
Rasmus Lerdorfによると、PHP自体がフレームワークであるため、追加のフレームワークは必要ありません。 http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
まあ、それは本当にあなたのプロジェクトのサイズに依存します。データベースがなく、ページ数が10以下のホームページでは、フレームワークが多すぎます。主な理由として、特定のニーズに合わせるために、フレームワークは常に多くの構成とカスタマイズを必要とするためです。また、状況によっては、ファイルに含まれる複数のページよりも少し遅くなる可能性があります(すべてのフレームワークがその機能を使用するためにロードする必要があると考えてください)。
さて、データベースの相互作用、Webサービスなどを備えた中規模/大規模のサイトを計画している場合、さまざまなテクノロジーと相互作用し、問題が発生したときにコードが整理できるようにするフレームワークが必要になります。それをすばやく検出して修復するためのハビリティー。また、クライアントについて考える場合、クライアントは常にソフトウェアについての考え方を変えています。そのため、クライアントが新しい機能を変更または追加する必要がある場合、すべてのコードを調べて、この新しい機能をどのようにプラグインするかについて考える必要はありません。この食道。
他にもたくさんの長所と短所がありますが、これらは最初に私の心を超えたものです。
編集:私は日常的にsymfonyフレームワークを使用し、大学のphpでの作業も行いました(フレームワークの使用を許可されていないWeb開発に関するコースをいくつか持っていました)、そのほとんどはその経験から来ています。
冗談でしょ?
必要性は使用に依存します。コンピュータは人類に必要ではなく、車なども必要ありません。
長所/短所については、それぞれ独自のものです!
私は自分のフレームワークからいくつかのサンプルコードを見せたいです:
class Product extends DatabaseRow {
public $name='';
public $price=0.0;
public $images=array();
public $description='';
public table(){
return 'products';
}
}
$p=new Product();
$p->name='Bread';
$p->price=0.5;
$p->images=array('loaf1.jpg','bakery.jpg');
$p->description='Our premium diet bread.';
$p->save();
私がそこで何をしたか見ますか?そのクラスは、ショップのモデルとして機能します。OO以外に何が特別なのですか?テーブルまたは列が存在しない場合は、動的に作成されます。0インストールスクリプト。もちろん、これは私のフレームワークの特定の機能です。しかし、あなたはアイデアを得ます。
$p=new Product($the_id); $p->load();
load()
すべてのアプリケーションにフレームワークが必要なわけではありませんが、ほとんどのアプリケーションにはフレームワークが必要です。
利点は次のとおりです。
欠点は次のとおりです。
全体として、1つを使用することをお勧めします。