php的教程-PHP前辈之路(一)_PHP教程

2023-08-26 0 7,005 百度已收录

PHP是一种高效的网络编程语言,由于其具有编译灵活、运行快速等优点,很快成为Web程序员的首选语言。 不久前的一项权威调查显示,31.6%的网站已经使用PHP作为主要的服务器端编程语言。

然而,成为 PHP 编程英雄并不容易。 与很多人想象的不同,只要你能快速编译出几段简单的代码来解决一个复杂的问题php的教程,你就是一名高级PHP程序员了。 真正的PHP前辈还需要考虑更多其他的问题。 以下三个准则是一个成熟的PHP程序员在编程时应该遵循的首要准则。

1、懒惰是金

2. 写出漂亮的代码

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

1、懒惰是金

做一个懒惰的程序员吗? 这看法实在是太奇怪了! 因为世界上最忙的人可能是计算机程序员。 但正是因为程序员太忙,所以在编程的时候就应该学会偷懒。

对于一个程序员来说,偷懒有两种方法:第三,大胆使用别人现成的程序代码,并将这些代码集成到自己的程序或项目中。 一是把一些有用的代码编译出来,构建一个函数库,以后编译程序的时候方便使用,省去很多重复劳动,自然就可以偷懒一点了。

这两种偷懒的方式都非常适合PHP程序员。

首先,PHP是一门在自由开放的环境中诞生和成长的语言。 在世界各地,有成千上万的程序员仍在追求 PHP 的完美,他们也愿意与他人分享他们的聪明才智和他们编写的代码。 每天你都可以从一些PHP网站、邮件列表、新闻组中找到很多优秀的程序代码。 这样,我并不是鼓励你整天等着别人给你写代码,你可以“站在伟人的脖子上”,充分宣扬“拿来主义”,聪明地应用别人的程序代码可以节省你很多时间。 其次,在PHP中,你可以方便地构建自己的函数库,这可以为你以后编译程序时省去很多麻烦。

下面,笔者就为大家介绍几个常用的功能。 这些功能有些来自互联网上的一些开源项目,有些是从电子邮件列表中选择的。 如果你能将它们添加到你自己的函数库中,迟早你会发现自己受益匪浅。

1. 通用数据库处理函数

与其他CGI功能相比,PHP的优点之一就是具有非常强大的数据库处理能力。 而且PHP中都是用一些特定的函数来处理不同的数据库,缺乏通用的数据库处理函数。 这样就大大降低了程序代码的可移植性,也给初学编程的同事带来了很多不便。

在网上,很多程序员通过封装类的方式解决了这个问题。 他们编写了统一的功能来处理任何流行的数据库——无论是在Linux世界流行的Mysql,还是在Windows平台上广泛流行的SqlServer。 就笔者而言,我特别喜欢使用这种功能,因为我可以直接使用一些简单的功能,例如“query”和“next_record”,而无需考虑数据库连接和数据库句柄等复杂的事情。 不需要考虑使用什么样的数据库。

如果您需要该功能,可以访问以下网址获取:

2.变量调试功能

PHP程序的调试仍然是一个令人头疼的问题。 它既没有像VB等中间语言那样集成的编译和调试环境,也不能像Perl那样直接运行在Linux或DOS下。 虽然,我们可以灵活地使用echo语句来完成PHP的调试。

下面的函数可以让你随时查看程序中任意变量的类型和值。

函数s_array_as_string(&$array,$column=0){

$str="数组(

n”;

while(列表($var,$val)=每个($array)){

for($i=0;$i<$列+1;$i++){

$str.="&nbsp;&nbsp;&nbsp;&nbsp;";

$str.=$var.==>;

$str.=ss_as_string($val, $column+1)。"

n”;

for($i=0;$i<$列;$i++){

$str.="&nbsp;&nbsp;&nbsp;&nbsp;";

返回 $str.);

函数s_object_as_string(&$object,$column=0){

if(空($object->类名)){

返回“$对象”;

别的 {

$str=$object->类名."(

n”;

while(list(,$var)=each($object->persistent_slots)){

for($i=0;$i<$列;$i++){

$str.="&nbsp;&nbsp;&nbsp;&nbsp;";

全局$$var;

$str.=$var.==>;

$str.=ss_as_string($$var,列+1)。”

n”;

for($i=0;$i<$列;$i++){

php的教程-PHP前辈之路(一)_PHP教程

$str.="&nbsp;&nbsp;&nbsp;&nbsp;";

返回 $str.);

函数s_as_string(&$thing,$column=0){

if(is_object($thing)){

返回 ss_object_as_string($thing, $column);

elseif(is_array($thing)){

返回 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.")";

别的 {

return "未知(".$thing.")";

必要时,只需在程序中添加如下代码即可查看程序中使用的变量(包括链表和对象)的类型和值:

echoss_as_string($my_variable);

使用下面这句话,我们可以直接查看程序中所有变量的值:

echoss_as_string($GLOBALS);

3. 控制Log信息的函数

调试PHP程序的另一个重要方法是查看Log信息。 如果能够方便地控制Log信息的级别以及Log信息的显示内容,将会给程序调试带来更多的便利。 下面的函数可以轻松实现这个功能。

php的教程-PHP前辈之路(一)_PHP教程

$ss_log_level=0;

$ss_log_filename=/tmp/ss-log;

$ss_log_levels=数组(

无=>0,

错误=>1,

信息=>2,

调试=>3);

函数_log_set_level($level=错误){

全局$ss_log_level;

$ss_log_level=$级别;

函数 s_log($level,$message){

全局 $ss_log_level, $ss-log-文件名;

如果($ss_log_levels[$ss_log_level]<$ss_log_levels[$level]){

//不显示Log信息

返回假;

$fd=fopen($ss_log_filename,"a+");

fputs($fd, $level.-[.ss_timestamp_pretty().]-.$message."n");

fclose($fd);

返回真;

函数日志重置(){

全局$ss_log_文件名;

php的教程-PHP前辈之路(一)_PHP教程

@unlink($ss_log_filename);

在上面的函数中,有四个日志级别变量。 PHP程序运行时,只有Log级别高于预设级别值时,才能记录并显示Log信息。 例如,在程序中添加如下语句:

ss_log_set_level(信息);

这样,在运行PHP程序时,只能记录和显示ERROR和INFO级别的LOG信息,而忽略DEBUG级别的信息。 另外,我们还可以设置显示的信息内容,语句如下:

ss_log(错误,“测试级别错误”);

ss_log(INFO,"测试级别INFO");

ss_log(DEBUG,"测试级别DEBUG");

也可以随时使用下面这句话来清除LOG信息:

ss_log_reset();

4.速度测试功能

为了优化代码,我们需要一种方法来测试代码的运行时间,然后选择最优的代码。 以下函数测量运行代码所需的时间:

函数s_timing_start($name=default){

全局$ss_timing_start_times;

$ss_timing_start_times[$name]=explode(,microtime());

函数s_timing_stop($name=default){

全局$ss_timing_stop_times;

$ss_timing_stop_times[$name]=explode(,microtime());

函数s_timing_current($name=default){

全局$ss_timing_start_times,$ss_timing_stop_times;

if(!isset($ss_timing_start_times[$name])){

返回0;

if(!isset($ss_timing_stop_times[$name])){

$stop_time=explode(,microtime());

别的 {

$stop_time=$ss_timing_stop_times[$name];

$current=$stop_time[1]-$ss_timing_start_times[$name][1];

$current+=$stop_time[0]-$ss_timing_start_times[$name][0];

返回$当前;

现在可以很容易地检测任意一段代码的执行时间,甚至我们可以同时使用多个定时器,只需在使用上述函数时设置不同的参数作为定时器的名称即可。

5、数据库运行的调试和优化

对于数据库来说,速度至关重要。 虽然很多书籍和文章都教导了一些快速运行数据库的方法php的教程,并且所有方法都必须经过实践的检验。 接下来,我们将PHPLib函数库中的query()函数和上面介绍的函数结合起来,编译一个新的query()函数。 与前面的功能相比,该功能减少了检测功能的运行时间。

函数查询($Query_String,$halt_on_error=1){

$this->connect();

ss_timing_start();

$this->Query_ID=@mysql_query($Query_String, $this->Link_ID);

ss_timing_stop();

ss_log(INFO, ss_timing_current().Secs-.$Query_String);

$这->行=0;

$this->Errno=mysql_errno();

$this->Error=mysql_error();

if($halt_on_error&&!$this->Query_ID){

$this->halt("InvalidSQL:".$Query_String);

返回$this->Query_ID;

}(待续)

trueTechArticlePHP是一种高效的网络编程语言,由于其具有编译灵活、运行快速等优点,很快成为Web程序员的首选语言。 不久前的一项权威调查显示,如今...

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 php php的教程-PHP前辈之路(一)_PHP教程 https://www.wkzy.net/game/151786.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务