PHPでのWebアプリ構築における以下の質問にご回答ください。個人的意見でも差し支えありません。

なお、ZendやPEARのコーディング規約は目を通しています。

1.インデックスと各画面表示をファイルとして切り分けていますか?例えば常にindex.phpにアクセスさせ、引数を使って表示分けいう方法があります。一方、index.phpへのにアクセスは最初だけで、後は個別ページごとのPHPファイルを参照する方法もあります。
2.前述の構成が「ブートファイルへ常にアクセス」の場合、index.phpにはどこまでの処理を含めますか?例えば、セッション処理や画面生成処理などの常時処理を、処理ごとに別ファイルに切り分けてrequire_onceする方法があると思います。一方、共通処理は直接index.php内に記述する考え方もあると思います。
3.クラスはどこに、どのような名称のファイル名及びディレクトリ名で置きますか?また、どのようなディレクトリ名で格納しますか?
4.関数はそれぞれ別ファイルとせず、1ファイルにまとめることが多いような気がしますが、あなたはどうしていますか?
5.その他、参考となるようなことを教えてください。標準やコーディング規約のご紹介を歓迎します。

回答の条件
  • 1人50回まで
  • 登録:2007/07/23 10:44:02
  • 終了:2007/07/30 10:45:03

回答(1件)

id:Knoa No.1

Knoa回答回数14ベストアンサー獲得回数02007/07/24 07:31:40

ポイント60pt

こういう質問は楽しいです。

1. 前者です。pathinfoを使ってコントロールしています。ただし後者の「index.phpへのにアクセスは最初だけ」の意味がよくわかりません。前者と同じように感じてしまいます。

2. ずばりconfigファイルと、pathinfoを使ってコントロールするファイル、計2ファイルのincludeのみです。前はいろいろ書いてたときもありましたが、この2ファイルそれぞれの中に書くようになりました。

3. lib/の中に、'(クラス名).php'の名前で置きます。

4. 汎用的なものはlib/index.phpに書いてしまっています。あとは'(用途).php'というファイルがいくつか。

5. ディレクトリ構成を紹介します。

config/ 設定。たいてい1ファイルだけで足りるが、増えることを考慮してディレクトリに入れる。

lib/ クラスや関数。configでファイル走査して自動で読み込む。外部から得たライブラリもここにディレクトリを作る。

page/ pathinfoなどをもとに画面制御。実際のURLと同様の構成でディレクトリを作る。

smarty/ 画面表示テンプレート。

js/ JavaScript。

css/ スタイルシート。

img/ 画像。

dev/ 開発用。SQLインターフェイスなど。

work/ メモ。テンポラリ。ゴミ箱。

id:TEKKAMEN

とても丁寧なご回答ありがとうございます!こちらこそ、回答を拝見しながら楽しくなってしまいました。

1.の後段(index.phpへのアクセスは最初だけ)の趣旨ですが、index.phpはアプリのトップ画面(及びそのロジック)を意味する「画面ごとのPHPファイル」で、他の画面もトップ画面と同じ比重でロジックを担当する・・という意味でした。

要するに、

(1)ひとつの特別なファイルがアプリ全体のロジックを制御する方法

(index.php->index.php->index.php)

(2)そのようなファイルを設けず、画面ごとにビューとロジックを同居させる方法

(index.php->second.php->third.php)

のふたつの方法があって、PHPの構造は本来的には

(2)を想定しているのかな、と思ったのです。

自分としては(1)で記述するのが好きなのですが。

頂いた回答は自分の好みにとても近いものでしたので、嬉しくなってしまいました^^

とても参考になりました。ありがとうございました。

2007/07/24 08:35:15

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません