PHPのインタビューの質問(VI)

1.作曲は何ですか?そして作曲は行うために使用されていますか?ワークス

作曲PHPは、依存関係の管理ツールです。それはあなたがプロジェクトがコードベースを依存している、それはあなたのプロジェクトにあなたのためにそれらをインストールします宣言することができます。

作曲は、サードパーティ製の管理は、パッケージの主な機能であるダウンロードするための多彩なツールである、このツールの作曲は、PHPで書かれた言語を使用することです。

その主な機能は、サードパーティのパッケージをダウンロードすることです

作曲は、コマンドが依存関係を処理し、現在のディレクトリcomposer.jsonからファイルを読み込み、インストール、およびベンダーのディレクトリにマウント

作曲の更新が依存最新バージョンを入手し、composer.lockファイルをアップグレードするには

2、スタティックを実装する方法PHP(https://www.php.cn/php-ask-430568.html

一つの方法は、それがパス情報モードURLによって変更することができ、アクセスアドレスを書き換えることです。これは、より多くの静的なページのように見えます。したがって、唯一の検索エンジンより親しみやすい、擬似静的を検索エンジンにクロールし、インデックス化されているのより大きなチャンスを持っています

二つ目は、特定の手順によって静的になり、サイトにアクセスすることができ、ユーザーの前にサイトです。静的なページを生成します。ユーザーがページにアクセスした場合。静的なページへのアクセスは、そのため、アクセス速度が速くアクセス時間の速さよりも非常に動的なページになりますので、フロントページの読み込み速度性能は高速で、バックグラウンドでデータベースへの接続が減少することです。データベース上の圧力を低下させる、唯一の欠点は、比較的もう少し硬い、比較的安価なマルチドライブを占めています。

1)、バッファによって実装

必要性のob_get_cleanますfile_put_contents()内蔵の機能など

2)、$ _SERVER [ 'PATH_INFO']によって達成されます

3)の構成は、Apacheによって達成しました

4)構成がnginxのによって達成しました

 

3、デザインパターンを知っていますか?あなたは言っている最も一般的に使用されるデザインパターンの下で

1)シングルモードの例:

Singletonパターンは、一般的なソフトウェアのデザインパターンです。

そのコア構造にのみ単一の実施形態は、特定のクラス分類と呼ばれる含有します。例は、これのインスタンスの数の制御を容易にし、システムリソースを節約するように、シングルモードシステムにのみ1つのクラスインスタンスのインスタンスと外部への容易なアクセスを保証します。

シナリオ:あなたが唯一のいずれかを指定でき、システム内のオブジェクトのクラスをしたい場合は、シングルトンパターンが最適なソリューションです。

2)工場出荷時のパターン:

ファクトリ・パターンは、オブジェクトを作成するためのインタフェースを提供することに主にあります。

次のようなシナリオは以下のとおりです。

、我々はコーディングの時にクラスを作成する必要性を予見することはできませんその例。

B、システムは、製品クラスのインスタンスが作成される方法に依存し、式の組み合わせの詳細べきではありません

3)Observerパターン:

オブジェクトの状態が変化したときオブザーバーパターンはまた、パブリッシュ/サブスクライブ・モデルとして知られている、我々は、オブジェクト間の多くの依存関係を定義、そのすべての扶養家族が通知され、自動的に更新されます。

4)反復モード。

反復モードは、オブジェクトの内部表現を公開せず、各オブジェクト要素の逐次重合にアクセスするための方法を提供します

5)アダプタモード

2つのクラスがインタフェースのミスマッチによって一緒に仕事をしていたそうという、別のを期待するクライアント・インタフェースへのクラスのインターフェイスは、一緒に仕事することはできません。

4、観察モードが実現する方法ですか?ファクトリモードは、どのように達成することですか?アダプタモードは、どのように達成することですか?

オブザーバーパターン(モデルパブリッシュ/サブスクライブ)は、コンポーネント間の密結合を回避する別の方法を提供し、それは、観察と観察対象物を分離します。このモードでは、このようなA法を追加することにより、オブジェクト自体を観察することができます。観測可能なオブジェクトが変更されると、それが登録さオブザーバーにメッセージを送信します。かかわらず、操作対象の受信されたメッセージを観察することができ、観察者が実行された後、観察モードターゲットは理由を知らなくてもお互いに話すことができるようになっています。

ファクトリパターンクラスのインスタンスの数が多いの責任は、共通のインタフェースを持っています。工場モデルを動的にインスタンス化するクラスごとのノウハウを実装することなく、クラスのどのインスタンスを決定することができます。顧客クラスとファクトリクラスは別のものです。消費者が製品を必要とするたびに、あなたがする必要があることは、工場を要求することです。新製品の入院時の修正なしに消費者。もちろん、欠点もありますが、製品が変更されたとき、ファクトリクラスはそれに応じて改正する必要があります。

アダプタモードはまた、変圧器モデルと呼ばれるインタフェースの不一致一緒に働くことができないので、それはそうと仕事に元の2つのクラスのことを、別のインタフェース期待のクライアント・インターフェース・クラスに変換されます。アダプタクラスは、クライアントに渡されたパラメータの適切な例を返すことがあります。


5、PHPの最適化プログラム(https://blog.csdn.net/csflvcxx/article/details/81257986

PHP言語レベルのパフォーマンスの最適化、PHPの文法の基本的な機能を意味し、最適化のこの部分は比較的早く結果を参照してください、比較的単純で見やすい、すぐに実現可能です。少ない書き込みPHPコード、問題を解決するためのPHP自身の能力を使用します。

PHP組み込みの変数、定数、関数の詳しい使用。PHPの機能と私たちは違いを達成するためのPHPコードを使用するのと同じ機能を実現するための組み込み関数を使用するがあります。:PHPは組み込みの長所と短所のパフォーマンスの機能。PHPは、まだ高速と低速の機能の違いを存在して構築され、より少ないPHPの魔法の方法、メモリの使用の合理化。

一部の最適化データベース、インデックス、ああ、ああ、主キー、合理的な利用、フィールドの長さと使用のタイプ 

6、あなたが知っている次のセッションとクッキー

 クッキーは、クッキークッキーは、他の人がクッキーのセッションIDは、アカウントにセキュリティセッションを取って使用する必要がありますあり、欺くことができ、非常に安全ではありません。

セッションは、一定時間、サーバー上に保存されます。増加にアクセスする場合、サーバーを軽減考慮して、サーバーのフットプリントのパフォーマンスを比較し、パフォーマンスがCOOKIEを使用する必要があります。

     クッキー、システムログインの役割のためのビジネス・ロジックとメカニズムの舞台裏の会話を保存するためのユーザー情報のセッション?

    クライアント側のクッキーには、安全ではないので、クッキーの役割は、ブラウザのクッキーが記録セッションの故障につながることができれば、他のが無効になっている、欠陥問題を欠落しているステートレスのHTTPプロトコルを解決することです。

        サーバにおいて、セッションは、比較的安全な記憶装置である。簡単にサーバによって制御は、様々な媒体に格納されています。PHPのphp.ini設定ファイルとリカバリ・パスは、セッションの空室率を提供することができます。

    レセプションの一時クッキーは、セッションID、商品情報サービスカートとして、店舗のコンテンツに使用され、使用が簡単に盗まれました。

    セッション変数とクッキーが同じタイプです。ユーザーがブラウザが任意のクッキーと互換性がない設定した場合、ユーザーはセッション変数を使用することはできません!

ときに、ユーザーの訪問ページ、オペレーティング環境内の各セッション変数は、自動的にユーザーが20分のページを離れた後に、これらのセッション変数が残ることが生成されます!

7は、ユーザーの認証セッションとクッキーを実装する方法に基づくものではありません。

HTTPのヘッダ部に暗号化されたユーザ情報を、取得した情報のGET HTTPヘッダ,,検証するたびに

8、あなたは現在のフレームで使用されるコアな概念で言います

Laravelのコア概念は、次のとおりコンテナサービス、サービスプロバイダ、ファサード(ファサード)、契約(契約)

Yiiの中核となる概念:コンポーネント、プロパティ、イベント、アクション、サービスロケータ、依存性注入


9. CSRF攻撃、XSS攻撃は何ですか?どのように防ぐために、

 悪質なウェブサイトは、情報を適切に機能したり盗むことができない悪質なプログラムによって引き起こされ、ロードされたコンテンツで実行するためにサイトのコンテンツを入力する際、ユーザー意図的に入力CSSやJSコード:クロスサイトスクリプティング攻撃、問題の原因:XSSもCSS、フルネームとして知られています

防止:1:のような定期的なフィルターの特殊文字、<> =「」

  2 HTMLタグ)を除去strp_tags(あります

  特殊文字のエスケープにhtmlentitiesを使用して3 PHP関数()にaddslashes()

10、RESTfulなAPIは、あなたが知っていますか?使用するかについての話。

だから、RESTfulなAPIはRESTスタイルのAPIです。RESTfulなAPIは、それとどのようなシナリオの下を使うのか?今日のインターネットアプリケーションにおけるフロントエンドの表示媒体は非常に豊富です。携帯電話、フラットパネルコンピュータのディスプレイだけでなく、PCや他のメディアがあります。そして、受信したユーザ要求の先端が統一されたバックエンドによって処理され、確かに異なるフロントエンドに最も科学的かつ最も経済的な方法を返す、RESTfulなAPIは、フロントエンドとの相互作用との様々な形のバックエンドを制御するプロトコルのセットです。

 バックエンドへのフロントエンドが提供するRESTfulなAPIは、サーバの呼び出しです。背景に対してHTTP要求を開始するために、遠位API呼び出し、処理結果の前端に要求背面にバックグラウンド応答。これは典型的なRESTfulなHTTPベースのプロトコルです。それでは、RESTfulなAPIの設計原理とその規範?

     1.リソース。まず、リソースの概念を把握します。リソースは、ネットワーク上のエンティティ、テキスト、画像や歌です。リソースは常にキャリアを通じて、その内容を反映させます。テキストTXTをすることができ、あなたはまた、HTMLやXMLを使用することができ、あなたはJPG画像形式またはPNG形式を使用することができ、JSONは現在、資源の最も一般的な症状です。

     2、統一されたインタフェース。RESTfulなスタイルデータ要素の操作CRUDメソッドは、それぞれHTTP対応(作成、読み取り、更新、削除):GETリソース、新しいリソースのためにPOSTを(また、リソースを更新するために使用することができます)、PUTはリソースを更新するために使用され得ることが、ためにDELETE削除リソースなので、そのデータ操作に統一されたインタフェース。

     3、URI。我々は、すなわち各URIが特定のリソースに対応する、URI(ユニフォーム・リソース・ロケータ)とリソースを指すことができます。それはすべてのリソースURIアドレスまたは識別子になるように、このリソースを入手するためにURIは、それをアクセスすることができます。一般に、各リソースは、対応するURIは、URIは、最も一般的なURLである少なくとも有しています。

     4、ステートレス。すべてのリソースはURIすることができ、これは他のリソースを見つけるとは何の関係もありません、他のリソースがあるため変更の変更されないこと、いわゆるステートレス。ログインシステム:例は、このような最初のステップのために従業員の給与を照会するためのステップとして、説明するの状態と状態に違いはありません。ステップ2:ゴーページ問合せの賃金へ。第三段階:検索の従業員。ステップ4:賃金を参照するには、名前をクリックします。この動作フローは、各ステップがあれば、前処理が成功しなかったとして、以降の動作を実行することができない、前のステップに依存する状態問合せ賃金を有することです。あなたが指定したスタッフが支払いを受けることができURLを入力した場合、賃金が他のリソースまたは状態に依存し得ることはありませんので、この場合はステートレスは、であり、この場合には、賃金はAとURLに対応し、資源でありますHTTP GETメソッドでリソースを取得することができ、これは典型的なRESTfulなスタイルです。

11、設計の原則

シングル責任原則、インタフェースの分離原理、オープン - クローズ原則、置換原則、依存関係逆転の原則

12は、自動ロード場合、どのように達成するために作曲していますか?何PSR-4はい?

どのように自動的にロードする
__autoload()自動的に負荷により1)

2)()を自動的spl_autoload_register介してロード

PSR-4:オートローダ

公開された72元の記事 ウォン称賛7 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_39399966/article/details/104396637