PHP_OOP
1.存储器方法——用于限制对象的变量属性
对于弱类型的PHP,存储器方法来限制变量属性显得非常重要!
通过为所有属性创建存储器方法,可以简化添加数据验证或新的业务逻辑的工作,也可以简化在后边对对象执行其他的改动。
所以,应该总是对属性使用存储器方。这样,将来对业务逻辑和数据验证需求执行的改动都将跟家容易实现。
<?php
class Demo{
private $_name;
public function getName(){
return $this->_name;
}
public function setName($name){
if(!is_string($name)||strlen($name)==0){
throw new Exception("Invalid name value!");
}
$this->_name = $name;
}
}
?>
2.对象初始化和销毁
1>.对象初始化
class Demo{
private $name;
public function _construct($name){
$this->name = $name;
}
}
2.销毁对象
销毁对象的时机
1>.请求的页面已经运行完成
2>.创建的对象变量已经不在其作用域内
3>.变量被显式地设置为null
在PHP6中,可以在销毁对象之前做一些处理工作,并且在销毁发生时采取相应措施。
_destruct函数,不带参数,在销毁对象之前就会自动调用该函数,前提class中存在该函数。
应用场景:
1.关闭已经由该类打开的文件语柄
2.关闭已经由该类打开的数据库连接
3.在销毁对象之前执行任何最后的内部处理工作。
PHP_OOP的更多相关文章
- 01.php面向对象
下面是php_oop的一些基本知识 <?php //echo "<meta charset='utf-8'>" //设置中文输出 //1.面向对象类的建立: cl ...
- PHP面相对象编程-重载、覆盖(重写) 多态、接口
http://www.ctolib.com/topics-21262.html http://cnn237111.blog.51cto.com/2359144/1284085 http://blog. ...
- PHP Swoole-Demo TCP服务端简单实现
tcp 服务端简单demo与client . <?php /** * author : rookiejin <mrjnamei@gmail.com> * createTime : 2 ...
随机推荐
- Echart的angularjs封装
ehcart是百度做的数据图表,基于原生js.接口和配置都写的很好很易读,还可以用于商用. 下面正题 用原生js的话,引入echarts.js 无论是图表的样式设置,图表渲染,数据填充都是基于echa ...
- 在Fedora 23 Server和Workstation上安装LAMP(Linux, Apache, MariaDB和PHP)
在安装LAMP之前,建议先更新系统包$ sudo dnf update 第一步:安装Apache Web服务器1.在Fedora 23安装Apache,你可以运行下面的命令:$ sudo dnf in ...
- hdu 4707 Pet hdu 2013 Asia Regional Online —— Warmup
一道简单的搜索题目,建一个树,根节点是 0 ,连接的两个节点的距离是 1 ,求 到 根节点长度是2的节点的个数. #include<stdio.h> #include<string. ...
- struts2源码调试环境的搭建
源码之前,了无秘密. 说一句逼格很高的话来镇镇场子. 这两天在看陆舟的<Struts2技术内幕>,一边看脑子一边冒出四个字:相见恨晚.极力推荐想了解Struts2的人看看这本书,之前一直在 ...
- JS取地址栏参数的两种方法
第一种方法: function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^&a ...
- jQuery无缝滚动向上
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- MYSQ 查看 2 进制日志
方法 1: myqlbinlog filename; ------------------------------------------------------------------------- ...
- Oracle EBS-SQL (INV-4):检查负库存记录数.sql
DEFINE DATE1="01/15/20** 23:59:59" /*输入指定日期*/DEFINE CODE="%" ...
- mysql入库中文乱码问题
mysql> show variables like '%char%';+--------------------------+----------------------------+| Va ...
- ln 命令
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件. 当我们需要在不同的目录,用到相同的 ...