作者tkdmaf (皮皮快跑)
看板PHP
标题Re: [请益] 请益php5转php4问题
时间Mon Dec 5 13:22:20 2011
※ 引述《nesq (扁Q)》之铭言:
: 新到一家公司,而公司内部开发网页还在php4的阶段。
: 单位主管似乎没有升级的打算。
: 所以公司内部系统未来仍然用php4开发。
: 在php6 出世的时代。
: 世面上的书籍都是由 php5 , php6 的方式
: 想请问一下,如看到例如 $_GET , $_POST 的写法,
: 要怎麽转换为 php4
: $a = $HTTP_GET_VARS 吗 ?
: 刚学php, 不过似乎要到二手书店才有 php4 的书卖了 ...
我尽就我知道的差异性做个小小的说明。
一、函式部份:
这部份基本上你要查函式库手册比较准确。
举例来说:
file_put_contents()是php5才加上的函式。
所以你用php4版本就不支援。
又像iconv()是4.0.5之後的版本才追加的。
这些函式库功能的差异恐怕还是要参考官方函式库手册或是纸本的函式库手册。
二、物件导向部份:
1.建构式:
※物件中的function()我习惯称之为方法,但也有人习惯叫他函式,都一样的意思。
原php4方法同物件名称时,该方法为建构式(物件生成时即自动执行的方法)。
在php5则加上__construct()来定义。
意即不管你是用同名方法或是使用__construct()皆属合法定义建构式。
class demo{
function demo(){
}
}
同义:
class demo{
function __construct(){
}
}
2.成员:
php4并不具备成员属性。
但php仍然可以定义属性,使用的定义是var
class demo{
var $name;
var $address;
}
但在php5追加以下三种成员,使其对於物件导向更加完备:
public:开放成员
private:私有成员
protected:保护成员
class demo{
var $address;
public $name;
private $mydata;
protected $parent;
}
3.介面:
php4并不提供介面定义。
但php5开始可以定义介面,这使得物件导向设计模式的方法能较完整的融入开发。
interface action{
function run();
}
class demo implements action{
...
}
4.虚拟类别:
abstract:定义为虚拟类别时只可继承,无法被实作。
abstract class demo{
}
class demo2 extends demo{
}
5.追加解构式:
__destruct():当物件被结束时会采取的行动。
其实相关物件的资料还有很多,上面尽是举常用的部份。
php4和php5最大的诸多差异就是物件导向的部份。
php4感觉像是基础物件使用。
而php5则是让物件导向比较完备。
--
音GAME的音符比浊水溪的石头还多。
比森林里的树叶还要繁密。
但我全接的决定比奇莱山还要坚定。
柯拿米.巴莱
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.46.78
※ 编辑: tkdmaf 来自: 220.136.46.78 (12/05 13:44)
1F:推 kerash:推。 当时写物件时就是php4跟5的些微差异就得改好多~"~ 12/05 13:44
2F:推 nesq:推!! 抄笔记 12/06 00:21
※ 编辑: tkdmaf 来自: 203.73.73.176 (12/06 21:52)