PHP 面接でマスターすべき基本的な質問集
1. セッション と Cookie の違い?
答え:session:ユーザーがアクセスするグローバル一意変数を保存します,php サーバー上に保存されます > 指定されたディレクトリ内の場所 (session_dir) が保存されます
cookie: は、次の目的で使用されますページへの連続訪問を保存する 使用すると、クライアントに保存されます。Cookie の場合は、ユーザーの WIN に保存されます。の Temp ディレクトリ。
どちらも時間を通して時間の長さを設定できます
2.変更方法SESSION
の生存時間:メソッド1:はphp.ini の session.gc_maxlifetime は 9999restartapache
Method2:$savePath = "./session_save_dir/";
$lifeTime =時間 * 秒;
session_save_path($savePath); session_set_cookie_params($lifeTime); session_start();メソッド3: setcookie() および session_set_cookie_params($lifeTime);
3.PHP
とは何ですか? 回答: PHP
は、動的な Web サイトを作成するためのサーバーベースのスクリプト言語です。PHP とHTML ウェブサイトのホームページを生成します
4. ステートメント
include と require の違いは何ですか?同じファイルを複数回インクルードすることを避けるには、次のようにします。 (?) ステートメント ? (2 ポイント)Answer:require->require
は無条件の包含です。つまり、require がプロセスに追加された場合、関係なく が最初に実行されます。条件が true かどうかを判断します。>require
include->include には戻り値がありますが、require には戻り値がありません。( の場合があります。このため、require は include)
注意: インクルードされたファイルが存在しないか構文エラーがある場合、require は致命的です 、含めるない5.
asp、php、jspの長所と短所について話す答え
: ASPActive Server Pages の正式名は WEB
の生成と実行に使用できるサーバー側開発環境: 動的、対話型、高パフォーマンスのWEB サービス アプリケーション。 ASP はスクリプト言語を使用します VB Script(Java script
) を独自の開発言語として使用します。
PHP は、クロスプラットフォームのサーバーサイド組み込みスクリプト言語 です。 C、Java および Perl 言語からの構文の借用
、 と PHP の独自の機能 、 を組み合わせると、WEB が有効になります開発者は、動的に生成されたページ . を迅速に作成できます。現在の
データベースのほとんどをサポートします。もう 1 つのポイントは、PHP は完全に無料で、お金を使う必要はありません。PHP 公式サイト からダウンロードできます。 (http://www.php.ne
t)無料でダウンロードできます。また、ソース コードに無制限にアクセスでき、必要な機能を追加することもできます。
JSP は、Sun によって立ち上げられた新世代の Web サイト開発言語です。 ASP、PHP -
スクリプトレベルの実行 ( と言われています) の一般的な問題を完全に解決します。 PHP4 も、Zend ) .Sun のサポートを受けてコンパイルおよび実行されています。 Jav での自分の経験 a の並外れた功績は、Java アプリケーションと からの Java を実現します。 >Java アプレット 、新しい成果、つまり Js p- - があります。 Java サーバー ページ。 Jsp は、Serverlet および JavaBean Site プログラム。 これら 3 つはすべて、HTML コードに特定のプログラム コードを混合し、言語エンジンにプログラム コードを解釈させて実行させる機能を提供します。 ただし、JSP コードは サーブレット にコンパイルされ、 によって生成されます。 Java は仮想マシンによって解釈され、実行されます。このコンパイル操作は JSP ページの 最初のリクエストで発生します。 ASP 、PHP、JSP 環境、HTML コードは主に情報の表示形式を記述します 。プログラム コードは処理ロジックを記述するために使用されます。通常の HTML ページは Web サーバーにのみ依存しますが、ASP 、PH P、JSP ページでは、追加の言語エンジン分析とプログラム コードの実行が必要です。プログラムコードの実行結果は HTML コードに再埋め込まれ、まとめてブラウザに送信されます。 ASP 、PHP、JSP 3 つはすべて Web サーバー テクノロジー 、クライアント ブラウザには追加のソフトウェア サポートは必要ありません。 5. mvc についての理解を話し、一般的に使用されるフレームワークを挙げてください。
答え: MVC は、入力、処理、出力を個別に強制する設計パターンです。 を使用すると、アプリケーションはモデル、ビュー、コントローラーの 3 つのコア コンポーネントに分割されます。彼らはそれぞれ独自のタスクを処理します。 ビューは、ユーザーが表示して操作するインターフェイスです。 モデルは企業データとビジネス ルールを表します。 コントローラーはユーザー入力を受け入れ、モデルとビューを呼び出してユーザーのニーズを満たします。 MVCの利点: 結合度が低い、再利用性と適用性が高い、ライフサイクルコストが低い、迅速な導入、保守性、拡張性、ソフトウェアに役立つ エンジニアリング管理の欠点 MVC: 明確な定義はなく、MVC を完全に理解するのは簡単ではありません。小規模なアプリケーションには適していません。 Smarty、zend フレームワーク、thinkphp、PHPlib テンプレート 6. php はどのようにして例外をスローしますか? 答え: は try...catch を使用し、例外コードは try コード ブロック内では、例外がトリガーされない場合はコードの実行が継続され、例外がトリガーされた場合は例外がスローされます。 Catch コード ブロックは例外をキャッチし、例外情報を含むオブジェクトを作成します。 $e->getMessage()、異常なエラーメッセージを出力します。 7. PHP での値の受け渡しと参照の違いについて話しますか? 参照渡し: 関数スコープ内の値への変更は無視されます。関数の外では無視されます。 これらの変更も反映されます。 利点と欠点: 値で渡す場合、php は値をコピーする必要があります。特に大きな文字列やオブジェクトの場合、これはコストのかかる操作になる可能性があります。 include が同じページに 10 回出現すると、PHP はそれを再解釈する必要があります。 10 回。 PHP が require に遭遇すると、同じ php Web ページに 回 require が出現しても、PHP については 1 回のみ説明します。 は include よりも効率的です。 インクルードされたコンテンツは現在のファイルのコンポーネントとみなされます。そのため、インクルードされたファイルに構文エラーがある場合、またはファイルが存在しない場合、 PHP スクリプトは実行されなくなりました。 Include 関数は、このファイルのパスを指定する と同等であり、インクルードされたファイルが間違っていても、プログラム自体の実行には影響しません。 は含めるかどうかを決定するために使用できますが、require は関係なく含めることができます。状況9. の get と post の違い? 答え: get は、HTTP プロトコルを送信します。 >urlパラメータ 配信先受信、 post はエンティティ データです、 を通じて大量の情報を送信できます。 form . 12. echo()、print()、print_r()(3) の違い 点) 答え:echoはPHPステートメント、print、および print_r は関数 であり、 ステートメントには戻り値がありません、関数は戻り値を持つことができます(役に立たない場合でも) print() は、単純型変数 ( など int,string) の値のみを出力できます。 🎜> print_r() は、配列(など) の値を出力できます。 >,object) echo 1 つ以上の文字列を出力 データベース内のトランザクションは何ですか?答え トランザクション (transaction) は、ユニットのデータベース操作の順序付きセットとして扱われます。グループ内のすべての操作が成功した場合、トランザクションは成功したとみなされます。1 つの操作だけが失敗した場合でも、トランザクションは成功とは言えません。すべての操作が完了すると、 トランザクションがコミットされ、その変更は他のすべてのデータベース プロセスに適用されます。操作が失敗した場合、トランザクションはロールバックされ、トランザクション内のすべての操作の効果はキャンセルされます。 12. サーバー Apache の 2 つの動作モードと違い 答え: 1. prefork.c モジュール (非スレッドの事前派生 MPM)
参照渡しでは値をコピーする必要がないため、パフォーマンスの向上に非常に役立ちます。
prefork MPM は複数の子プロセスを使用し、それぞれの子プロセスにはスレッドが 1 つだけあります。各プロセスは、特定の時点で 1 つの接続のみを維持できます。ほとんどのプラットフォームでは、Prefork MPM は Worker MPM よりも効率的ですが、メモリ使用量ははるかに多くなります。
2. worker.c モジュール (マルチスレッドとマルチプロセッシングの混合をサポートするマルチプロセッシング モジュール)
worker MPM は複数のサブプロセスを使用します。スレッドがあります。