しかし、PHP プログラミングのマスターになるのは簡単ではありません。多くの人が想像しているのとは異なり、複雑な問題を解決するために簡単なコードをいくつか書くことができれば、真の PHP プログラミングのマスターになるには、他の多くの問題も考慮する必要があります。次の 3 つのガイドラインは、成熟した PHP プログラマーがプログラミングにおいて最初に従うべきガイドラインです。
1. 怠惰は金
2. 美しいコードを書く
3. プログラミングの速度ではなく、プログラムの速度を追求
1. 怠惰は金
怠惰なプログラマーですか?このアイデアはとても奇妙です!なぜなら、おそらく世界で最も忙しい人々はコンピュータープログラマーだからです。しかし、プログラマは忙しすぎるからこそ、プログラミングする際に怠けることを学ぶ必要があります。
プログラマには、怠惰な方法が 2 つあります。1 つは、他の人の既成のプログラム コードを大胆に使用し、それらのコードを自分のプログラムまたはプロジェクトに統合することです。 2 つ目は、関数ライブラリを構築するための便利なコードを作成することです。これにより、将来プログラムを作成するときに簡単に使用できるようになり、必然的に面倒な作業が軽減されます。
これら 2 つの遅延メソッドは、PHP プログラマーに非常に適しています。
まず第一に、PHP は自由でオープンな環境で生まれ、成長した言語です。世界中には、PHP の完成度を目指して絶えず努力しているプログラマーが何千人もいます。また、彼らは自分の創意工夫や自分が書いたコードを他の人と共有することにも意欲を持っています。 PHP の Web サイト、メーリング リスト、ニュース グループからは、毎日多くの優れたプログラム コードを見つけることができます。これを言っても、他の人がコードを書いてくれるのを一日中待つことを勧めているわけではありませんが、「偉人の肩の上に立って」、他の人のプログラム コードをスマートに適用する「使用原則」を全面的に推進することはできます。多くの時間を節約できます。次に、PHP では独自の関数ライブラリを簡単に構築できるため、将来プログラムを作成する際に多くの手間を省くことができます。
以下の著者は、いくつかの一般的な関数を紹介します。これらの関数の一部はインターネット上のオープン ソース プロジェクトからのものであり、一部はメーリング リストから選択されたものです。それらを自分のライブラリに追加できれば、遅かれ早かれその恩恵を受けることになるでしょう。
1. 一般的なデータベース処理関数
他の CGI 関数と比較して、PHP の利点の 1 つは、非常に強力なデータベース処理機能を備えていることです。しかし、PHP では、さまざまなデータベースを処理するためにいくつかの特殊な関数が使用されており、一般的なデータベース処理関数が不足しています。これにより、プログラム コードの移植性が大幅に低下し、プログラミング初心者の友人にも多大な不便をもたらします。
インターネットでは、多くのプログラマーがクラスをカプセル化することでこの問題を解決しました。彼らは、Linux の世界で人気のある Mysql であっても、Windows プラットフォームで広く普及している SqlServer であっても、あらゆる一般的なデータベースを処理するための統合関数を作成しました。個人的には、これらの関数をとても気に入っています。使用しているデータベースを考慮するだけでなく、データベース接続やデータベース ハンドルなどの複雑なことを考慮することなく、「query」や「next_record」などの単純な関数を直接使用できるからです。 。
これらの関数が必要な場合は、次の URL にアクセスして入手できます:
http://phplib.netuse.de/
http://phpclasses.UpperDesign.com/browse.html /package /20
http://phpdb.linuxbox.com/
2. 変数デバッグ機能
PHP プログラムのデバッグは常にこれです。 VB などの高級言語のような統合されたコンパイルおよびデバッグ環境がなく、Perl のような Linux または DOS 環境で直接実行することもできません。実際、echo ステートメントを柔軟に使用することで、PHP のデバッグを完了できます。
次の関数を使用すると、プログラム内の任意の変数の型と値をいつでも確認できます。
function ss_array_as_string (&$array, $column = 0) {
$str = "Array(
n";
while(list($var, $val) = each($array) ){
for ($i = 0; $i < $column+1; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;"
}
$str .= $var. ==> ;
$str .= ss_as_string($val, $column+1)."
n"
}
for ($i = 0; $i < ; $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
function ss_object_as_string (&$object, $column = 0) {
if (empty($object->classname)) {
return "$object";
}
else {
$str = $object->classname."(
n";
while (list(,$var) = each($object->persistent_slots) )) {
for ($i = 0; $i < $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;"
}
グローバル$$var;
$str .= $var. ==> ;
$str .= ss_as_string($$var, column+1)."
n"; ($i = 0; $i < $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;"
}
return $str.);
}
}
function ss_as_string (&$thing, $column = 0) {
if (is_object($thing)) {
return ss_object_as_string($thing, $column);
}
elseif (is_array($thing)) {
return ss_array_as_string($thing, $column);
}
elseif (is_double($thing)) {
return "Double(".$thing.")";
}
elseif (is_long($thing)) {
return "Long(".$thing.")";
}
elseif (is_string($thing)) {
return "String(".$thing.")";
}
else {
return "Unknown(".$thing.")";
}
}
必要なときに、プログラム内で使用される次の 1 条のコード、すなわちプログラム内で使用される量 (数組とオブジェクトを含む) の型と値:
echo を追加します。 ss_as_string($my_variable);
次の句を使用すると、プログラム内のすべての値を直接確認できます:
echo ss_as_string($GLOBALS);