ホームページ  >  記事  >  バックエンド開発  >  PHP テクノロジー開発スキルの共有_PHP チュートリアル

PHP テクノロジー開発スキルの共有_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:35:00780ブラウズ

このドキュメントは、読者にインスピレーションを与えることを目的として、一定の経験を持つ 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 つの走査方法は次のとおりです:

Actipro CodeHighlighter (フリーウェア) によって生成されたコードの強調表示
プログラム 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

http://www.bkjia.com/PHPjc/508424.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/508424.html技術記事このドキュメントは、読者にインスピレーションを与えることを目的として、一定の経験を持つ PHP プログラマを対象として、PHP 開発におけるいくつかの開発テクニックを紹介します。 1. PHPの動作効率を向上させます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。