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

但是,要成为一名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);

当前1/2页 12下一页阅读全文

(0)

相关推荐

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

    但是,要成为一名PHP编程高手却并不容易.并不像很多人想象的那样,只要能够飞快地编写几条简单的代码去解决一个复杂的问题就是PHP编程高手了,真正的PHP高手还需要考虑更多的其它问题.以下三条准则是一名成熟的PHP程序员在编程中应该首先遵循的准则.     1.懒惰是金     2.编写漂亮的代码     3.追求程序的速度,而不是编程的速度     一.懒惰是金 做一个懒惰的程序员吗?这个想法太奇怪了!因为这个世界上最忙碌的人可能就是计算机程序员了.但正是因为程序员太忙了,所以才应该在编程时学会

  • OpenCV-Python实现通用形态学函数

    通用形态学函数 上篇博文,我们介绍了形态学的基础腐蚀与膨胀操作,而将腐蚀与膨胀结合起来进行组合,我们就能实现开运算,闭运算等复杂的形态学运算. 在OpenCV中,它给我们提供的通用形态学函数为cv2.morphologyEx(),其完整定义如下: def morphologyEx(src, op, kernel, dst=None, anchor=None, iterations=None, borderType=None, borderValue=None): 这些参数基本前面都介绍过,不过有

  • PHP实现通用alert函数的方法

    本文实例讲述了PHP实现通用alert函数的方法.分享给大家供大家参考.具体如下: 函数:通用提示 参数:提示訊息,類型或網址,窗口名或函數名,延时毫秒 Alert("","function","close2",300); 代码如下: function Alert($Str,$Typ="back",$TopWindow="",$Tim=100){ echo "<script>"

  • Asp.Net实现的通用分页函数

    本文实例讲述了Asp.Net实现的通用分页函数.分享给大家供大家参考,具体如下: 功能: 1.每页设置显示9页,超过9页,点5页后的+1页显示(可以随便修改) 2.CSS样式自己可以设置 3.无任何咋代码产生,利于搜索引擎优化 分页程序 objPDS = new PagedDataSource(); objPDS.DataSource = dtTable.DefaultView;//绑定数据源 objPDS.AllowPaging = true; objPDS.PageSize =10;//分页

  • PHP通用检测函数集合

    <?  // [文件名]: c_check.inc  // [作 用]: 通用检测函数集  // [作 者]: 天灰  // [最后修改日期]: 2001/05/11[cxx]  // [变量定义规则]:'C_'=字符型,'I_'=整型,'N_'=数字型,'L_'=布尔型,'A_'=数组型 //--------------------------------------------------  // ※CheckMoney($C_Money) 检查数据是否是99999.99格式  // ※Ch

  • asp通用采集函数冗余版可以保存文件到本地

    <% '名称:asp通用采集函数冗余版,要精品版的有心人自己改 '作者:柳永法 '日期:2007-6-23 Function getHTTPPage(Path)     t = GetBody(Path)     getHTTPPage = BytesToBstr(t, "GB2312") End Function Function GetBody(url)     On Error Resume Next     Set xmlhttp = CreateObject("

  • asp通过JMAIL实现通用发送函数

    <% '****************************** '函数:SendMail(MailtoAddress,MailtoName,Subject,MailBody,FromName,MailFrom,Priority) '参数:MailtoAddress,接收邮件地址:MailtoName,接收者姓名:ubject,主题:ailBody,邮件内容:FomName,主送姓名:ailFrom,主送邮件地址:riority,邮件等级 '作者:阿里西西 '日期:2007/7/13 '描述

  • php通用检测函数集合第1/3页

    <?  //[警告]:未经许可请勿随便修改  //-----------------------------------------------------------------------------------  -------  //-----------------------------------------------------------------------------------  -------  //  // [文件名]: c_check.inc  // [作 用]

  • 封装 axios+promise通用请求函数操作

    我就废话不多说了,大家还是直接看代码吧~ import axios from "axios"; import baseUrl from "../../setBaseUrl"; axios.defaults.baseURL = baseUrl; import { Loading, Message } from "element-ui"; const loadingOptions = { lock: true, text: "拼命加载中&q

  • [数据库] 通用分页存储过程第1/5页

    分页存储过程共有四种方式可以实现,行计数.游标.升序-降序.子查询 我记得曾经有人测试过这四种方式的效率分别是 从性能最好到最差的顺序进行的--行计数.游标.升序-降序.子查询 以下是我收集的一些资料供大家参考 QUOTE: 原文地址:http://www.codeproject.com/aspnet/PagingLarge.asp 作者:Jasmin Muharemovic  译者:Tony Qu 下载: 介绍 在Web应用程序中,对一个大数据库结果集进行分页已经是一个家喻户晓的问题了.简单的

随机推荐