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的更多相关文章

  1. 01.php面向对象

    下面是php_oop的一些基本知识 <?php //echo "<meta charset='utf-8'>" //设置中文输出 //1.面向对象类的建立: cl ...

  2. PHP面相对象编程-重载、覆盖(重写) 多态、接口

    http://www.ctolib.com/topics-21262.html http://cnn237111.blog.51cto.com/2359144/1284085 http://blog. ...

  3. PHP Swoole-Demo TCP服务端简单实现

    tcp 服务端简单demo与client . <?php /** * author : rookiejin <mrjnamei@gmail.com> * createTime : 2 ...

随机推荐

  1. table中超长字符串省略号表示两种方法

    写在前面:   1.第一种从网上找到的解决方式添加table-layout:fixed   2.第二种添加div   3.字符串过长产生省略号的css语句为如下三种合用:overflow:hidden ...

  2. 可以通过Action来判断是什么操作触发了事件

    ObservableCollection<T>当这个集合发生改变后会有相应的事件得到通知请看如下代码: static void Main(string[] args) { var a = ...

  3. java总结

    JUC概况 以下是Java JUC包的主体结构: ? Atomic : AtomicInteger ? Locks : Lock, Condition, ReadWriteLock ? Collect ...

  4. python基础之语句结束

    1 2 3 4 5 if a :     if b:          # 这里是if b的作用区间     #这里是if a的作用区间 #这里不在if 区间 python 是按缩进来识别代码块的.

  5. juce中的Singleton

    说明上其实很明白,支持多线程,防止重复创建,同时支持如果删除以后就不在创建,利用局部静态变量进行标记.挺通用,看来下次写个c11版本的 //============================== ...

  6. EditText默认不弹出软键盘

    #EditText默认不弹出软键盘# 网上关于EditText默认情况下不弹出软键盘,当手触摸到EditText,获取焦点时候,才会弹出软键盘,貌似都不能用,其实,在oncreate()方法中,加上 ...

  7. python基础笔记-0

    python中数据结构,主要有列表.元组.字典.集合. python中最基本数据结构是序列(sequence).序列中每个元素被分配一个序号——即元素位置,也成为索引.第一个索引是0,第二个是1,以此 ...

  8. PVRTC 纹理

    iPhone的图形芯片(PowerVR MBX)对一种称为 PVRTC 的压缩技术提供的硬件支持,Apple推荐在开发iPhone应用程序时使用 PVRTC 纹理.他们甚至提供了一篇很好的技术笔记描述 ...

  9. 手工制作OTG连接线 让小白实现OTG功能

    说到OTG功能,很重要的一点是,现在不少网上的720P高清视频体积已经超过4GB,我的小白也支持exFat及NTFS磁盘格式,可存储播放大于4GB的高清影音文件,也能通过OTG读取播放NTFS格式U盘 ...

  10. C++字符串之一(字符表示)

    在C++中有两种类型可以用于表示字符,char和wchar_t. 但是字符串格式的标准却有很多种,如ASCII,UTF8,UTF16,UTF32等等.字符串的格式和char/wchar_t 的关系是什 ...