此问题已经在这里有了答案:
我正在尝试创建一个日志记录类,该类将在PHP应用程序周围的所有类中均可通过
logger::log(something);
这会将下一行添加到我的日志文件中(插入文件这一部分对我来说很容易)。我在DIBI(数据库框架)中看到了双冒号。这很酷,因为我可以在需要的地方使用dibi :: dataSource(“”)。但是不知道如何在我的应用程序中执行此操作。
现在,我在某些类中有一些东西(应用程序中有更多类似的类),例如(短):
Class DoSomething {
function runTests() {
logger::log("Test started");
// do the magic
logger::log("It ends");
}
}
在index.php中,我有类似的内容:
// init
$app = new DoSomething;
$app->runTests();
...
而且我想在index.php中有一些代码,这将通过“ logger :: log();”在类中添加日志记录功能的可访问性。但是不知道该怎么做。您能帮我吗?
也许它可以以某种方式与“扩展”一起使用,但是有没有更简单的解决方案?我已经尝试阅读-https://www.php.net/manual/en/language.oop5.paamayim-nekudotayim.php,但仍然不确定如何执行此操作。
谢谢。
双冒号允许访问类中的静态函数和常量。
如果我正确理解您的问题,那么您正在寻找的是静态方法。这种方法可以让您在不事先实例化对象的情况下调用函数(使用new Logger
)