【问题标题】:Creating multi level classes in PHP在 PHP 中创建多级类
【发布时间】:2013-01-29 10:55:51
【问题描述】:

我正在开发一个软件项目,并且在查看其他项目的代码(例如 Zend 框架)时注意到它们使用某种继承的多级类。

一个例子是$system->sessions->closeSession()。我知道对象提供了类似的功能,但我不知道它们可以用于实际的可调用方法。

如何使用这种技术创建一个类?

【问题讨论】:

  • 这本身不是继承,尽管这些类很可能使用继承(使用extends 关键字定义)。对象$system 有一个公共属性$sessions,它本身就是一个对象,并且有一个closeSession 方法。一般来说,公共属性不是最好的方法:$sessions 应该是公共的getSessions() 方法,以保持只读。
  • 另外,我发现使用适当的 phpdoc cmets 的 getter 方法在类型提示方面比公共属性更可靠,​​尽管这可能只是 Netbeans 打嗝:)

标签: php class object inheritance methods


【解决方案1】:

没什么特别的。含糊不清的非功能性伪代码:

class Zend_Session {
    function closeSession() { ... }
}

class zend {
   public $sessions;
   function __construct() {
      $this->sessions = new Zend_Session;
   }
}

【讨论】:

  • 谢谢,我现在明白了 :) 我没有意识到它这么简单!我的应用程序现在运行起来会更流畅一些。
猜你喜欢
  • 1970-01-01
  • 2020-12-26
  • 1970-01-01
  • 2012-01-19
  • 1970-01-01
  • 2018-06-08
  • 1970-01-01
  • 2012-03-08
  • 1970-01-01
相关资源
最近更新 更多