仓酷云

标题: PHP编程:初识PEAR [打印本页]

作者: 活着的死人    时间: 2015-2-16 00:28
标题: PHP编程:初识PEAR
《PHP+MYSQL WEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-)   神仙掌任务室  

1、甚么是PEAR?为何需求它?  

为了创立一个相似于Perl CPAN档案的东西,Stig S. Bakken创建了PEAR项目。PEAR的根基方针是开展成为PHP扩大和库代码的常识库,而这个项目最有大志的方针则是试图界说一种尺度,这类尺度将匡助开辟者编写可移植、可重用的代码。  

Internet上已有关于该项目标一些文档。例如,一些初始的材料已可以在PHP正式手册中找到,更多的材料行将到场。  

在很大水平上,PEAR仍是一项正在停止当中的任务。在将来的几个月内,PEAR装置法式和PEAR网站将有很大的开展。为了鄙人一个PHP版本中利用PEAR办理数目日趋增加的C扩大,和用PEAR装置法式作为用户把扩大下载和装置到PHP的前端东西,在PHP Core Developer邮件列表上已有了大批的会商。  

别的,咱们还必需存眷PEAR的PHP库代码。PEAR的PHP库代码经常被以为是以后设计最好、最整洁的库。PEAR::DB是个中最受接待的一个包,这个包是PEAR项目创立的一个数据库笼统库。Bakken正在勉力,要把它次要的类和函数移植到C扩大上,使得这个包具有最好的功能。  

毫无疑问,这个新的项目势必成为将来PHP最主要的构成局部之一,它使得开辟者可以便利地经由过程PEAR网站同享代码,使得用户可以便利地下载和装置扩大、PHP代码库。  

2、若何利用PEAR?  

正如后面提到的,PEAR正在不休地开展和改善。不外,如今已有很多包可供利用。个中最受接待的一个包就是PEAR::DB,它使得开辟者可以编写出可同时用于多种分歧数据库办事器的代码。例如,开辟者可以编写出把数据库纪录拔出表的剧本,并且这个剧本合用于MySQL、PostgreSQL和Oracle。  

也就是说,上面这个实例可以合用于一切分歧类型的数据库办事器:  

<?php
// 引入适合的PEAR类
require_once("DB.php");

$dsn = array(
'phptype'  => 'mysql',
'hostspec' => 'localhost',
'database' => 'test_db',
'username' => 'test_user',
'password' => 'test_password'
);
$dbh = DB::connect($dsn);

$stmt = "SELECT id, name FROM examples ORDER BY id";
$result = $dbh->simpleQuery($stmt, DB_FETCHMODE_ASSOC);
if ($dbh->numRows($result) > 0) {
$data = (object) $dbh->fetchRow($result, DB_FETCHMODE_ASSOC);
echo "id   => $data->id<br>\n";
echo "name => $data->name<br>\n";
}
?>


这是一个复杂的例子,显示了利用象PEAR::DB之类的笼统库编程事实是甚么模样。  

比来,PHP根基手册中到场了一章新的内容。然而,事实是由该手册包括全部PEAR库的申明,仍是为各个PEAR包编制自力的手册,这一切还没有了然。  

3、装置  

装置PEAR实践上很复杂。因为PEAR库更新很快,所以上面我要引见的是若何装置PEAR最新的CVS版本。  

注重:PEAR外部常识库体系未来能够要产生变更。就今朝来讲,PEAR包、库与PHP自己一同保留到统一CVS树,它能够招致在办理PHP主常识库和开辟者、PEAR自己的常识库和开辟者这两方面都呈现成绩。可以意料,在不远的未来,PEAR将分别成为自力的模块/树。这个模块已存在,但大局部的包仍然在老地位。  

假如你历来没有传闻过CVS,请看看相干材料。CVS不是一种出格难用的手艺,但熟习它却需求必定的工夫。  

假定你的机械上已装置好了尺度的CVS客户软件,接上去你应当:  


翻开一个终端窗口(rxvt,xterm,或其他)。  
输出上面的号令:  

cvs -z3 -d :pserver:cvsread@cvs.php.net:/repository login
Password: [在这里输出“phpfi”作为暗码]
cvs -z3 -d :pserver:cvsread@cvs.php.net:/repository co php4
[这个号令将创立新的目次php4]
cd php4
cvs -z3 -d :pserver:cvsread@cvs.zend.com:/repository login
Password: [这里输出暗码zend]
cvs -z3 -d :pserver:cvsread@cvs.zend.com:/repository co Zend TSRM
[该号令将在php4上面创立两个新目次,名字为“Zend”和“TSRM”]
./buildcon


这就是全体的装置进程。运转buildconf将创立尺度的configure剧本,这个剧本可以用来设置PHP选项。在默许装置中,PEAR将主动装置到/usr/local/lib/php下。然而,你也能够手工机关各个文件,办法是:以超等用户身份进入,转到php4/pear目次,履行make install-su。  

除此以外,你还应当把PEAR根目次到场到php.ini文件的include_path。默许的目次应当是/usr/local/lib/php,但假如你手工修正了选项,它能够在其他地位。  

4、获得匡助  

PEAR的包容盖了从数据库笼统层到输入缓冲体系的各个方面,因而PEAR远远不止是一个复杂的库――它是一种编写整洁、可移植代码的新尺度。关于PEAR老手来讲,最主要的工作之一就是浏览PHP手册中出书的编码尺度。上面是几个取得PEAR匡助信息的中央:  


查找PEAR-DEV或PEAR-GENERAL,追求成绩的谜底。  
查阅伴同PEAR源代码供应的单位测试剧本。这些剧本的地位在PHP CVS源代码地点目次之下。例如,在我这里,它是/home/jpm/php4/pear/DB/tests/。  
通读Tomas Cox优异的PEAR::DB指南。  
到今朝为止,PEAR的真脸孔还没有完整显现活着人面前。然而,我但愿本文已胜利地为你勾画了它的大致相貌。  

好好享用吧!

  PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。
作者: 仓酷云    时间: 2015-2-16 04:50
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 透明    时间: 2015-3-1 20:43
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 老尸    时间: 2015-3-8 11:11
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者: 深爱那片海    时间: 2015-3-15 14:34
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 小女巫    时间: 2015-3-17 02:07
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 爱飞    时间: 2015-3-18 23:50
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
作者: 谁可相欹    时间: 2015-3-22 02:50
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 若天明    时间: 2015-3-22 04:23
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 再见西城    时间: 2015-3-27 20:09
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 小魔女    时间: 2015-3-29 12:31
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者: 只想知道    时间: 2015-4-1 11:09
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 山那边是海    时间: 2015-4-25 02:11
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 简单生活    时间: 2015-5-6 09:09
实践是检验自己会不会的真理。
作者: 冷月葬花魂    时间: 2015-7-9 21:15
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 飘飘悠悠    时间: 2015-7-11 22:27
兴趣是最好的老师,百度是最好的词典。
作者: 变相怪杰    时间: 2015-7-20 04:48
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 柔情似水    时间: 2015-7-23 00:09
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 第二个灵魂    时间: 2015-10-2 00:21
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 海妖    时间: 2015-10-6 11:54
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: admin    时间: 2015-10-13 19:39
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2