#1. ThinkPHP の単一エントリ ファイルを理解するにはどうすればよいですか?
ThinkPHP は、プロジェクトの展開とアクセスにシングル エントリ モードを使用します。ThinkPHP フレームワークを使用すると、どのようなプロジェクトを行う場合でも、一意のエントリ ファイルが作成されます。このファイルがプロジェクトの開始点となります。 . プロジェクトに入ったら、その他の操作を行います。
通常、エントリ ファイルには 3 つの部分が含まれます。
必須:
1. フレームワーク エントリ ファイルをロードします。
オプション:
2. フレームワーク パス、プロジェクト パス、およびプロジェクト名を定義します。
3. デバッグ モードと実行モードの関連定数を定義します。
関連トピックの推奨事項: 2020 Thinkphp インタビュー質問と回答 (完全なコレクション)
2. ThinkPHP の MVC 階層化とは何ですか
MVC の設計アイデアは抽象化されたものです。コンセプトは、アプリケーションのロジック層とビュー層を分離することです。
ThinkPHP で使用される MVC は、大まかに次のように反映されます:
Model (M): モデル データ処理クラス;
Controller (C): アプリケーション コントローラー (コア コントローラー アプリ クラス) ) とアクション コントローラーは両方ともコントローラーの役割を担っており、アクション コントローラーはビジネス制御を完了し、アプリケーション コントローラーはスケジュール制御を完了します。
View (V): View クラスとビュー テンプレート ファイルで構成されます。
ThinkPHP では、M や V に依存しないため、モデルやビューがなくても動作します。 C にも依存しません。これは、ThinkPHP には、Action の上にマスター コントローラー、つまりアプリケーション全体のスケジューリングを担当する App コントローラーがあるためです。 C が存在しない場合、ビュー V が存在する必要があります。存在しない場合、ビュー V は完全なアプリケーションではなくなります。
3. ThinkPHP アーキテクチャ (コア動作駆動 (CBD)) を理解する方法
コア: ThinkPHP のコア コード、MVC アーキテクチャなど;
動作: ThinkPHP フレームワークに付属する一部のメソッド、いくつかの予約された展開場所など;
ドライバー: ThinkPHP は、データベース ドライバー、キャッシュ ドライバー、タグ ライブラリ ドライバー、テンプレート エンジン ドライバーなども構築しています。外部セットアップ拡張として、開発プロセス中にこれらのドライバーを直接使用できるため、シンプルかつ効率的です。
4. ThinkPHP が SQL インジェクションを防ぐ方法
ThinkPHP アーキテクチャが設計されたとき、SQL インジェクションを防ぐためにいくつかの操作が実行されました。
注意すべき主な点は次のとおりです。
SQL 操作に配列を使用できる場合は、配列を使用します。
SQL ステートメントを使用して操作する必要がある場合は、内容を予測します。ユーザーによる入力。;たとえば、数値型の強制、SQL キーワードのチェック、正規表現の一致など。
5. デバッグ モードを有効にするにはどうすればよいですか?デバッグモードの利点は何ですか?
デバッグ モードを有効にするには、フレームワーク エントリ ファイル ステートメントをロードする前に、エントリ ファイルに定数定義ステートメントの行を追加するだけです;
define("APP_DEBUG",true );
デバッグ モードをオンにすると、システムは次のファイルを自動的に開きます:
操作ログ、SQL ログ、およびその他のログ。デバッグを容易にするために、エラーは詳細に記録されます。
##テンプレート ファイルのキャッシュを閉じます。テンプレートの変更はすぐに有効になります。 フィールド キャッシュをオフにします。データベース フィールドの変更はキャッシュの影響を受けません。 ファイルの大文字と小文字を厳密に確認してください。 デバッグ モードは、プロジェクトがオンラインになる前に、開発、デバッグ、デモンストレーションなどに便利なツールです。6. ThinkPHP ではどのような構成モードがサポートされていますか?優先事項は何ですか?
ThinkPHP は、プロジェクト構成に関して独自の階層構成モードを作成しました。優先順位は右から左の順です: 従来の構成 -> プロジェクト構成 -> デバッグ構成 -> グループ構成 -> 拡張構成 -> 動的構成7. ThinkPHP はどのような URL パターンをサポートしていますか?
ThinkPHP は 4 つの URL モードをサポートしており、URL_MODEL パラメーターを使用して変更できます。デフォルトは PATHINFO モードです。設定値 0、1、2、および 3 は次のとおりです: 通常モード、PATHINFO モード, REWRITE モードと互換性あり. Mode8. ThinkPHP のシステム変数とは何ですか?システム変数を取得するにはどうすればよいですか?
ThinkPHP で一般的に使用されるシステム変数には、server、session、cookie、get、post、requestが含まれます。システム変数の出力では、プレフィックスとして $Think. を使用する必要があります (例:) : $Think.server.php_self = $_SESSION['php_self']9. ThinkPHP の M メソッドと D メソッドの違い (高周波問題)
ThinkPHP は、データ モデル クラスをインスタンス化するために 2 つのメソッド M と D を使用します。違いは、M メソッドがデータ モデルの基本クラスを直接インスタンス化することです。D メソッドは、継承されたモデル クラスがあるかどうかを確認します。そうでない場合、関数は M と同じになります。メソッドは同じです。継承されたクラスが存在する場合は、継承されたクラスをインスタンス化します。以上がThinkPHP フレームワーク面接の筆記試験の一般的な質問と回答の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。