首页技术php编程,什么是PHP编程开发

php编程,什么是PHP编程开发

编程之家2023-11-01136次浏览

大家好,今天来为大家解答php编程这个问题的一些问题点,包括什么是PHP编程开发也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

php编程,什么是PHP编程开发

php要学哪些

PHP需要掌握的知识还是比较多的,最基本的比如:PHP基本的语法、php框架以及CMS、mysql数据库设计表、mysql数据库的基本SQL语句。现在一般PHP的都得会前端,那就包括:js/ajax、html、css。如果更高点层次的就是linux服务器。

下面参考雷雪松的个人博客学习PHP的路线和一些方法。

1、用集成环境安装PHP环境,一定要记住这一点,不要自己分开去装,尤其是自学的朋友。不然你会觉得很复杂,会没有信心学下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的阶段历练才有最后的沉淀。

2、先了解一些基本的变量类型,语法,函数,基本逻辑,写简单的代码。前期以尝试,培养兴趣为主。这段时间是打基础很好的时候,这个会影响你后面的发展,不过也可以在后期去完善。

3、这时候你可能觉得PHP就这样,没什么难度,或者有的觉得太难了,简直一脸疑惑。这个到底有什么用。在这时候一定要坚持下来,可以试试先放一下,别太较真。慢慢的困惑你的会被你领悟的。这时,建议学习html+css+js,缓解自己的压力,这个相对简单,简历信心。尤其是js,总结其实有相同的思路,可以结合着一起体会。

4、这些都感觉有80%了解就可以先放放了,现在在学习MySQL,也是先了解基础的。这个是干什么的,我可以用它做什么。因为之前装的集成环境。为什么感觉是凌乱的,我想告诉你的是,一是不要在自己没能力解决问题的时候死磕,浪费时间,丧失信心。这时候我们要做的是学习壮大自己,不要灰心。二是我本来觉得这一切都了解才是完整的。我们的目标也是要把这些都做好,这才是一个合格的PHP程序员。

php编程,什么是PHP编程开发

5、这一切都顺利的话,你基本离预设的目标不远了,完成了整个学习的70%了。后面的是在之前的基础上升华。把HTML和css、js结合、静态文件和PHP结合、PHP和MySQL结合。这个阶段可能越到的问题会异常的多,一定要学会解决问题。网上很多都是答案,同样你要学会问问题。

6、这些之后你基本已经快到学习的尾声了,但还缺少经验。这时,你可以看一些网上开源的cms,例如织梦,国内用的多,越到问题好解决。看看一些视频(网上免费的很多),查漏补缺,总结归纳形成自己的知识体系。是时候该准备庆祝下自己这段的时间没有白费(一般2到3各月,看平时每天花的时间),基本成为一个合格的PHP程序员了。也该恭喜你了,其实并不那么难。坚持,坚持;努力,努力;学习,学习。

参考:http://www.leixuesong.cn/609

什么是PHP编程开发

随着互联网的不断发展,PHP编程开发被众多培训机构所推崇,由于难度相较于java编程来说更容易,所以PHP编程开发也是有很大的市场的。今天,南邵IT培训就一起来聊聊什么是PHP编程开发。

PHP变量>[success]PHP是一种创建动态交互性站点的强有力的服务器端脚本语言。

PHP是免费的,并且使用非常广泛。同时,对于像微软ASP这样的竞争者来说,PHP无疑是另一种高效率的选项。

php编程,什么是PHP编程开发

PHP脚本在服务器上执行。

PHP吹吹牛

什么是PHP?

PHP是"PHPHypertextPreprocessor"的字母缩略词

PHP是一种被广泛使用的开源脚本语言

PHP脚本在服务器上执行

PHP没有成本,可供免费下载和使用

什么是PHP文件?

PHP文件能够包含文本、HTML、CSS以及PHP代码

PHP代码在服务器上执行,而结果以纯文本返回浏览器

PHP文件的后缀是".php"

PHP能够做什么?

PHP能够生成动态页面内容

PHP能够创建、打开、读取、写入、删除以及关闭服务器上的文件

PHP能够接收表单数据

PHP能够发送并取回cookies

PHP能够添加、删除、修改数据库中的数据

PHP能够限制用户访问网站中的某些页面

PHP能够对数据进行加密

通过PHP,您可以不受限于只输出HTML。您还能够输出图像、PDF文件、甚至Flash影片。您也可以输出任何文本。

PHP运行环境安装

PHP脚本需要PHP解析器来才能运行,所以需要在服务器安装PHP.

Linux下安装PHP环境Linux+Apache+MySQL+PHP(LAMP)

Windows下安装PHP环境Windows+Apache+MySQL+PHP(WAMP)

集成环境:Wampserver,phpstudy

PHP标记

当解析一个文件时,PHP会寻找起始和结束标记,也就是,这告诉PHP开始和停止解析二者之间的代码。此种解析方式使得PHP可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被PHP解析器忽略。

PHP也允许使用短标记,但不鼓励使用。只有通过激活php.ini中的short_open_tag配置指令或者在编译PHP时使用了配置选项--enable-short-tags时才能使用短标记。

如果文件内容是纯PHP代码,好在文件末尾删除PHP结束标记。这可以避免在PHP结束标记之后万一意外加入了空格或者换行符,会导致PHP开始输出这些空白,而脚本中此时并无输出的意图。注意点,在图片输出中可能遇到问题.

如何使用PHP编程

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

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级别变量。运行PHP程序时,只有当Log的级别低于预设的级别值时,Log信息才可以被记录和显示出来。例如,在程序中加入如下的一条语句:

ss_log_set_level(INFO);

那么,运行PHP程序时,只有ERROR和INFO级别的LOG信息才能被记录和显示出来,DEBUG级的信息则被忽略了。除此之外,我们还可以设定显示的信息内容,其语句如下:

ss_log(ERROR,"testing level ERROR");

ss_log(INFO,"testing level INFO");

ss_log(DEBUG,"testing level DEBUG");

你也可以随时使用下面的语句清空LOG信息:

ss_log_reset();

4.速度测试函数

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

function ss_timing_start($name= default){

global$ss_timing_start_times;

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

}

function ss_timing_stop($name= default){

global$ss_timing_stop_times;

$ss_timing_stop_times[$name]= explode(, 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= explode(, microtime());

}

else{

$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];

return$current;

}

现在可以轻松地检查任何一段代码的执行时间了,甚至我们可以同时使用多个计时器,只需在使用上述的几个函数时设定不同的参数作为计时器的名称就可以了。

5.调试和优化数据库的操作

对于数据库来说,运行速度是至关重要的。尽管很多书籍和文章都讲授了一些快速运行数据库的方法,但是所有的方法都必须经过实践的检验。下面我们将把PHPLib函数库中的query()函数和上面介绍的几个函数综合起来编写成新的query()函数,和原先的函数相比,这个函数增加了运行时间的监测功能。

function 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);

$this->Row= 0;

$this->Errno= mysql_errno();

$this->Error= mysql_error();

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

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

}

return$this->Query_ID;

}

二、编写漂亮的代码

1.将后台程序与前端程序分开

在编写PHP程序时,有些代码是用来处理一些事务,例如操作数据库、进行数学运算等,而另外的一些代码则只是事务处理的结果显示出来,例如一些使用echo语句将结果以HTML的格式显示在Web浏览器上的PHP代码以及那些直接嵌入PHP程序的HTML代码。首先我们应该清晰地区分这两种代码,把前者称为后台程序,把后者称为前端程序。

因为PHP是一种嵌入式编程语言,也就是说,所有的PHP代码都可以嵌入到HTML代码之中,这为程序的编写带来了许多便利之处。但是,“物极必反”,如果在一段较长的程序中将PHP代码和HTML代码混合编写,这将使程序杂乱无章,不利于程序的维护和阅读。所以我们需要尽可能地将这些程序中混杂于HTML代码中的PHP代码移植出来,在专门的文件中将这些代码封装成函数,然后在HTML代码中使用include语句来包含这些文件,在适当的位置调用这些函数即可。

这种做法一方面使HTML代码和PHP代码都简单易读,另一方面因为HTML代码需要不断更新,而这种分离的方法可以确保后台程序不会被破坏。

同前端程序不同,后台程序更多追求的是稳定、结构化,极少更改,所以应该认真地设计和管理。其实,在设计台程序时,投入大量时间是值得的,“现在栽树,以后乘凉”,在以后的设计工作中将可以轻松地使用现在编写的后台程序。

2.灵活使用包含文件

正如前面所说的那样,后台程序应当安排在一系列的包含文件中。包含文件可以通过include语句在需要时动态装入,也可以在php.ini文件中通过使用auto_prepend_file指令预先自动装入。

如果使用后一种方法的话,虽然取得了一劳永逸的好处,但是也有一些缺点值得我们注意。下面的一段代码向我们展示了解析一个庞大的包含文件需要一定的时间:

require(timing.inc);

ss_timing_start();

include(test.inc);

ss_timing_stop();

echo

.ss_timing_current().

;

?>

在上面的代码中,test.inc是一个1000行的包含文件,运行的结果显示,解析这个包含文件花费了0.6秒钟,对于一个大型网站来说,这个速度并不是可以忽略不记的。

使用包含文件的另外一个缺点是:如果一个文件中的一个语句发生错误,将会使整个网站的PHP程序都无法运行。所以使用起来也及其小心。

其实,对包含文件稍做处理,即可以使包含文件只在需要时进行解析。下面的代码使abc.inc文件只在程序需要时才作解析:

if( defined( __LIBA_INC)) return;

define( __LIBA_INC, 1);

/*

*代码...

*/

?>

3.使用面向对象的编程方法

PHP也是一种面向对象的语言,面向对象的编程方法是优秀的程序员们非常推崇的一种软件设计方法,在PHP编程中可以充分发挥面向对象语言的优势,对编程中的对象进行封装。在前面的代码中,我们使用了面向对象的方法,例如在管理数据库时,我们将query()函数封装进数据库类中,这极大地方便了代码的管理,增加了程序的可读性。

三、追求程序速度,而不是编程的速度

在网站建设中,程序运行速度和网页下载速度都是关系成败的重要因素。作为一名Web程序员,应该更加注意代码的运行速度。下面介绍的几种方法都在不同程度上提高了代码的运行速度。

1.使用内嵌的HTML代码,而不是PHP的echo语句。

因为PHP是一门嵌入式Web编程语言,可以将HTML代码和PHP代码相互嵌入。但是很多程序员担心在HTML代码中过多的使用""嵌入PHP代码会多次调用PHP解释器,从而降低了PHP代码的运行速度,所以宁愿使用PHP的echo语句来输出HTML代码,而不直接使用HTML代码。但事实却恰恰相反。每一个PHP页面只调用一次PHP解释器来解释所有的PHP代码,所以,只在需要时才嵌入PHP代码,而大多数的时候直接使用HTML代码输入结果,不但不会降低程序的运行速度,而且因为减少了对echo语句的解析,往往可以提高代码的运行速度。

下面的一段代码证明了我们的结论。在这段代码中,我们使用了前面介绍的时间测试函数。

使用str-replace而不是ereg-replace

习惯使用Perl进行编程的程序员更加愿意使用ereg_replace完成字符串替换工作,因为在PHP中ereg_replace的用法和Perl中模式匹配的用法相近。但是,下面的这段代码证明,使用str_replace代替 ereg_replace将可以大大提高代码的运行速度。

测试str_replace和ereg_replace的运行速度

//这段代码测试str_replace的运行速度

emphasis;?>

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

str_replace(i>, b>,$string).

;

}

?>

//这段代码测试ereg_replace的运行速度

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

ereg_replace(<([/]*)i>,<\1b>,$string).

;

}

?>

//打印结果

结论

使用str_replace的时间-

使用ereg_pattern的时间-

运行上面的代码,得到的结果是:

使用str_replace的时间- 0.089757

使用ereg_pattern的时间- 0.248881

从运行的结果我们可以看出使用str_replace替代ereg_replace作为字符串替换函数,极大地提高了代码的运行速度。

3.注意字符串的引用

PHP和其它很多编程语言一样,可以使用双引号("")来引用字符串,也可以使用单引号()。但是在PHP中,如果使用双引号来引用字符串,那么PHP解析器将首先分析字符串中有没有对变量的引用,有变量的话,将对变量进行替换。如果是单引号,则没有如此复杂——直接将单引号包含起来的所有字符串直接显示出来。显然,在PHP编程中,如果使用单引号引用字符串变量要比使用双引号快速一些。

4.在数据库中避免使用联合操作

比起其它的Web编程语言来说,PHP的数据库功能十分强大。但是在PHP中数据库的运行仍然是一件十分费时费力的事情,所以,作为一个Web程序员,要尽量减少数据库的查询操作,同时应该为数据库建立适当的索引。另一件值得注意的事情是在用PHP操作数据库时,尽可能不使用多个数据表的联合操作,尽管联合操作可以增强数据库的查询功能,但是却大大增加了服务器的负担。

为了说明这个问题,我们可以看看下面的这个简单的例子。

我们在数据库中创建了两个数据表foo和big_foo。在数据表foo中,只有一个字段,包含了从1-1000之间的所有自然数。数据表big_foo同样只有一个字段,但包含了从1-1,000,000之间的全部自然数。所以,从大小上说,big_foo等于foo与它自身进行了联合操作。

$db->query("select* from foo");

0.032273 secs

$db->next_record();

0.00048999999999999 secs

$db->query("insert into foo values(NULL)");

0.019506 secs

$db->query("select* from foo as a, foo as b");

17.280596 secs

$db->query("select* from foo as a, foo as b where a.id> b.id");

14.645251 secs

$db->query("select* from foo as a, foo as b where a.id= b.id");

0.041269 secs

$db->query("select* from big_foo");

25.393672 secs

从上面操作结果我们可以发现,对于两个有1000条记录的数据表进行联合,其速度并不比对一个1000000条纪录的大型数据表单独进行操作快多少。

5.注意include与require的区别

在PHP变成中,include()与require()的功能相同,但在用法上却有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面的一个例子中,如果变量$somgthing为真,则将包含文件somefile:

if($something){

include("somefile");

}

但不管$something取何值,下面的代码将把文件somefile包含进文件里:

if($something){

require("somefile");

}

下面的这个有趣的例子充分说明了这两个函数之间的不同。

$i= 1;

while($i< 3){

require("somefile.$i");

$i++;

}

在这段代码中,每一次循环的时候,程序都将把同一个文件包含进去。很显然这不是程序员的初衷,从代码中我们可以看出这段代码希望在每次循环时,将不同的文件包含进来。如果要完成这个功能,必须求助函数include():

$i= 1;

while($i< 3){

include("somefile.$i");

$i++;

}

6.注意echo和print的区别

PHP中echo和print的功能也基本相同,但是两者之间也有细微差别。在PHP代码中可以把print作为一个普通函数来使用,例如执行下面的代码后变量$res的值将为1。

$ret= print"Hello World";

这意味着print可用在一些复杂的表达式中,而echo则不行。同样,在代码中echo语句的运行速度要略微快于print语句,因为echo语句不要求返回任何数值.

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

国内bgp云主机,国内的云服务器哪家好南宁网络推广 南宁网络推广浅谈能使文章快速收录的技巧有哪些