懒惰是金 介绍几个php通用的函数第1/2页

 更新时间:2008年04月23日 23:18:37   作者:  
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);

相关文章

  • PHP安全之register_globals的on和off的区别

    PHP安全之register_globals的on和off的区别

    这篇文章主要介绍了PHP安全之register_globals的on和off的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 微信公众平台之快递查询功能用法实例

    微信公众平台之快递查询功能用法实例

    这篇文章主要介绍了微信公众平台之快递查询功能用法,实例分析了微信公众平台实现快递查询的相关技巧与具体用法,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • 浅谈PHP定义命令空间的几个注意点(推荐)

    浅谈PHP定义命令空间的几个注意点(推荐)

    下面小编就为大家带来一篇浅谈PHP定义命令空间的几个注意点(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • php多线程并发实现方法

    php多线程并发实现方法

    这篇文章主要介绍了php多线程并发实现方法,结合实例形式分析了php模拟多线程并发的相关操作技巧,以及在Linux平台借助shell实现多线程并发的操作方法,需要的朋友可以参考下
    2016-09-09
  • PHP引用符&的用法详细解析

    PHP引用符&的用法详细解析

    以下是对PHP中引用符&的用法进行了详细的分析介绍。需要的朋友可以过来参考下
    2013-08-08
  • PHP set_time_limit(0)长连接的实现分析

    PHP set_time_limit(0)长连接的实现分析

    每次我们访问PHP脚本的时候,都是当所有的PHP脚本执行完成后,我们才得到返回结果。如果我们需要一个脚本持续的运行,那么我们就要通过php长连接的方式,来达到运行目的。
    2010-03-03
  • PHP zip压缩包操作类完整实例

    PHP zip压缩包操作类完整实例

    这篇文章主要介绍了PHP zip压缩包操作类,结合完整实例形式分析了php封装的针对zip文件解压、压缩、递归创建、读取等相关操作,需要的朋友可以参考下
    2018-06-06
  • JS实现php的伪分页

    JS实现php的伪分页

    假如某一个页面的数据很多,不方便全都显示出来,而且假设里面有个播放器,不希望在翻页的时候播放器会终止的话,就可以采用这个方法尽管可以用Ajax,但是在数据比较少的情况下,这个方法更有优势
    2008-05-05
  • php使用GD创建保持宽高比缩略图的方法

    php使用GD创建保持宽高比缩略图的方法

    这篇文章主要介绍了php使用GD创建保持宽高比缩略图的方法,涉及php使用GD库操作图片的技巧,需要的朋友可以参考下
    2015-04-04
  • php+ajax无刷新上传图片实例代码

    php+ajax无刷新上传图片实例代码

    这篇文章为大家分享了php+ajax无刷新上传图片实例代码,需要的朋友可以参考下
    2015-11-11

最新评论