これはかなり前から頭の中にあり、専門家に答えを求めるべきだと思いました。すべてのPHPリクエストを1つのファイルにまとめるのが不十分なプログラミング手法かどうかを知りたいです。私はWebサイトに取り組んでいますが、PHPが関数をどのように処理するかについて100%確信が持てないため、成長に合わせて拡張できるかどうかわかりませんinclude()
。
準フレームワークをどのように構築したかをよりよく説明するために、ここにルート.htaccess
ファイルのスニペットがあります。
# > Standard Settings
RewriteEngine On
# Ignore all media requests
RewriteRule ^media/ - [L]
# Funnel all requests into model
RewriteRule ^(.*)$ _model.php [QSA]
したがって、メディアディレクトリ内のコンテンツを除くすべてがこの単一のスクリプトに渡されます。
内部_model.php
では、すべての入力サニタイズ、ユーザー認証、セッションデータがデータベースから取得され、グローバル変数($ longTime、$ longIPなどの一般的に使用される変数)が設定されています。リクエストは、$_SERVER["REQUEST_URI"]
変数の解釈を介してルーティングされます。
基本的に、switch()
どのモジュールを選択するかを選択するステートメントがありますinclude()
。私が理解していないのは、PHPが実行されるとinclude()
、caseディレクティブが真であるかどうかに関係なく、すべてのPHPが実行されるのでしょうか。
時間が経つと、これらのモジュールがたくさんあるのではないかと心配しています。PHPに実行時にすべてのモジュールが含まれていると、処理能力とRAMを大量に消費することになります...
-
編集:
私は本当に、PHPが潜在的に含まなければならない可能性のあるすべてのファイルを「読み取る」かどうかを尋ねています。私はそれが実際にコードを実行するべきではないことを知っています。私の1つがinclude()
処理に長い時間がかかる2GBのファイルである場合、PHPは実行する前に常にそのファイルを読み取りますか?
-編集:
別の同様の質問を見つけました(これを投稿する前にたくさん検索しました)
条件付き内のinclude/requireのPHPの動作
私はこれを終わらせることができると思います。