0

サーバー側でphpを使用してWebサイトを作成しています。今まで使ったことのないもの。私がそれを正しければ、それは手続き型プログラミングです(これは私がやったことのない別のことです)

私の質問は、コードの書き方です。各手順は別のファイルにある必要がありますか? さまざまなファイルに分けるには?リクエストを受け取ってディスパッチするファイルが 1 つあるでしょうか。

オブジェクト指向では、より明確になります...

お知らせ下さい

4

7 に答える 7

4

PHPでオブジェクト指向プログラミングを行うことができますが、私はそれをそのように構成することを好みます。

手続き型に固執することを選択した場合、手続きごとに1つのファイルを使用することはできません。たとえば、OOPでメソッドごとに1つのファイルを作成したと想像してみてください。

物事をグループ化する方が良いでしょう。おそらくDB抽象化レイヤーがあり、OOPではそれを1つのファイルのクラスにすることができます。手続き型の実装では、1つのファイルに多数の手続きが含まれます。おそらく同じように名付けられました。

于 2009-12-21T22:10:17.667 に答える
3

PHPのどこに物を置く必要があるかについての厳密な定義はありません。それはあなた次第です。複雑なシステムを作成する場合は、 MVCパターンを確認することをお勧めします。

PHPでオブジェクト指向モデルを自由に使用してください。これが私の選択したスタイルです。

于 2009-12-21T22:12:09.677 に答える
1

関連する手順をグループ化します。手順ごとに1つのファイルはやり過ぎです。

Code Completeには、この種のことに関する良いアドバイスがあります。これは、コードを整理する方法に関する優れたガイドラインが記載された、非常に評判の良いプログラミング本です。

于 2009-12-21T22:11:00.990 に答える
1

個人的にはOOワゴンに乗ったことはありません。古い習慣はなかなか消えません。しかし、 MVCパターン (モデル ビュー コントローラー)を紹介した CakePHP を試してみました。それ以来、私は通常、次の構造に従います。

.htaccess << redirects all request URIs to index.php
index.php << the main processing file
_lib/  for configuration files
_lib/classes for all 3rd party classes (such as database abstraction, etc)
_views/
_controllers/
于 2009-12-21T22:16:35.783 に答える
0

PHPはオブジェクト指向にすることができます。

ただし、そのように使用していない場合は、関数を論理的に分割するだけで済みます。

関数が少ない場合は、すべての関数を含む1つのインクルードファイルを使用します。

サイトに「メンバーシップ」、「ライブラリ」、「リソース」などの複数の領域があり、各領域が多数の関数(5+など)を使用している場合は、membershipFunctions.php、libraryFunctionsなどの領域ごとにファイルを作成することを検討してください。 .php、およびresourcesFunctions.php。

于 2009-12-21T22:13:20.963 に答える
0

サイト固有のオブジェクトを 1 つのファイルで定義する構造を採用する傾向があります。別のファイルには、すべての汎用関数が含まれています (汎用ライブラリ)。すべての定数と基本構造を定義する別のファイルがあります。

オブジェクトとコア サイト コード (データベース、認証など) の実装は、共通ファイルにあります。このファイルには、オブジェクト、定数、およびライブラリ ファイルが含まれており、サイトの基本操作を実行します。

最後に、サイトの機能グループがページ生成用の独自のファイルに配置されます。これらのファイルには、共通モジュール (ファイル) が含まれています。

オブジェクトは自分自身を管理するようにコード化されているため、機能ページ ファイルで行われる作業はほとんどありません。

以前はすべてのオブジェクトを独自のファイルに分割していましたが、それらを 1 つの一般的なオブジェクト クラス定義ファイルにまとめる方が簡単であることがわかりました。

于 2009-12-21T22:20:06.067 に答える
0

私は PHP 5 の OO スタイルを好みます。具体的には、PEAR スタイルのディレクトリ ツリーを使用して Zend Framework が促進する構造を楽しんでおり、OO の観点から見て理にかなった方法でコードをセグメント化し、アーキテクチャを構築できます。視点。

私は OOAD の領域を掘り下げますが、それに関する情報源はたくさんあると確信しています。最高のものの 1 つは、この質問の回答で前述したコードの完全な本です。

Zend プロジェクトのレイアウト、特にクイックスタートについては、 http: //framework.zend.comを参照してください。Zend Framework 自体を使用したくない場合でも、使用するのに適した構造が示されていることがわかると思います。 .

于 2009-12-21T22:22:19.403 に答える