PHP比ASP优秀的七个理由


  PHP是一门高效的网络编程语言,由于它 存在编写灵便、运行 快捷等 长处,迅速成为Web程序员的首选语言 。前不久的一份权威 考查表明,现在已经有31.6%的网站 使用PHP作为重要的服务器端编程语言 。

  然而,要成为一名PHP编程高手却并不容易 。并不像众多人 设想的那样, 惟独 可以飞快地编写几条 容易的代码去解决一个复杂的问题便是PHP编程高手了,真正的PHP高手还需求考量更多的其它问题 。以下三条准则是一名成熟的PHP程序员在编程中应该首先遵照的准则 。

  1. 懈怠是金

  2.编写美丽的代码

  3. 谋求程序的速度,而不是编程的速

  一、 懈怠是金

  做一个 懈怠的程序员吗?这个想法太奇怪了!由于这个世界上最 繁忙的人可能便是计算机程序员了 。但正是由于程序员太忙了,所以才应该在编程时学会偷懒 。

  关于一个程序员来说, 懈怠的 步骤有两种:其一,大胆 使用现成的别人的程序代码,把这些代码融入到你自己的程序或者 名目中去 。其二是编写一些有用的代码 构建一个函数库,在 将来编写程序时 可以 顺手拈来,省去了许多 反复的劳动,自然就 可以 懈怠丝毫了 。

这两种偷懒的 步骤都十分 合适PHP程序员了 。

  首先,PHP是在 自由开放的环境中诞生和成长的一门语言 。在世界各地,有成千上万的程序员,他们向来在为PHP的 圆满而不停奋斗,他们也情愿和别人分享自己的聪慧才智和自己编写的代码 。你天天都 可以从一些PHP网站、邮件列表、新闻组发现大量的优异的程序代码 。这样说,我并不是鼓舞你 终日等着让别人为你编写代码,然而你 可以“站在 巨人的肩膀上”, 充足 弘扬“拿来主义”,聪慧地 利用别人的程序代码 可以 节俭你大量 工夫 。其次,在PHP中,你 可以容易地 构建自己的函数库,这样 可以在你以后编写程序时省去众多麻烦 。

  下面小编为大家介绍几个通用的函数,这些函数有的来自网上的一些开放源代码的 名目,有的精选自邮件列表 。假如你能把它们加入到你自己的函数库中,迟早你将会发现自己受益无穷 。

  1.通用数据库 解决函数

  和其它的CGI函数相比,PHP的 长处之一是 存在很 壮大的数据库 解决 威力 。然而,在PHP中,关于不同的数据库都 使用一些特定的函数来专门 解决, 缺乏通用的数据库 解决函数 。这大大减低了程序代码的可移植性,这也为初学编程的朋友带来了众多不便 。

  在网上,许多程序员都通过封装类解决了这个问题 。他们编写了统一的函数用来 解决任何 风行的数据库—— 无论是在Linux世界深受 欢送的Mysql还是在 Windows平台上 宽泛 风行的SqlServer 。就小编个人来说,十分喜爱 使用这些函数,由于 可以直接 使用一些 容易的诸如"query"、 "next_record"之类的函数,而不需求考量数据库的衔接、数据库句柄这些复杂的东西,更不需求考量 使用的是何种数据库 。

  假如你需求这些函数,你 可以通过 拜访以下的几个网址而得到:

  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;";

  }

  return $str.);

 }

 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;";

     }

     global $$var;

     $str .= $var. ==> ;

     $str .= ss_as_string($$var, column+1)." n";

    }

    for ($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);