私は小さなPHPアプリケーション(データベースアクセスがほとんどない数ページ))に取り組んでいるWeb開発インターンです。スクリプト。
フレームワークはやり過ぎのように見えますが(多分そうではないでしょうか)、コード/フォルダー構造と一般的なソロの小規模なPHP開発のベストプラクティスは何ですか。このようなアプリケーション?
「小さい」プロジェクトについての事はそれらがめったに小さいままであることはめったにないことです。彼らが成功した場合、彼らは成長します。そうでなければ彼らは死ぬ。何が起こるかというと、最終的にはとにかくフレームワークを実装するまで「もう1つだけ」を追加します。通常、フレームワークは成長するつもりがなかったため、設計が不十分です。
今回は違い、アプリケーションが成長しないと確信している場合でも、フレームワークを使って無料で入手できるものはたくさんあるので、なぜ誰もがそれを忘れるのかわかりません。テーマ、ユーザー認証とロール、管理ページ、テスト済みのモジュール、セキュリティ修正など、個々の開発者がゼロから作成するよりも優れた品質を手に入れることができます。
はい、どのフレームワークにも学習曲線があります。そのため、人々はゼロから始めて時間を節約していると考えています。その概念は非常に近視眼的です。頻繁に使用されテストされたソフトウェアアプリケーションを学習することは、独自のソフトウェアアプリケーションを最初から実装するよりも難しいと考えるのはばかげています。彼らはすでにあなたがまだ気づいてさえいない何百もの問題に遭遇して解決しました。
Sensio Labsのマイクロフレームワーク Silex のようなものを使ってみましたか?
コードの編成、およびフレームワークの使用法については、他にも多くの実践的な方法があります。
さて、あなたへの私のアドバイスは、MVCとPHPフレームワークを使用することです。
これにより、プロジェクト構造の基本的な設定ではなく、アプリケーション自体の開発に集中できます。
私は Zend framework を使用しています。唯一の欠点は、その急な学習曲線と扱いにくいドキュメントです。ただし、これには、私が今まで見た中で最大のクラスライブラリがあります。
Zendフレームワークの複雑さに不安を感じている場合は、 CodeIgniter を試すことができます。これには、多くのビデオチュートリアルに加えて、最高のドキュメントがあります。これらのチュートリアルにより、MVCの動作を理解することができました。
慣れてきたら、おそらく Symfony や CakePHP などのより完全なスタックフレームワークに移行できます。
注:
Zend、Symfony、CakePHPなどのフレームワークは単純なアプリケーションには過剰であると主張する人もいますが、それはすべて目的に依存します。アプリケーションを高速でダーティーにビルドしたい場合は、いくつかのスクリプトを作成します。これで問題なく動作します。
ただし、本当に良いOO設計実践と、そこにあるいくつかのトップフレームワークからの深い知識を学びたい場合は、殺すために行きます:)
小規模PHP開発の場合、MVCフレームワークを使用できます。これにより、コードとフォルダーを整理できます。そのうちの1つはCodeIgniterです。それらには、ダウンロード時に含まれる優れたマニュアルもあります。フレームワークと彼らははるかに大きなコミュニティを持っています。
ただし、独自のフレームワークを作成する場合は、このフォルダー構造を試すことができます。
lib/ == contains your classes
app/
app/view == contains the templates
app/model == contains the business logics
app/controler/ == contains the implementations of the business logics
config/ == site configurations
index.php
.htaccess