【问题标题】:It is possible in PHP that we can create any public method and use everywhere/anywhere?在 PHP 中我们可以创建任何公共方法并在任何地方/任何地方使用吗?
【发布时间】:2021-02-03 05:58:49
【问题描述】:

为了跟踪应用程序流,我使用了一个日志文件,为此,我每次都需要创建这个函数

    public function lol($lol)
    {
        $writer = new \Zend\Log\Writer\Stream(BP . '/var/log/test.log');
        $logger = new \Zend\Log\Logger();
        $logger->addWriter($writer);
        $logger->info('Simple Text Log'); // Simple Text Log
        $logger->info('AT : '. $lol); // Simple Text Log
        
    }

并将其调用到类文件的任何一行

$this->lol(__FILE__."::".__LINE__);

所以,我正在寻找一种方法,并在将此函数创建为全局并在我的任何应用程序中的任何位置使用之后,无需扩展任何类或导入任何文件。

提前感谢@community

【问题讨论】:

    标签: php function class globalization


    【解决方案1】:

    像这样在单独的文件中为它创建 PHP Trait。

    特征记录器 { 公共功能日志(...$arguements) { //你的代码 } }

    然后在你的班级中像这样导入这个特征。

    使用命名空间\特征\记录器;

    class YourClass { 使用记录器;

    log(/**...*/);
    

    }

    【讨论】:

    • 谢谢你,兄弟,但如果我需要跟踪另一个类,那么我需要在那个类中添加那个类......不,我正在寻找一种方法,就像 CodeIgniter 助手类 Ex: Crate function in助手一次,然后在应用程序的任何地方使用该函数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 2010-09-08
    • 2016-05-24
    相关资源
    最近更新 更多