PHPでフレームワークは本当に必要ですか?
1つを使用する利点と欠点は何ですか?
いいえ。しかし、彼らは素晴らしいです。
Pros:自分でコードを再構築する必要がない時間を節約します。プロジェクトに適用される、他の誰かが構築した無数の機能、関数、およびデータ構造を使用します。
短所:自分でコードを作成しなかった場合、プロジェクトが動作する基盤について理解を深めることができなくなる可能性があります。
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開発に関するコースをいくつか持っていました)。そのほとんどはその経験から来ています。
すべてのアプリケーションがフレームワークを必要とするわけではありませんが、必然的なアプリケーションはフレームワークを必要とします。
利点は次のとおりです。
欠点は次のとおりです。
全体として、1つを使用することをお勧めします。
からかってるんだろ?
必要性は使用に依存します。コンピュータは人類に必要ではなく、車なども必要ありません。
長所/短所については、それぞれ独自のものです!
私は自分のフレームワークからいくつかのサンプルコードを見せたいです:
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インストールスクリプト。もちろん、これは私のフレームワークの特定の機能です。しかし、あなたはアイデアを得ます。