このドキュメントは、読者にインスピレーションを与えることを目的として、一定の経験を持つ PHP プログラマーを対象として、PHP 開発におけるいくつかの開発テクニックを紹介します。
1. PHPの動作効率を向上させる
PHPの利点の一つは非常に高速であることであり、一般的なWebサイトアプリケーションには十分であると言えます。ただし、サイトのアクセス数が多い、帯域幅が狭い、またはサーバーのパフォーマンスのボトルネックを引き起こすその他の要因がある場合は、PHP の速度をさらに向上させるための他の方法を考える必要があるかもしれません。 1.1. コードの最適化
1. i=i+1 を i+=1 に置き換えます。 C/C++ の習慣に準拠しており、非常に効率的です。
2. 可能な限りPHPの内部関数を使用する。自分で関数を書く前に、関連する関数がないかマニュアルを詳しく調べてください。そうでないと、無駄な作業になります。
3. 一重引用符で囲まれた文字列を使用できる場合は、一重引用符で囲まれた文字列を使用するようにしてください。一重引用符で囲まれた文字列は、二重引用符で囲まれた文字列よりも効率的です。
4. 配列を走査するには while の代わりに foreach を使用します。配列を走査するとき、foreach の効率は while ループの効率よりも大幅に高く、reset 関数を呼び出す必要はありません。 2 つの走査方法は次のとおりです:
プログラム 1:
リセット ($arr); whilet(list
($key、$ $ $ ==($ arr)){ echo "キー: $key; 値: $value
ん「; 」 } プログラム 2:
foreach ($arr as
$
key => $value) { echo "キー: $key; 値: $value
ん「; 」 }
1.2. ページを圧縮します
HTTP1.1 プロトコルは、ページの圧縮と送信をサポートしています。これは、サーバーがページを圧縮してクライアントに送信し、その後クライアント上でページを解凍してクライアントに表示することを意味します。サーバー側で送信する方法は 2 つあります。1 つは、送信するときに、圧縮されたページをクライアントに送信するだけです。これは、静的な Web ページが多い場合に適しています。ほとんどのサイトでは、動的ページの数が多くなりますが、クライアントに送信されるページの多くは実際には存在しないため、クライアントからのユーザー要求を受信したときにサーバーによって動的に生成されるため、この方法は適していません。生成された動的ページは、圧縮してクライアントに送信する前に、まず生成する必要があります。 PHP バージョン 4.0.4 以降では、php.ini ファイルに設定行「output_handler = ob_gzhandler」を追加できるため、動的に生成された各ページはクライアントに送信される前に圧縮されますが、 PHP公式サイト, このパラメータは、PHPの動作異常を引き起こしやすいため、「zlib.output_compression = on」パラメータと同時に使用することはできません。また、PHPプログラムの動的に生成されたページのみを圧縮できます。多数の静的ページ、特に画像ファイルでは機能しません。ただし、mod_gzip モジュールは、静的ページをクライアントに送信する前に圧縮する機能を Apahe に提供します。その圧縮率は最大 10 に達し、通常は 3 に達します。これは、Web サイトの送信速度が向上したことを意味します。 3回以上。 mod_gzip を使用するには、それに応じて Apache を設定する必要があります。 httpd.conf ファイルにいくつかのパラメーターを追加する必要があります。
mod_gzip_on はい (モジュールが有効かどうか) mod_gzip_minimum_file_size
1002(最小圧縮ファイルサイズ) mod_gzip_maximum_file_size
0 (圧縮ファイルの最大サイズ、0 は制限なしを意味します) mod_gzip_maximum_inmem_size
60000 (最大占有メモリ) mod_gzip_item_include
file "..gif102SINA>DOUBLE_QUOTATION (gifで終わるファイルは圧縮して送信する必要があります) mod_gzip_item_include ファイル
".txt102SINA>DOUBLE_QUOTATION mod_gzip_item_include
file ".html102SINA>DOUBLE_QUOTATION mod_gzip_item_exclude ファイル
".css102SINA>DOUBLE_QUOTATION
1.3. ファイルのキャッシュ
このメソッドは通常、PHPやPERLなどのCGIプログラムで使用されます。これらのプログラムは、ユーザーのリクエストを受け取った後、結果をすぐにユーザーに返すのではなく、インタプリタによって解釈されて実行されるという共通の特徴を備えているためです。結果はクライアントに返されますが、これには通常データベースへのアクセスが伴います。これにより問題が発生します。2 人のユーザーが同じページにアクセスすると、システムは 2 つのリクエストを別々に処理しますが、実際には 2 つの操作がまったく同じである可能性があり、目に見えないほどシステムの負荷が増加します。したがって、通常の解決策は、ユーザーが初めてページにアクセスしたときにシステム メモリにスペースを空け、ユーザーが再度そのページにアクセスしたときに、システムがそのページを直接削除することです。再解釈や実行を行わずにメモリから呼び出されるこのメモリ空間はキャッシュと呼ばれます。現在人気のあるキャッシュ管理プログラムは、Zend Technologies の Zend Cache です。
2. システム外部コマンドを実行します
PHP は、サーバーサイドのスクリプト言語として、単純または複雑な動的 Web ページを作成するなどのタスクを完全に実行できます。しかし、常にそうとは限りません。特定の機能を実装するには、半分の労力で 2 倍の結果を達成できるオペレーティング システム の外部プログラム (またはコマンド) に頼らなければならない場合があります。
PHP で外部コマンドを呼び出すには、次の 3 つの方法を使用できます。
2.1. PHPが提供する特殊関数を利用するPHP は、外部コマンドを実行するための、system()、exec()、および passthru() の合計 3 つの特殊な関数を提供します。
システム()
プロトタイプ: string system (string command [, int return_var])
system()関数は他の言語と同様で、指定されたコマンドを実行し、結果を出力して返します。 2 番目のパラメーターはオプションであり、コマンドの実行後にステータス コードを取得するために使用されます。
例:
システム("/usr/local/bin/webalizer/webalizer&q

phpssionsStrackuserdataacrossmultiplepagerequestsusingauniqueidstoredinacookie.here'showtomanageetheemefectively:1)Startassession withsession_start()andstoredatain $ _ session.2)RegeneratesseSsessidafterloginwithsession_id(the topreventes_id)

PHPでは、次の手順を通じてセッションデータを繰り返すことができます。1。session_start()を使用してセッションを開始します。 2。$ _Sessionアレイのすべてのキー価値ペアを介してforeachループを反復します。 3.複雑なデータ構造を処理する場合、is_array()またはis_object()関数を使用し、print_r()を使用して詳細情報を出力します。 4.トラバーサルを最適化する場合、ページングを使用して、一度に大量のデータの処理を避けることができます。これにより、実際のプロジェクトでPHPセッションデータをより効率的に管理および使用するのに役立ちます。

このセッションは、サーバー側の状態管理メカニズムを介してユーザー認証を実現します。 1)セッションの作成と一意のIDの生成、2)IDはCookieを介して渡されます。3)サーバーストアとIDを介してセッションデータにアクセスします。

tostoreauser'snameInappession、starthessession withsession_start()、thensignthenameto $ _session ['username']。1)ousession_start()toinitializethessession.2)assighttheuser'snameto $ _ session ['username']

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









