2017 年の最新の PHP クラシック面接の質問の概要
この記事の内容は、2017 年の最新の PHP クラシック面接の質問をまとめたものです。これは、必要な友人に参考にしていただけるよう、共有します。この記事は今後も更新されます。コメント欄に公開したいと思います 自分の意見や古典的だと思う話題をもとに、この記事を後ほど適切なノードで分類・階層化していきたいと思います。さらにアドバイスをいただき、記事の不備を修正していただければ幸いです
二重引用符は変数を説明しません1. 二重引用符と一重引用符の違い
- 単一引用符を挿入します。二重引用符で囲みます。一重引用符で囲まれた変数がある場合は、二重引用符で囲まれた変数名の後に数字、文字、アンダースコア以外の特殊文字を続けるか、変数で囲む必要があります。それ以外の場合は、変数名以降は全体として構文エラーとみなされます
- 二重引用符はエスケープ文字の説明、一重引用符はエスケープ文字の説明ではありませんが、'と\
- の説明は一重引用符を作ることができますできるだけ一重引用符を使用してください。一重引用符は二重引用符よりも効率的です。引用符は高くする必要があります(二重引用符は、操作する前に変数が存在するかどうかを確認するために最初にたどる必要があるため、一重引用符は判定する必要はありません)
- 2. よく使われるスーパーグローバル変数(8)
- $_GET ----->送信メソッドを取得
- $_REQUEST ----->getメソッドとpostメソッドの両方を受け取ることができます
$GLOBALS ----->すべての変数が配置されます
$_FILE ----->
- $_SERVERを使用してファイルをアップロードします - --- -->システム環境変数
$_SESSION ----->が使用されますセッション制御用
$_COOKIE ----->セッション制御に使用されます
- 3. HTTP の POST、GET、PUT、DELETE メソッドの違い
HTTP では、さまざまな対話方法が定義されています。最も基本的なものは POST、GET、PUT、DELETE であり、完全な名前はリソース記述子です。URL はインターネット上のリソースを表し、post、get、put となります。 、および delegate は、このリソースを追加、削除、変更、確認する操作です。
getメソッドの場合、サーバー側はRequest.QueryStringを使用して変数の値を取得します。postメソッドの場合、サーバー側はRequest.Formを使用してgetで送信されるデータの量が少なくなります。 post で送信されるデータ量は通常、デフォルトでは制限されていませんが、理論上、IIS4 の最大サイズは 80kb、IIS5 では 1000k です。get のセキュリティは非常に低く、post のセキュリティは高くなります。 highget は、送信されたフォームの action 属性が指す URL にパラメーター データ キューを追加します。その値は、フォーム内の各フィールドに 1 つずつ対応します。 1. URL からは、HTTPPOST メカニズムを使用して、フォーム内の各フィールドとそのコンテンツが HTML ヘッドの action 属性によって指定された URL アドレスに送信されるのを防ぐことができます
。
- 3.2
- GET リクエストはデータ情報を取得するためにデータベースにリクエストを送信します。このリクエストはデータベースの選択操作と同様であり、データをクエリするためにのみ使用されます。またはデータを追加しますが、リソースのコンテンツには影響しません。つまり、リクエストによって副作用は発生しません。何度操作を行っても結果は同じです。
- GET とは異なり、PUT リクエストはサーバーにデータを送信して情報を変更します。このリクエストはデータベースの更新操作と同じで、データの内容を変更するために使用されますが、データの種類は増加しません。 , など。つまり、PUT 操作を何回実行しても、結果は変わりません。
- DELETE リクエストは、名前が示すように、特定のリソースを削除するために使用されます。このリクエストはデータベースの削除操作に似ています。
- 4. PHP の紹介
- ハイパーテキスト プリプロセッサ----ハイパーテキスト プリプロセッサ
個人ホームページ 元の名前
Web 開発者が動的に生成された Web ページをすばやく作成できるようにします。 PHP は、プログラムを HTML ドキュメントに埋め込んで実行します。これは、HTML 編集を完全に生成する CGI よりもはるかに効率的です
HTML:
創設者:
Ramsler Le Rasmus Lerdorf、1968 年生まれ、大学カナダ、ウォータールーのラードルフ氏は、最初に個人の Web ページを保守するためにメンテナンス プログラムを prel 言語で書き、次にそれを C で書き直し、最終的に php/fi につながりましたタイムライン:
1995.06.08 PHP/FI が公開されました
1995 php2.0、MySQL のサポートを追加
1997 php3.0
2000 php4.0
2008 php5 。 0
php6.0はUnicodeエンコードを完全に解決していないため、基本的にはプロダクションラインでのアプリケーションはなく、基本的にはphp5.3.3とphp5.3.4に多くの機能が実装されています。
共通 IDE (統合開発環境):
Coda (Mac)
- PHPStrom
- Adobe Dreamweaver
- NetBeans
NodePad++
- SublimeText
- PHPの利点
PHPの特徴:
phpは、C、Java、Prel、およびPHP独自の構文
- は CGI または Prel と比較できます他のプログラミング言語と比較して、PHP は HTML ドキュメントにプログラムを埋め込んで実行するため、HTML 編集を完全に生成する CGI よりも実行効率が高くなります
- ほとんどすべての一般的なデータベースをサポートします。およびオペレーティングシステム
- PHP は C、C++ を使用してプログラムを拡張できます
- PHP の利点:
オープンソースコード
- 無料
- 迅速さ
- 強いクロスプラットフォーム
- 高効率
- グラフィックス処理
- オブジェクト指向
- プロフェッショナルフォーカス
- PHPテクノロジーアプリケーション:
静的ページ生成
- データベースキャッシュ
- プロセスキャッシュ
- p+css w3c標準
- 大きな負荷
- 分散
- flex
- MVCサポート
- Smarty モジュール エンジン
- PHP認定レベル
- 中級 IPE: インデックス PHP エンジニア PHP エンジニア
- 上級 IAE: インデックス アーキテクチャ エンジニア アーキテクチャ エンジニア
-
* echo、print是php语句,var_dump和print_r是函数 * echo 输出一个或多个字符串,中间以逗号隔开,没有返回值是语言结构而不是真正的函数,因此不能作为表达式的一部分使用 * print也是php的一个关键字,有返回值 只能打印出简单类型变量的值(如int,string),如果字符串显示成功则返回true,否则返回false* print_r 可以打印出复杂类型变量的值(如数组、对象)以列表的形式显示,并以array、object开头,但print_r输出布尔值和NULL的结果没有意义,因为都是打印"\n",因此var_dump()函数更适合调试 * var_dump() 判断一个变量的类型和长度,并输出变量的数值
一般的な HTTP ステータス コード:
200 - リクエスト成功
- 301 -リソース (Web ページなど) は別の URL に永続的にエスケープされます
- 404 - 要求されたリソース (Web ページなど) が存在しません
- 505 - 内部サーバー エラー
- HTTP ステータス コード分類:
1** - 情報、サーバーが受信したリクエストでは、リクエスターが操作の実行を続行する必要があります
- 2** - 成功、操作は正常に受信され、処理されました
- 3** - リダイレクト、リクエストを完了するにはさらなるアクションが必要です
- 4** - クライアント エラー、リクエストに構文エラーが含まれているか、リクエストを完了できません
- 5** サーバー エラー、サーバーの接続中にエラーが発生しましたリクエストを処理していました
8. マジック クオートとは何ですか?
マジック クォートは、エンコード中にエスケープするのではなく、実行時に必要に応じてエスケープするプロセスです。クライアント IP (int が必要) とサーバー IP コードを取得する方法
Client:
10. バージョン管理にこれらのツールを使用する cvs、svn、vss、git$_SERVER["REMOTE_ADDR"];或者getenv('REMOTE_ADDR')
ip2long进行转换
服务器端:gethostbyname('www.baidu.com')
11. データベースを最適化する方法
データベース最適化の主要な方法 (古典的な必見) クリックして取得
最も適切なフィールド属性を選択し、定義されたフィールドの幅を可能な限り減らし、フィールドを NOTNULL に設定してみてください。 「province」と「gender」は ENUM に最適です
- サブクエリの代わりに結合 (JOIN) を使用します
- 手動で作成した一時テーブルを置き換えるにはユニオン (UNION) を適用します
- トランザクション処理
- テーブルをロックする、トランザクション処理を最適化する
- 外部キーを適用する、ロックテーブルを最適化する
- インデックスを作成する
- クエリステートメントを最適化する
- 12. テンプレートエンジンを使ったことがありますか?使用されているテンプレート エンジンの名前は何ですか?
- Smarty: Smarty は非常に古い PHP テンプレート エンジンで、この言語でテンプレートを使用するために最初に選択しました。更新頻度は低く、新世代のテンプレート エンジンの機能がいくつか欠けていますが、それでも一見の価値はあります。
13. トラフィックの多い Web サイトの場合、サーバーのハードウェアが現在のトラフィックをサポートできるかどうかを確認し、データ テーブルを最適化します。外部ホットリンク
大きなファイルのダウンロードを制御
メイントラフィックを迂回するために別のホストを使用する
14. include ステートメントと require ステートメントの違いは何ですか?同じファイルを複数回インクルードすることを避けるために、(?) ステートメントを使用してそれらを置き換えることができます
require は無条件のインクルードです。つまり、require がプロセスに追加されると、条件が満たされているかどうかに関係なく、require が最初に実行されます。ファイルが存在しない場合、またはファイルを開くことができない場合は、エラーが表示され、プログラムの実行が終了します。ただし、require には戻り値がありません (おそらく、require の方が include よりも高速であるためです)。インクルードされたファイルが存在しない場合、プロンプトが表示されます。エラーが表示されますが、プログラムは実行を続行します
注: インクルードされたファイルが存在しないか、構文エラーがある場合、require は致命的ですが、include は無効です
require_once は一度だけインクルードされ、繰り返しインクルードされることを避けることを意味します
-
15. MVC の理解について話します
モデル、ビュー、コントローラーによって完成されるアプリケーションは、実装される関数をコントローラーに送信します。組織関数を受け取り、ビューに渡します
16. PHPで渡される値について説明します参照渡しと参照渡しの違いは何ですか?
変数はデフォルトで常に値によって割り当てられます。つまり、式の値が変数に割り当てられると、式全体の値がターゲット変数に割り当てられます。これは、次のことを意味します。変数が別の変数に割り当てられる 変数を使用する場合、1 つの変数の値を変更しても、他の変数には影響しません。PHP には、変数に値を割り当てる別の方法 (参照割り当て) も用意されています。これは、新しい変数が単に __references__
(つまり、元の変数 へのエイリアスまたはポインターになる) であることを意味します。新しい変数への変更は元の変数に影響し、その逆も同様です。参照割り当てを使用します。割り当てられる変数 (ソース変数) の前に & 記号を追加するだけですオブジェクトはデフォルトで参照渡しになります。より大きなデータの場合は、メモリのオーバーヘッドを節約できる参照渡しの方が適しています
関連する推奨事項:PHP面接の質問の概要
PHP古典的な面接の質問セットPHP古典的な面接の質問セット
以上が2017 年の最新の PHP クラシック面接の質問の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
