码迷,mamicode.com
首页 > Web开发 > 详细

php 学习之对象

时间:2016-07-08 18:12:19      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

php中怎么实现创建一个对象然后全局都能调用?

在PHP中相当常见的一种情形时,我们只需要创建一个对象一次,然后在我们的整个程序中使用它。一个很好的例子就是smarty变量,一旦被初始化后就可以在任何地方使用。这种情形的一个很好实现方案就是单例模式。示例代码如下:
function smartyObject()  
  {  
    if ($GLOBALS[‘config‘][‘SmartyObj‘] == 0)  
    {  
      $smarty = new SmartyGame();  
      $GLOBALS[‘config‘][‘SmartyObj‘] = $smarty;  
    }  
    else 
      $smarty = $GLOBALS[‘config‘][‘SmartyObj‘];  
    return $smarty;  
  }

注意,我们拥有一个全局smarty变量(该示例中它在config.php中被初始化),如果它的值为0,我们将创建一个新smarty对象。否则,它意味着该对象已经被创建,我们只需要返回它。


php中连续调用两个方法

get_core()和get_id()方法应该都会返回当前对象,即 $this。所以才可以使用这样子的连续调用。至于结果是什么还要看实际的代码,但有一点可以肯定的是它会设置或修改对象的某个状态(属性)。这样子下面举一个例子:

class A {
public function get_core()
{
// 其他代码
return $this;
}
public function get_id()
{
// 其他代码
return $this;
}
public function exec()
{
// 这里就可以这样子连续调用了
$this->get_core()->get_id();
}
}
$obj1=new A();
$obj1->get_core()->get_id();

php 学习之对象

标签:

原文地址:http://www.cnblogs.com/lichihua/p/5654091.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!