PHP技術開発スキルの共有_PHPチュートリアル
1. PHPの動作効率の向上
PHPの利点の1つは非常に高速であることであり、一般的なWebサイトアプリケーションには十分であると言えます。ただし、サイトのトラフィックが多い、帯域幅が狭い、またはその他の要因によりサーバーのパフォーマンスのボトルネックが発生する場合は、PHP の速度をさらに向上させる他の方法を考える必要がある場合があります。
1.1. コードの最適化
1. i=i+1 の代わりに i+=1 を使用します。 C/C++ の習慣に準拠しており、非常に効率的です。
2. 可能な限りPHPの内部関数を使用する。自分で関数を書く前に、関連する関数がないかマニュアルを詳しく調べてください。そうでないと、無駄な作業になります。
3. 一重引用符で囲まれた文字列を使用できる場合は、一重引用符で囲まれた文字列を使用するようにしてください。一重引用符で囲まれた文字列は、二重引用符で囲まれた文字列よりも効率的です。
4. 配列を走査するには while の代わりに foreach を使用します。配列を走査するとき、foreach の効率は while ループの効率よりも大幅に高く、reset 関数を呼び出す必要はありません。 2 つのトラバーサル メソッドは次のとおりです。
プログラム 1:
echo "key: $ key; value: $ value";
プログラム 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 はい (モジュールが有効かどうか) )
1.3. ファイルキャッシュ
この方法は通常、PHP や PERL などの CGI プログラムで使用されますが、これらのプログラムは、ユーザーのリクエストを受け取った後、すぐに結果をユーザーに返すのではなく、インタプリタを介してユーザーに返すという共通の特徴があるためです。解釈と実行を行うと、実行結果がクライアントに返されます。これには通常、データベースへのアクセスが伴います。これにより問題が発生します。2 人のユーザーが同じページにアクセスすると、システムは 2 つのリクエストを別々に処理しますが、実際には 2 つの操作がまったく同じである可能性があり、目に見えないほどシステムの負荷が増加します。したがって、通常の解決策は、ユーザーが初めてページにアクセスしたときにシステム メモリにスペースを空け、ユーザーが再度そのページにアクセスしたときに、システムがそのページを直接削除することです。再解釈や実行を行わずにメモリから呼び出されるこのメモリ空間はキャッシュと呼ばれます。現在人気のあるキャッシュ管理プログラムは、Zend Technologies の Zend Cache です。
2. システムの外部コマンドを実行します
サーバーサイドスクリプト言語として、PHP は単純または複雑な動的 Web ページを作成するなどのタスクを十分に実行できます。ただし、常にそうとは限りません。場合によっては、特定の機能を実装するために、半分の労力で 2 倍の結果を得ることができるように、オペレーティング システムの外部プログラム (またはコマンド) に頼らなければなりません。
PHP で外部コマンドを呼び出すには、次の 3 つの方法を使用できます:
2.1. PHP が提供する特別な関数を使用します
PHP は、外部コマンドを実行するために、合計 3 つの特別な関数を提供します: system()、exec()、passthru( )。
system()
プロトタイプ: string system (string command [, int return_var])
system() 関数は、他の言語の関数と似ており、指定されたコマンドを実行し、結果を出力して返します。 2 番目のパラメーターはオプションであり、コマンドの実行後にステータス コードを取得するために使用されます。
例:
system("/usr/local/bin/webalizer/webalizer");
exec()
プロトタイプ: string exec (string command [, string array [, int return_var]])
Exec() 関数とシステム() も同様で、指定されたコマンドも実行されますが、結果は出力されず、結果の最後の行が返されます。コマンド結果の最後の行のみを返しますが、2 番目のパラメーター配列を使用すると、配列の最後に結果を 1 行ずつ追加することで完全な結果を取得できます。したがって、配列が空でない場合は、呼び出す前に unset() を使用して配列をクリアするのが最善です。第3パラメータは第2パラメータを指定した場合のみ、コマンド実行時のステータスコードを取得できます。
例:
exec("/bin/ls -l", $res); exec("/ bin/ls -l", $res, $rc);
passthru()
passthru() はコマンドを呼び出すだけで戻りません実行結果はそのまま標準出力装置に出力されます。したがって、 passthru() 関数は、pbmplus (元の画像のバイナリ ストリームを出力する、Unix で画像を処理するツール) のようなプログラムを呼び出すためによく使用されます。コマンド実行時のステータスコードも取得できます。
例:
2.2. Popen()関数を使用してプロセスを開きます
上記のメソッドは単にコマンドを実行するだけで、コマンドと対話することはできません。ただし、コマンドに何かを入力する必要がある場合があります。たとえば、Linux システム ユーザーを追加する場合、su を呼び出して現在のユーザーを root に変更する必要があり、su コマンドはコマンド ラインに root パスワードを入力する必要があります。この場合、明らかに上記の方法を使用することはできません。
例1
$fp=popen("/bin/ls -l", "r");
例2
コードをコピーする
("%s "%s %s"",$sucommand,$useradd,$user);
$fp = @popen($user_add,"w"); );
@pclose($fp);
3. 適切なプログラミング スタイルを開発する
多くの場合、PHP の最も価値のある機能は、その緩い構文である最も弱い部分でもあります。 PHP が広く使用されているのは、経験の浅い Web 開発者の多くが計画、一貫性、ドキュメント化についてあまり心配することなく強力なアプリケーションを作成できるためです。残念ながら、上記の特性により、多くの PHP ソース コードは肥大化して読みにくく、さらには保守が不可能になってしまいます。コードの保守性を決定する重要な要素は、コードの形式とコメントです。プロジェクトのすべてのコードは、一貫した方法で編成する必要があります。以下では、PHP プログラムで適切なコーディング スタイルを開発する方法について説明します。
3.1. インデント
開発者が書くすべてのコードは完全にインデント方法に従って書かれるべきです。これは、コードの可読性を向上させるための最も基本的な対策です。コードにコメントを付けない場合でも、コードを他の人が理解しやすくするためにインデントは非常に役立ちます。
3.2. コメントを追加する
プログラミング時にコメントを追加することは良い習慣です。PHP では、コメントをページコードに追加することができます。コメントは、C 言語のコメント構文と同じです。 「/*」と「*/」を使用して段落をコメントアウトできます。ダブルスラッシュ「//」はコメント文字として使用できます。
3.3. 制御構造
これは個人の好みに大きく依存します。分岐ステートメントのない制御構造のコードがまだ多くあり、その結果、可読性が非常に低くなります。たとえば、分岐のない IF ステートメントを使用すると、可読性が悪化するだけでなく、他の人がプログラムを変更したときに可読性が低下します。多くのバグを引き起こします。次の例を見てください:
悪い例:
if ($a == 1) echo 'A was = 1';
これは非常に読みにくいです。それはうまくいきますが、あなた以外には誰もそれを評価しません。 改良された例:
if ($a == 1)
echo 'A was等しい 1';
これで、少なくともこのコードは読み取れるようになりましたが、まだあまり保守しやすくはありません。 $a==1 のときに追加のイベントを発生させたい場合、または分岐を追加する必要がある場合はどうすればよいでしょうか? 後のプログラマーが中括弧や else キーワードを追加するのを忘れた場合、プログラムにバグが発生します。
完璧な例
if (($a == 1) && ($b==2)) {
echo 'A was等しい' / /very 他のコードも簡単に追加できます
} elseif (($a == 1) && ($b==3)) { //その他の操作
}
ifとelseifの後のスペースに注意してください。変更されますまた、elseif 実行プログラム部分にはステートメントはなくコメントのみが存在し、一見冗長に見えますが、将来プログラムを保守するプログラマにとっては非常に便利なヒントとなります。 、機能の追加に非常に役立ちます。
3.4. Includeを使って関数のモジュール化を実現します
よく使う関数をPHPファイルに格納しておき、その関数を呼び出すPHPファイルに関数を含めたファイルをインクルードします。このとき、Include関数を使用できます。具体的な構文は次のとおりです:
include($FileName);
使用するときは次の点に注意してください:
1. 複数のファイルに include ステートメントがある場合、File1 には File1 が含まれます。 File1 には File2 が含まれ、File2 には File3 が含まれ、File3 には File1 が含まれるなど、自己完結型、つまり循環的な包含は避けるべきです
2. 含まれるスクリプト言語のタイプは、PHP 言語タイプまたはスクリプト ステートメント セグメントである必要があります。 。

ホット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 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

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

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

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