プログラムの速度を求めます。プログラムの速度ではありません。


1.埋め込まれたHTMLコードを使用して、PHPのecho文ではありません。PHPは埋め込み式Webプログラミング言語なので、HTMLコードとPHPコードを互いに埋め込むことができます。しかし、多くのプログラマは、HTMLコードの中で「」を使いすぎてPHPコードを埋め込むと、何度もPHP解释器を呼び出し、PHPコードの運行速度を低下させてしまうので、HTMLコードを直接使用せずにPHPのecho文を使って出力したいと心配しています。しかし事実は正反対です。各PHPページはPHP解釈器を一回だけ呼び出してすべてのPHPコードを説明しますので、必要な時だけPHPコードを埋め込みますが、大多数の時は直接HTMLコードを使って結果を入力します。プログラムの運行速度を下げるだけではなく、echo文の解析を減らしたので、コードの運行速度を上げることができます。次のコードは私たちの結論を証明します。このコードでは,前に紹介した時間試験関数を用いた。        2.str-replaceを使うのはereg-replaceではない。       Perlを使ってプログラミングすることに慣れているプログラマーは、ereg_uをもっと使いたいです。replaceは文字列置換作業を完了しました。PHPではereg_replaceの使い方はPerlのモードマッチングの使い方と似ています。しかし、次のコードは、strを使って証明します。replace 代わりに ereg_replaceはコードの運行速度を大幅に高めることができます。テストstrreplaceとereg_replaceの運行速度//このコードはstrをテストします。replaceの運行速度exphasis; ?> for ($i=0; $i<1000; $i+++) { strreplace(i) b> $string.⇒'////このコードはereg_をテストします。replaceの運転速度for ($i=0; $i<1000; $i+++) { ereg_replace(*i> <\1 b> $string.⇒'////印刷結果の結論はstrを使うreplaceの時間 - ereg_を使うpatternの時間 - 上のコードを実行して得られた結果は、strを使っています。replaceの時間 - 0.089757はereg_を使用しますpatternの時間 - 0.48881運転の結果から、strを使っていることが分かります。replace代替ereg_replaceは文字列置換関数として、コードの動作速度を大幅に向上させました。        3.文字列の参照に注意する        PHPは他の多くのプログラミング言語と同じように、二重引用符(「」)を使って文字列を引用してもいいし、シングル引用符()を使ってもいいです。しかしPHPでは、ダブルクォーテーションを使って文字列を参照すると、PHP解析器はまず文字列に変数の参照があるかどうかを分析し、変数があれば変数を置換します。シングルクォーテーションマークであれば、このような複雑さはありません。直接にシングルクォーテーションマークに含まれるすべての文字列を直接に表示します。PHPプログラミングでは、シングル引用符を使用すると文字列変数はダブル引用符を使用するよりも速くなります。        4.データベースでの共同作業の使用を避ける        他のWebプログラミング言語に比べて、PHPのデータベース機能は非常に強いです。しかし、PHPでのデータベースの運行はまだ時間がかかりますので、Webプログラマーとしては、データベースの照会操作をできるだけ減らすとともに、データベースに適切なインデックスを作成する必要があります。もう一つの注意すべきことはPHPでデータベースを操作する時、できるだけ複数のデータテーブルの共同操作を使わないでください。連携操作はデータベースの照会機能を高めることができますが、サーバーの負担を大きく増加しました。この問題を説明するために、次のような簡単な例を見てもいいです。私たちはデータベースで二つのデータテーブルfooとbig_を作成しました。fooデータテーブルfooには、1から1000までの自然数が含まれているフィールドが一つしかありません。データテーブルbig_fooは同じフィールドしかないですが、1-1,000,000の間の自然数は全部含まれています。ですから、大きさから言えば、ビッググです。fooイコールfooはそれ自体と連携して動作します。$db->query("select" * from foo");0.0323273 secs$db->next_record()0.000489999999 secs$db->query("insert" イント foo values (NULL)「」,;0.01956 secs$db->query("select" * from foo as a, foo as b");17.280596 secs$db->query("select" * from foo as a, foo as b where a.id > b.id");14.645251 secs$db->query("select" * from foo as a, foo as b where a.id = b.id");0.041269 secs$db->query("select" * from big_foo");25.393672 secsは上から操作した結果、私達は2つの1000本の記録があるデータテーブルに対して連携していることが分かりました。その速度は1つの100000本の記録の大型データテーブルに対して単独で操作するのに比べてどれぐらい速いですか?         5.includeとrequireの違いに注意する        PHPの変化では、include()はrequire()と同じ機能ですが、使い方にはいくつかの違いがあります。include()は条件付き関数が含まれていますが、require()は無条件の関数が含まれています。例えば、次の例では、変数$somgthingが真正であれば、ファイルsomefile:if($something){include(somefile)}が含まれます。ただし、$somethingがどの値を取るかにかかわらず、以下のコードはファイルsomefileをファイルに含める。if($something){require(somefile)}以下のこの興味深い例は、これらの2つの関数の違いを十分に説明しています。$i = 1;while ($i < 3) { require(「somefile.$i」);$i+++このコードの中で循環するたびに、プログラムは同じファイルを含めます。明らかにこれはプログラマの初心ではないです。コードの中からこのコードは循環するたびに異なるファイルを含めてほしいということが分かります。この機能を完成するには、関数include(){$i = 1;while ($i < 3) { include(「somefile.$i」)$i+++        6.echoとprintの違いに注意する        PHPではechoとprintの機能も基本的に同じですが、両者の間にも微妙な違いがあります。PHPコードでは、下記のコードを実行した後の変数$resの値は1であるように、printを普通の関数として使用することができます。ret = print "ハロー ワールドこれはprintがいくつかの複雑な表現の中で使うことを意味して、echoは駄目です。同様に、コードの中でecho文の運行速度は少しprint文より速くなります。echo文はいかなる数値を返す必要がないからです。