PHP ist eine effiziente Netzwerkprogrammiersprache. Aufgrund seiner Vorteile des flexiblen Schreibens und der schnellen Ausführung hat es sich schnell zur bevorzugten Sprache für Webprogrammierer entwickelt. Eine maßgebliche Umfrage vor nicht allzu langer Zeit ergab, dass 31,6 % der Websites mittlerweile PHP als wichtigste serverseitige Programmiersprache verwenden.
Allerdings ist es nicht einfach, ein PHP-Programmiermeister zu werden. Es ist nicht so, wie viele Leute es sich vorstellen: Solange Sie schnell ein paar einfache Codes schreiben können, um ein komplexes Problem zu lösen, müssen Sie als echter PHP-Meister auch viele andere Probleme berücksichtigen. Die folgenden drei Richtlinien sind die Richtlinien, die ein ausgereifter PHP-Programmierer bei der Programmierung zunächst befolgen sollte.
1. Faulheit ist Gold
2. Schreiben Sie schönen Code
3. Verfolgen Sie die Geschwindigkeit des Programms, nicht die Geschwindigkeit der Programmierung
1. Faulheit ist Gold
Sind Sie ein fauler Programmierer? ? Diese Idee ist so seltsam! Denn die wahrscheinlich beschäftigtsten Menschen der Welt sind Computerprogrammierer. Aber gerade weil Programmierer zu beschäftigt sind, sollten sie lernen, beim Programmieren faul zu sein.
Für einen Programmierer gibt es zwei faule Wege: Erstens, nutzen Sie mutig die vorgefertigten Programmcodes anderer Leute und integrieren Sie diese Codes in Ihre eigenen Programme oder Projekte. Die zweite besteht darin, einige nützliche Codes zu schreiben, um eine Funktionsbibliothek zu erstellen, die beim Schreiben zukünftiger Programme problemlos verwendet werden kann. Dies erspart Ihnen viel repetitive Arbeit und macht Sie natürlich weniger faul.
Diese beiden Lazy-Methoden eignen sich sehr gut für PHP-Programmierer.
Zunächst einmal ist PHP eine Sprache, die in einer freien und offenen Umgebung geboren und gewachsen ist. Es gibt Tausende von Programmierern auf der ganzen Welt, die ständig nach der Perfektion von PHP streben und auch bereit sind, ihren Einfallsreichtum und den Code, den sie schreiben, mit anderen zu teilen. Auf einigen PHP-Websites, Mailinglisten und Newsgroups finden Sie täglich jede Menge hervorragenden Programmcode. Damit ermutige ich Sie nicht, den ganzen Tag darauf zu warten, dass andere Code für Sie schreiben, sondern Sie können „auf den Schultern großer Männer stehen“ und die „Doktrin der intelligenten Anwendung der Programmcodes anderer Leute“ voll und ganz fördern sparen Sie viel Zeit. Zweitens können Sie in PHP ganz einfach Ihre eigene Funktionsbibliothek erstellen, was Ihnen beim zukünftigen Schreiben von Programmen viel Ärger ersparen kann.
Der Autor unten stellt Ihnen einige gängige Funktionen vor. Einige dieser Funktionen stammen aus einigen Open-Source-Projekten im Internet, andere wurden aus der Mailingliste ausgewählt. Wenn Sie sie Ihrer eigenen Bibliothek hinzufügen können, werden Sie früher oder später davon profitieren.
1. Universelle Datenbankverarbeitungsfunktion
Im Vergleich zu anderen CGI-Funktionen besteht einer der Vorteile von PHP darin, dass es über sehr leistungsstarke Datenbankverarbeitungsfunktionen verfügt. Allerdings werden in PHP einige spezifische Funktionen zur Handhabung unterschiedlicher Datenbanken verwendet und es mangelt an allgemeinen Datenbankverarbeitungsfunktionen. Dies verringert die Portabilität des Programmcodes erheblich, was auch für Programmieranfänger viele Unannehmlichkeiten mit sich bringt.
Im Internet haben viele Programmierer dieses Problem durch die Kapselung von Klassen gelöst. Sie haben einheitliche Funktionen geschrieben, um jede gängige Datenbank zu verwalten – sei es MySQL, das in der Linux-Welt beliebt ist, oder SqlServer, das auf Windows-Plattformen weit verbreitet ist. Persönlich verwende ich diese Funktionen sehr gerne, da Sie einige einfache Funktionen wie „query“ und „next_record“ direkt verwenden können, ohne komplizierte Dinge wie Datenbankverbindungen und Datenbankhandles berücksichtigen zu müssen, geschweige denn, welche Datenbank Sie verwenden .
Wenn Sie diese Funktionen benötigen, können Sie sie über die folgenden URLs erhalten:
http://phplib.netuse.de/
http://phpclasses.UpperDesign.com/browse.html /package /20
http://phpdb.linuxbox.com/
2. Variablen-Debugging-Funktion
Das Debuggen von PHP-Programmen war schon immer ein Problem. Es ist nicht wie bei Hochsprachen wie VB Auf diese Weise gibt es eine integrierte Kompilierungs- und Debugging-Umgebung, im Gegensatz zu Perl, das direkt in einer Linux- oder DOS-Umgebung ausgeführt werden kann. Tatsächlich können wir das Debuggen von PHP durch die flexible Verwendung der Echo-Anweisung abschließen.
Mit den folgenden Funktionen können Sie jederzeit den Typ und den Wert jeder Variablen im Programm überprüfen.
function ss_array_as_string (&$array, $column = 0) {
$str = "Array(
n";
while(list($var, $val) = every($array) ){
for ($i = 0; $i < $column+1; $i++){
$str .= " ";
}
$str .= $var. ==> ; $str .= $val, $column+1). ; ";
}
return $str.);
}
function ss_object_as_string (&$object, $column = 0) {
if (empty($object->classname)) {
return "$object";
}
else {
$str = $object->classname )); $$var;
$str .= $var, spalte+1). ($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.")";
}
}
需要的时候,在程序中简单地加入下面的一条代码即可查看程序中的所使用的变量(包括数组和对象)的类型和值:
echo ss_as_string($my_variable);
使用下面的语句,我们可以直接查看程序中所有的变量的值:
echo ss_as_string($GLOBALS);
3. 控制Log信息的函数
调试PHP程序的另外一种重要的方法就是查看Log信息.如果能够方便地控制Log信息的级别以及Log信息的显示内容, 将会给程序调试带来更多的便利.下面的几个函数可以方便地实现这个功能.
$ss_log_level = 0;
$ss_log_filename = /tmp/ss-log;
$ss_log_levels = array(
NONE => 0,
ERROR => 1,
INFO => 2,
DEBUG => 3);
function ss_log_set_level ($level = ERROR) {
global $ss_log_level;
$ss_log_level = $level;
}
function ss_log ($level, $message) {
global $ss_log_level, $ss-log-filename;
if ($ss_log_levels[$ss_log_level] < $ss_log_levels[$level]) {
// 不显示Log信息
return false;
}
$fd = fopen($ss_log_filename, "a+");
fputs($fd, $level. - [.ss_timestamp_PRetty().] - .$message."n");
fclose($fd);
return true;
}
function ss_log_reset () {
global $ss_log_filename;
@unlink($ss_log_filename);
值时, Log信息才可以被记录和显示出来.例如在程序中加入如下的一条语句:
ss_log_set_level(INFO);
了.除此之外, 我们还可以设定显示的信息内容, 其语句如下:
ss_log(ERROR, "testing level ERROR");
ss_log(INFO, "testing level INFO");
ss_log(DEBUG, "testing level DEBUG");
你也可以随时使用下面的语句清空LOG信息:
ss_log_reset();
4.速度测试函数
Um den Code zu optimieren, benötigen wir eine Methode, die die Laufzeit des Codes testen kann, um den optimalen Code auszuwählen. Die folgende Funktion kann die zum Ausführen des Codes erforderliche Zeit testen:
function ss_timing_start ($name = default) {
global $ss_timing_start_times;
$ss_timing_start_times[$name] = explosion( , microtime());
}
function ss_timing_stop ($name = default) {
global $ss_timing_stop_times;
$ss_timing_stop_times[$name] = explosion(, microtime());
}
function ss _timing_current ( $name = default) {
global $ss_timing_start_times, $ss_timing_stop_times;
if (!isset($ss_timing_start_times[$name])) {
return 0;
}
if ( ! isset ($ss_timing_stop_times[$name])) {
$stop_time = explosion(, microtime()); > }
$current = $stop_time[1] - $ss_timing_start_times[$name][1];
$current += $stop_time[0] - $ss_timing_start_times[$name][0];
return $ current;
}
Jetzt können Sie ganz einfach die Ausführungszeit eines beliebigen Codeabschnitts überprüfen. Bei der Verwendung der oben genannten Funktionen müssen wir sogar mehrere Timer verwenden . Der Name reicht aus.
5. Debuggen und Optimieren von Datenbankoperationen
Bei Datenbanken ist die Laufgeschwindigkeit entscheidend. Obwohl viele Bücher und Artikel Methoden zum schnellen Ausführen von Datenbanken vermitteln, müssen alle Methoden in der Praxis getestet werden. Als nächstes kombinieren wir die Funktion query() in der PHPLib-Funktionsbibliothek und die oben eingeführten Funktionen, um eine neue Funktion query() zu schreiben. Im Vergleich zur ursprünglichen Funktion fügt diese Funktion eine Laufzeitüberwachungsfunktion hinzu.
function query($Query_String, $halt_on_error = 1) {
$this->connect();
ss_timing_start(); $this->Row = 0 ; ->Errno = mysql_errno();
$this->Error = mysql_error();
if ($halt_on_error && !$this->Query_ID) {
$this->halt ( "Invalid SQL: ".$Query_String);
}
return $this->Query_ID }(Fortsetzung folgt)
Das Obige ist der Weg zum PHP-Master ( 1) Inhalt: Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (www.php.cn)!