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 ...
随机推荐
- Oauth2认证以及新浪微博开放平台应用
一.OAuth2.0概述 大部分API的访问如发表微博.获取私信,关注都需要用户身份,目前新浪微博开放平台用户身份鉴权有OAuth2.0和Basic Auth(仅用于应用所属开发者调试接口),新版接口 ...
- Android开发环境的搭建之(二)Android Studio的安装
(1) 下载AS(android studio)1.3.2并安装android-studio-bundle-141.2178183-windows.exe.下载官方链接http://www.andr ...
- 各版本SDK Tools及ADT下载技巧
我们在开发的时候,尤其是使用Eclipse安装ADT插件进行环境配置,我们需要从下载ADT插件及SDK,当我们从官网下载的时候,有的时候可能找不到下载的地方或者下载不到自己想要的版本,我就在此总结下如 ...
- Struts2 访问web元素
访问web元素的四种方法(耦合,依赖注入).(耦合,非依赖注入).(非耦合,依赖注入).(非耦合,非依赖注入) 耦合:可以得到HttpServletResponse,HttpServletReques ...
- TCP/IP详解之:IP选路 动态选路协议
第九章 IP选路 netstat -rn 显示路由表 初始化路由表的两种方法: 方法1:在配置文件中指定静态路由(不常用) 方法2:运行路由守护程序 或者 使用ICMP路由器发现报文 没有到达目的地的 ...
- laravel中间件源码分析
laravel中间件源码分析 在laravel5.2中,HTTP 中间件为过滤访问你的应用的 HTTP 请求提供了一个方便的机制.在处理逻辑之前,会通过中间件,且只有通过了中间件才会继续执行逻辑代码. ...
- pycharm Run/Debug Configrations
操作系统是win10,今天维护scrapy爬虫的时候发现pycharm调试配置失效了,导致花了好大力气去搜索配置的路径.在这儿记录下来方便以后查看. Script:C:\Python27\Lib\si ...
- 不调用库函数实现 strCpy
实现函数时,首先要弄清楚特殊情况,边界条件要搞清. char* strCpy(char* src,char* des){ //判断指针是否为空 if(NULL==src||NULL == des) r ...
- Oracle EBS-SQL (PO-5):采购订单控制信息查询.sql
select distinct pla.po_header_id, --pha.type_lookup_code, pha.segment1 采购订单号, appf.full_name ...
- android 为TextView添加边框
今天需要在TextView上面添加一个边框,但是TextView本身不支持边框,所以只能采用其他方式,在网上查询了一下,主要有三种方式可以实现1.带有边框的透明图片2.使用xml的shape设置3继承 ...