“使全球化”;“记录器”;类可用于php中的每个应用程序类
我有一些将数据存储到DB的类,我想实现一个新的“使全球化”;“记录器”;类可用于php中的每个应用程序类,php,oop,Php,Oop,我有一些将数据存储到DB的类,我想实现一个新的loggerclass方法,在每个pdo UPDATE语句之后执行一些日志操作 声明 这些类中的每一个都扩展了一个global类 我希望每个类都有$logger类 我想我需要在全局类中“包括”一个新的logger类,对吗 如果是,我应该如何以正确的OOP方式执行?我只需要一些快速的简报,而不是详细的代码 多谢各位 class Global { private $logger = null; protected functio
logger
class方法,在每个pdo UPDATE语句之后执行一些日志操作
声明
- 这些类中的每一个都扩展了一个
类global
- 我希望每个类都有$logger类
logger
类,对吗
如果是,我应该如何以正确的OOP
方式执行?我只需要一些快速的简报,而不是详细的代码
多谢各位
class Global {
private $logger = null;
protected function log($msg) {
if ($this->logger === null) {
$this->logger = new Logger();
}
$this->logger->log($msg);
}
}
在其他类中$this->log('test')
编辑:
更好的方法是使用依赖项注入,例如使用pimple。需要查看一些实际代码以提供帮助。但是传统的OOP方法是为数据库类创建装饰器。这将需要一个干净的OOP代码库,它已经基于接口了?“全局”作为关键字还是实际名称?如果你的意思是该类应该在任何地方都可以访问,那么只需使用一些自动加载。你将如何从类外调用
受保护的方法?我将受保护的更改为公共,但未找到类“记录器”
错误。。。我应该设置global
来扩展一个新的Logger
类吗?这只是一个例子。您需要在log函数中创建ja Logger。他说所有类都扩展了全局类。。。。当然你可以调用一个受保护的函数