php 5 中使用get成员方法返回对象可能存在的问题。

"错误的类设计可能会改变本不应该改变的成员属性。"这个问题是在看 Java 的时候书中提到的。PHP5 默认传递的也是引用,那么可能也存在这个问题。于是跳下床来,做了个试验。果然……

先看一段代码:

<?php 
/**
 * privateClass 
 *
 * 一个私有的类,在 publicClass 中使用
 */
class privateClass
{
    
/**
     * name
     *
     * 保存一个名字 
     * 
     * @var string
     * @access protected
     */
    
protected $name '';
    
/**
     * __construct
     *
     * 构造函数 
     * 
     * @param string $name 
     * @access public
     * @return void
     */
    
public function __construct($name)
    {
        
$this->setName($name);
    }

    /**
     * getName 
     *
     * 获得名字
     * 
     * @access public
     * @return string
     */
    
public function getName()
    {
        return 
$this->name;
    }

    /**
     * setName
     *
     * 设置名字 
     * 
     * @param string $name 
     * @access public
     * @return void
     */
    
public function setName($name)
    {
        
$this->name $name;
    }
}
Continue reading php 5 中使用get成员方法返回对象可能存在的问题。