gpt4 book ai didi

php - 如何为目录的所有 PHP 脚本设置包含?

转载 作者:行者123 更新时间:2023-12-04 05:58:56 26 4
gpt4 key购买 nike

我是 PHP 新手,我有一个非常基本的问题。我想在我的项目的所有 PHP 文件中设置 PEAR 日志记录。我如何做到这一点?现在,在每个文件中都有以下几行:

// Repeated lines
require_once 'Log.php';
$conf = array('mode' => 0600, 'timeFormat' => '%X %x');
$logger = Log::singleton('file', 'out.log', 'ident', $conf);

// Some logging...
$logger->log("Log entry");

重复 3 行对我来说似乎不是正确的解决方案。我的 Propel 生成的类实际上也有同样的问题。我该如何解决这个问题?

马丁

最佳答案

我会使用一个全局包含文件来完成您需要在每个页面上执行的所有常规操作。例如,如果你想实例化你的记录器,连接到一个数据库,并用用户的 $_SESSION 做一些事情。在每个页面上,您都可以创建一个全局包含:

在/includes/global.php

require_once 'Log.php';
$conf = array('mode' => 0600, 'timeFormat' => '%X %x');
$logger = Log::singleton('file', 'out.log', 'ident', $conf);

// Connect to DB

// Do $_SESSION stuff

在/any/other/file.php
require_once( '/includes/global.php');

// $logger is already defined:
$logger->log("Log entry");

如果你需要登录一个函数,你可以获取你的单例的副本,或者使用 global关键词:
function test( $a)
{
global $logger;
$logger->log( 'test() - ' . $a);
}

编辑:最后,您可以使用 php.ini directive auto_prepend_file它指定在主文件之前自动解析的文件的名称。

关于php - 如何为目录的所有 PHP 脚本设置包含?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9165308/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com