广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php4和php5的区别是什么
  • 829
分享到

php4和php5的区别是什么

PHP 2015-12-28 14:12:30 829人浏览 猪猪侠
摘要

本教程操作环境:windows10系统、PHP7.1版、DELL G3电脑php4和php5的区别是什么构造函数和析构函数在 PHP4 中,当函数与对象同名时,这个函数将成为该对象的构造函数,并且在 PHP4 中没有析构函数的概念。在 PH

教程操作环境:windows10系统、PHP7.1版、DELL G3电脑

php4和php5的区别是什么

构造函数和析构函数

在 PHP4 中,当函数与对象同名时,这个函数将成为该对象的构造函数,并且在 PHP4 中没有析构函数的概念。

在 PHP5 中,构造函数被统一命名为 __construct,并且引入了析构函数的概念,被统一命名为 __destruct。

例一:构造函数和析构函数

class foo {undefined
var $x;
function __construct($x) {undefined
$this->x = $x;
}
function display() {undefined
print($this->x);
}
function __destruct() {undefined
print("bye bye");
}
}
$o1 = new foo(4);
$o1->display();
?>

在上面的例子中,当你终止调用 foo 类的时候,其析构函数将会被调用,上例中会输出 “bye bye”。

对象的引用

众所周知,在PHP4 中,传递变量给一个函数或方法,实际是把这个变量做了一次复制,也就意味着你传给函数或方法的是这个变量的一个副本,除非你使用了引用符号 “&” 来声明是要做一个引用,而不是一个 Copy。在 PHP5 中,对象总是以引用的形式存在的,对象中的赋值操作同样也都是一个引用操作。

例二:对象的引用

class foo {undefined
var $x;
function setX($x) {undefined
$this->x = $x;
}
function getX() {undefined
return $this->x;
}
}
$o1 = new foo;
$o1->setX(4);
$o2 = $o1;
$o1->setX(5);
if($o1->getX() == $o2->getX()) print("Oh my God!");
?>

对象的克隆

如上所述,当一个对象始终以引用的形式来被调用时,如果我想得到该对象的一个副本,该怎么办呢?PHP5 提供了一个新的功能,就是对象的克隆,语法为 __clone。

例三:对象的克隆

class foo {undefined
var $x;
function setX($x) {undefined
$this->x = $x;
}
function getX() {undefined
return $this->x;
}
}
$o1 = new foo;
$o1->setX(4);
$o2 = $o1->__clone();
$o1->setX(5); if($o1->getX() != $o2->getX()) print("Copies are independant");
?>

对象克隆的方法在其它很多应用程序语言中都是存在的,所以你不必担心它的稳定性。:)

对象中的私有、公共及保护模式

PHP4 中,一个对象的所有方法和变量都是公共的,这意味着你可以在一个对象的外部操作其中的任意一个变量和方法。PHP5 引入了三种新的用来控制这种存取权限的模式,它们是:公共的(Public)、受保护的(Protected)及私有的(Private)。

  • 公共模式(Public):允许在对象外部进行操作控制。

  • 私有模式(Private):只允许本对象内的方法对其进行操作控制。

  • 受保护模式(Protected):允许本对象及其父对象对其进行操作控制。

--结束END--

本文标题: php4和php5的区别是什么

本文链接: https://www.lsjlt.com/news/1286.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php4和php5的区别是什么
    本教程操作环境:windows10系统、PHP7.1版、DELL G3电脑php4和php5的区别是什么构造函数和析构函数在 PHP4 中,当函数与对象同名时,这个函数将成为该对象的构造函数,并且在 PHP4 中没有析构函数的概念。在 PH...
    99+
    2015-12-28
    PHP
  • php4和php5的区别有哪些
    这篇文章主要介绍“php4和php5的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php4和php5的区别有哪些”文章能帮助大家解决问题。php4和php5的区别:1、php4中没有析构...
    99+
    2023-06-29
  • php7和php5的区别是什么
    本篇文章为大家展示了php7和php5的区别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Per...
    99+
    2023-06-14
  • php7与php5的区别是什么
    本文操作环境:windows10系统、php 7&&php 5、thinkpad t480电脑。相信一定有很多小伙伴都有过这样的疑惑,php5和php7之间有什么区别么?php7想对于php5增加或删除了哪些东西?下面我就来...
    99+
    2020-09-07
    php 7 php 5 区别
  • php7和PHP5对比有什么区别
    这篇文章主要介绍php7和PHP5对比有什么区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php7和PHP5对比的新特性和性能优化1. 抽象语法树(AST)AST在PHP编译过程作为一个中间件的角色,替换原来直接...
    99+
    2023-06-14
  • PHP7和PHP5在安全上有什么区别
    本篇内容主要讲解“PHP7和PHP5在安全上有什么区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP7和PHP5在安全上有什么区别”吧!函数修改1. preg_replace()不再支持/...
    99+
    2023-06-17
  • PHP5和PHP7之间关于获取函数的区别是什么
    本篇内容主要讲解“PHP5和PHP7之间关于获取函数的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP5和PHP7之间关于获取函数的区别是什么”吧!PHP5和PHP7取数组元素作动...
    99+
    2023-06-25
  • ./ 和 sh 的区别是什么
    ./ 和 sh 的区别是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。./ 和 sh的使用区别使用“./”执行脚本,对应的xxx.sh脚本必须要有执行权限;使用“sh”...
    99+
    2023-06-09
  • php === 和==的区别是什么
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php === 和==的区别是什么?php中的==和===的用法及区别在开发中进场遇到数值匹配的问题,那么在进行匹配时,遇到下面的情况,你觉得结果是什么?<php ...
    99+
    2021-03-17
    php
  • PHP5和PHP7的垃圾回收机制有哪些区别
    这篇文章主要为大家展示了“PHP5和PHP7的垃圾回收机制有哪些区别”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP5和PHP7的垃圾回收机制有哪些区别”这篇文章吧。php5和php7的垃圾...
    99+
    2023-06-20
  • vuejs和angularjs的区别是什么
    这篇文章主要介绍“vuejs和angularjs的区别是什么”,在日常操作中,相信很多人在vuejs和angularjs的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2022-10-19
    vuejs angularjs
  • vuejs和php的区别是什么
    这篇文章将为大家详细讲解有关vuejs和php的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。vuejs和php的区别:1、Vue是一套JavaS...
    99+
    2022-10-19
    vuejs php
  • Python和Java的区别是什么
    这篇文章给大家介绍Python和Java的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。随着人工智能的火爆,Python和Java一直在各种流行编程语言中名列前茅。其实Jav...
    99+
    2022-10-19
    python java
  • Cache 和 Buffer 的区别是什么
    这篇文章主要为大家分析了Cache 和 Buffer 的区别是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Cache 和 Buffer 的区别是什么”...
    99+
    2023-06-04
  • .bash_profile和.bashrc的区别是什么
    本篇文章给大家分享的是有关.bash_profile和.bashrc的区别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 /etc/profile:此文件为系统...
    99+
    2023-06-06
  • Centos和Redhat的区别是什么
    这篇文章主要介绍了Centos和Redhat的区别是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。CentOS的简介  CentOS是Community ENTerpri...
    99+
    2023-06-10
  • javascript和SQL的区别是什么
    本篇文章和大家了解一下javascript和SQL的区别是什么。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。区别:JavaScript是一种基于原型编程、多范式的动态脚本语言,常用来为网页添加各式各样的动态功能,为用户提...
    99+
    2023-06-14
  • BLOCKED和WAITING的区别是什么
    本篇内容主要讲解“ BLOCKED和WAITING的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ BLOCKED和WAITING的区别是什么”吧!BLOCKED 和 WAITING ...
    99+
    2023-06-15
  • ps2020和cs6的区别是什么
    这篇文章给大家分享的是有关ps2020和cs6的区别是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。AdobePhotoshop,简称PS,是AdobeSystems开发发行的图像处理软件。Photoshop...
    99+
    2023-06-20
  • Servlet中/和/*的区别是什么
    这篇文章主要讲解了“Servlet中/和demo:这个urlPatterns是合法的。只不过它属于精确匹配,也就是说别看它中间有*,仍旧有且仅能匹配/api/*/demo这个请求路径匹配顺序有时候一个URL会被多个urlPatterns所匹...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作