第1次亲密接触PHP5(1)

 更新时间:2016年11月25日 17:14  点击:1448
文章来源:PHPBuilder.com
原作者:Luis Argerich
翻译:erquan
erquan注:本人现还未来得及体验PHP5,只是翻译一篇老外的文章。
以下均由erquan翻译,第1次作这些的事情希望没有误导大家。有些不准的地方请谅解。
大家看这样的行不行,如果行的话,偶就翻译完,不行就翻译了,免得误导了大家,也累哦。。。。:)
转贴时请注明文章来源,谢谢:)
PHP5的正式版还没发布,但我们可以学习、体验下开发版给我们带来的PHP新特性。
本文将集中介绍以下3大PHP5新功能:
* 新对象模式
* 结构化异常处理
* 名称空间
在正式开始之前,请注意:
*文章中的部分例子用PHP4的方法实现,只是为了增强文章的可读性
*本文所描述的新特性可能会与正式版特性有出入,请以正式版本为准。
* 新对象模式
PHP5新的对象模式在PHP4的基础上做了很大的"升级",你看起来会很像JAVA:(。
下面的一些文字将对它做一些简单介绍,并且附有小例子让您开始体验PHP5的新特性
come on~~:)
* 构造函数 和 析构函数
* 对象的引用
* 克隆对象
* 对象的3种模式:私有、公共和受保护
* 接口
* 虚拟类
* __call()
* __set()和__get()
* 静态成员
构造函数 和 析构函数
在PHP4中,和类名一样的函数被默认为该类的构造器,并且在PHP4没有析构函数的概念。(二泉 注:这点和JAVA一样)
但从PHP5开始,构造函数被统一命名为 __construct,而且有了析构函数:__destruct(二泉 注:这点却和Delphi一样,可见PHP5吸收了众多的成熟的OO思想,可C可贺~~):
例1:构造函数和析构函数
<?php
class foo {
    var $x;
    function __construct($x) {
    $this->x = $x;
    }
    function display() {
    print($this->x);
    }
    function __destruct() {
    print("bye bye");
    }
}
$o1 = new foo(4);
$o1->display();
?>
运行完你将看到输出了"bye bye",这是因为类在终止的时候调用了__destruct()析构函数~~
PHP4之COOKIE支持详解
     建立商业站点或者功能比较完善的个人站点,常常需要记录访问者的信息,在PHP中提供了两种方便的手段:session和cookie功能.为了永久的保持用户信息,则cookie是最便捷的手段.在这里我将为大家详细的讲解cookie的功能及使用方法.
    一: 设置cookie
        使用cookie前必须设置cookie.
        函数原型:int setcookie(string name,string value,int expire,string path,string domain,int secure)
        其中,除name外,所有的参数都是可选的,可以用空的字符串表示未设置.
        属性value: 用来指定值.
        属性path:    用来指定cookie被发送到服务器的哪一个目录路径下.
        属性domain:能够在浏览器端对cookie的发送进行限定.    
        expire参数:用来指定cookie的有效时间,它是一个标准的Unix时间标记.
           可以用time()或者mktime()函数取得,以秒为单位.
        secure参数:表示这个cookie是否通过加密的HTTPS协议在网络上传输.
    二: 设置cookie时的注意事项
        在同一个页面中设置cookie,实际上是按从后往前的顺序进行的.如果要先删除一个cookie,再写入一个cookie,则必须先写写入语句,再写删除语句.否则会出现错误.
    
    三: setcookie举例
        简单的: setcookie("mycookie","value_of_mycookie");
        带失效时间的: setcookie("withExpire","Expire_in_1_hour",time()+3600);
        什么都有的:setcookie("FullCookie","Full_cookie_value",time+3600,"/forum","www.123.com",1);
摘要
  在这一章,我们将集中学习如何使用结构化查询语言(SQL)在MySQL数据库中工作。
(2002-08-29 14:11:10)
--------------------------------------------------------------------------------
By Wing, 出处:Linuxaid
第二章: MySQL入门
  欢迎回到这个教程!在上一章,我们学习了安装和配置PHP和MySQL这两个软件。在这一章,我们将集中学习如果使用结构化查询语言(SQL)在MySQL数据库中工作。
数据库入门
  上一章简要说明的那样,PHP是一个服务器端的脚本语言,通过这个语言你可以在你的Web页面中添加指令,这样你的Web服务软件(可能是Apache,Personal Web Server或其他任何软件)会在向发出请求的浏览器发送这些页面前首先执行它。在那个简单的例子中,我展示了如何每次在接受请求的Web页面中插入当前的日期。
  都很清楚了,但是如果在其中添加一个数据库会真正引起我们的兴趣。一个数据库服务器(我们这里是MySQL)是一个使用一定格式存储大量信息的程序,通过这个程序你可以很简单地使用象PHP这样的脚本语言来访问数据。例如,你可以使用PHP在数据库中获得一个笑话的列表并将其显示到你的Web站点。
  子中,笑话被完全存储在数据库中。这样做有两个好处。首先,你不再需要为你的每个笑话写一个HTML文件,你只需要写一个PHP文件来从数据库中引出任何的笑话并显示它;其次,要添加笑话到你的Web站点中,也仅仅是添加笑话到数据库中。PHP代码在新笑话包含在列表中时可以自动显示新的笑话。
  们通过这个例子来看看数据是如何在数据库中存储的。一个数据库包含一个或几个数据表(table),每一个数据表包含了一个事物的列表。对于我们的笑话数据库来说,我们一开始可能需要一个名为“jokes”的数据表,这个数据表包含了一个笑话列表。数据库中每个数据表包含一个或几个数据列(column)或数据域(field)。回到我们的例子中来,我们的“jokes”数据表可能有这样的两列:笑话的正文以及笑话添加到数据库中的日期。每个存储在数据表中的笑话我们称之为一行。要了解这儿提到的所有术语,你可以看下面这张图:
  在笑话正文(“JokeText”)和添加日期(“JokeDate”)这两个数据列之外,我还增加了一个叫做“ID”的数据列。这个数据列的作用是给每个笑话分配一个唯一的号码,这样我们可以很容易地查阅并区分这些笑话。
  习一下,上面的数据表中有三个数据列、两行。每一行包含了一个笑话的ID、它的正文以及它的添加日期。掌握了这些基本术语后,我们将开始使用MySQL。
[PHP]
;;;;;;;;;;;;;;;;;;;
;    关于这个文件     ;
;;;;;;;;;;;;;;;;;;;
; 这个文件控制了PHP许多方面的观点。为了让PHP读取这个文件,它必须被命名为
; 'php.ini'。PHP 将在这些地方依次查找该文件:当前工作目录;环境变量PHPRC
; 指明的路径;编译时指定的路径。
; 在windows下,编译时的路径是Windows安装目录。
; 在命令行模式下,php.ini的查找路径可以用 -c 参数替代。
; 该文件的语法非常简单。空白字符和用分号';'开始的行被简单地忽略(就象你可能
; 猜到的一样)。
 章节标题(例如 : [Foo])也被简单地忽略,即使将来它们可能
; 有某种的意义。
;
; 指示被指定使用如下语法:
; 指示标识符 = 值
; directive = value
; 指示标识符 是 *大小写敏感的* - foo=bar 不同于 FOO = bar。
;
; 值可以是一个字符串,一个数字,一个 PHP 常量 (如: E_ALL or M_PI),    INI 常量中的
; 一个 (On, Off, True, False, Yes, No and None) ,或是一个表达式
; (如: E_ALL & ~E_NOTICE), 或是用引号括起来的字符串("foo").
;
; INI 文件的表达式被限制于位运算符和括号。
; |           bitwise OR
; &           bitwise AND
; ~           bitwise NOT
; !           boolean NOT
;
; 布尔标志可用 1, On, True or Yes 这些值置于开的状态。
; 它们可用 0, Off, False or No 这些值置于关的状态。
;
; 一个空字符串可以用在等号后不写任何东西表示,或者用 None 关键字:
;
;     foo =       ; 将foo置为空字符串
;    foo = none        ; 将foo置为空字符串
;    foo = "none"       ; 将foo置为字符串'none'
;
; 如果你值设置中使用常量,而这些常量属于动态调入的扩展库(不是 PHP 的扩展,就是
PEAR简介:用PEAR来写你的下一个php程序     

     
内容:

什么是PEAR
为什么要使用PEAR?
PEAR能给我带来什么好处?
PEAR的编码规则
开始使用PEAR
总结
相关资源
作者简介


潘凡(Night Sailer) (nightsailer@hotmail.com)
北京赛迪网信息技术有限公司
2001 年 6 月
你可能已经是个PHP的老手了,写了很多非常棒的代码。但是,如果你现在要把它们加入到你现在的项目中去,是否有些吃力?你的朋友想使用你的代码作为他的项目中的一个模块,但是你发现你们使用了截然不同的编码风格,让他适应,甚至不如重写一个!
请跟我来,使用PEAR标准编写你的PHP程序吧,你的程序将会拥有更大的活力,你的程序和代码将会很方便地和其他高手的代码融合在一起,PEAR就象CPAN对于PERL一样,会让PHP产生更高的能量。
什么是PEAR
PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR就是PHP的CPAN。
为什么要使用PEAR?
PHP是一个非常优秀的脚本语言,简洁、高效,随着4.0的发布,越来越多的人使用它来进行动态网站的开发,可以说,PHP已经成为最优秀的INTERNET开发语言之一,尤其对于那些需要能够快速、高效地开发中小规模的商业应用的网站开发人员,PHP是其首选的语言。但是随着PHP的应用的不断增多,对于这些应用缺乏统一的标准和有效的管理,因此,PHP社区很难象PERL社区的人们那样方便的共享彼此的代码和应用,因为PHP缺乏象CPAN那样的统一的代码库来分类管理应用的代码模块(熟悉PERL的人都知道,CPAN是一个巨大的PERL的扩展模块仓库,编写的应用模块可以放在CPAN下面的适当的分类目录下面,其他的人可以很方便地复用,当然,你编写应用模块时候也需要遵守其中的准则。)
为此,PEAR就应运而生了,并且从4.04开始,随着PHP核心一起被分发。
PEAR能给我带来什么好处?
1.如前所述,PEAR按照一定的分类来管理PEAR应用代码库,你的PEAR代码可以组织到其中适当的目录中,其他的人可以方便地检索并分享到你的成果。
2.PEAR不仅仅是一个代码仓库,它同时也是一个标准,使用这个标准来书写你的PHP代码,将会增强你的程序的可读性,复用性,减少出错的几率。
[!--infotagslink--]

相关文章

  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • PHP中func_get_args(),func_get_arg(),func_num_args()的区别

    复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04
  • PHP编程 SSO详细介绍及简单实例

    这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
  • PHP实现创建以太坊钱包转账等功能

    这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
  • php微信公众账号开发之五个坑(二)

    这篇文章主要为大家详细介绍了php微信公众账号开发之五个坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-02
  • ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单

    首先是数据库的设计。分类表叫cate.我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。数据库有内容后,就可以开始写代码,进...2014-05-31
  • PHP如何通过date() 函数格式化显示时间

    这篇文章主要介绍了PHP如何通过date() 函数格式化显示时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-13
  • PHP+jQuery+Ajax实现多图片上传效果

    今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并展示在页面上。...2015-03-15
  • win2003 安装软件之PHP5 图文安装教程

    本教程共分八篇:系统安装与设置篇、软件安装与设置篇、文件及文件夹权限篇、系统服务篇、安全策略篇、系统组件篇、注册表篇、软件安全篇。本篇讨论的是第二篇软件安装与设置篇的第七部分:安装软件之PHP 5 安装图解。 ...2016-01-27
  • 谈谈PHP中相对路径的问题与绝对路径的使用

    经常看到有人踩在了PHP路径的坑上面了,感觉有必要来说说PHP中相对路径的一些坑,以及PHP中绝对路径的使用,下面一起来看看。 ...2016-08-24
  • golang与php实现计算两个经纬度之间距离的方法

    这篇文章主要介绍了golang与php实现计算两个经纬度之间距离的方法,结合实例形式对比分析了Go语言与php进行经纬度计算的相关数学运算技巧,需要的朋友可以参考下...2016-07-29
  • PHP如何使用cURL实现Get和Post请求

    这篇文章主要介绍了PHP如何使用cURL实现Get和Post请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-11
  • thinkPHP中多维数组的遍历方法

    这篇文章主要介绍了thinkPHP中多维数组的遍历方法,以简单实例形式分析了thinkPHP中foreach语句的使用技巧,需要的朋友可以参考下...2016-01-12
  • PHP正则表达式过滤html标签属性(DEMO)

    这篇文章主要介绍了PHP正则表达式过滤html标签属性的相关内容,实用性非常,感兴趣的朋友参考下吧...2016-05-06
  • php构造方法中析构方法在继承中的表现

    这篇文章主要为大家详细介绍了php构造方法中析构方法在继承中的表现,感兴趣的小伙伴们可以参考一下...2016-04-15
  • php有序列表或数组中删除指定的值的实现代码

    这篇文章主要介绍了php有序列表或数组中删除指定的值的实现代码,删除给定的值之后,得到一个新的有序列表,长度-1,下面是具体的实现方法...2021-08-22
  • php图片添加文字水印实现代码

    这篇文章主要为大家详细介绍了php图片添加文字水印实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-03-17
  • PHP简单实现生成txt文件到指定目录的方法

    这篇文章主要介绍了PHP简单实现生成txt文件到指定目录的方法,简单对比分析了PHP中fwrite及file_put_contents等函数的使用方法,需要的朋友可以参考下...2016-04-28