zoukankan      html  css  js  c++  java
  • PHP 面向对象随笔


    以动手实践为荣 , 以只看不练为耻;
    以打印日志为荣 , 以单步跟踪为耻;
    以空格缩进为荣 , 以制表缩进为耻;
    以单元测试为荣 , 以人工测试为耻;
    UnitTest很不错
    Nose也很好用
    配合Profile很爽
    配合pdb也不错
    以模块复用为荣 , 以复制粘贴为耻;
    以多态应用为荣 , 以分支判断为耻;
    以Pythonic为荣 , 以冗余拖沓为耻;
    以总结分享为荣 , 以跪求其解为耻;


    done 数据库迁移看了
    doing 学习系统添加文章和答案
    想到有重复的地方就可以复用来做.

    php面向对象的几点有趣的技巧:
    试验了了一下,
    1.在使用面向对象的类的设计上,属性使用private 然后使用魔术方法__get __set
    __iset __unset
    2.在使用了__set方法后,即使对象中没有某个属性也能为之产生并赋值

    <?php
    /*
    * 测试__set() __get() __isset() __unset()
    */
    class Test {

    private $name;
    private $age;
    private $telPhones;

    public function __construct($name = 'anonymous',$age = 0,$telPhone = ''){
    $this->name = $name;
    $this->age = $age;
    return true;
    }

    /*
    * 外部赋值方法
    */
    public function __set($propertyName,$value){
    return($this->$propertyName = $value);
    }

    /*
    * 外部取值方法
    */
    public function __get($propertyName){
    if(isset($this->$propertyName)){
    return($this->$propertyName);
    }else{
    return(NULL);
    }
    }
    }

    $test = new Test('lining',20,135);
    echo $test->name;
    $test->name1= "hhaha";
    echo $test->name1;

    ?>

    3. echo(),print(),unset(),isset(),empty(),include(),require()
    这些为语句结构而不是函数,请不要获取返回值
    4.静态和非静态类方法,非常重要
    5.克隆对象,在PHP中类的赋值默认为引用赋值,要使用多个独立的相同的对象必须使用克隆
    新的对象 = clone 旧的那个对象
    系统自动调用__clone() 方法
    function __clone()
    {
    //$this 指的复本 p2, 而$that 是指向原本 p1,这样就在本方法里,改变了复本的属性。
    $this->name="我是假的$that->name";
    $this->age=30;
    }
    6.PHP函数不支持重载,但是可以使用默认参数的方法实现
    function overloadFun($param1, $param2 = '1',$param3 = true)
    {
    // do something
    }
    7.对象在传输和文件存放时,需要进行串行话,然后反串行化,__sleep and __wakup

  • 相关阅读:
    bzoj3237 cdq分治+可撤销并查集
    bzoj2957 奥妙重重的线段树
    bzoj3718 树状数组
    bzoj3991 LCA + set
    codeforces794D dfs+图上hash
    [ZJOI2010]数字计数/烦人的数学作业
    [SCOI2009]windy数
    数位DP(学习笔记)
    UVA10559 方块消除 Blocks
    采蘑菇
  • 原文地址:https://www.cnblogs.com/linksgo2011/p/2816479.html
Copyright © 2011-2022 走看看