php - 类文件中是否有全局 PHP 常量?

标签 php constants

类文件中是否有全局 PHP 常量?

define('SITE_PATH', 'C:/webserver/htdocs/somefolder/');

然后在我的类文件中尝试这个

public $debug_file = SITE_PATH. 'debug/debug.sql';

虽然这似乎行不通,

Parse error: parse error, expecting ','' or';'' in C:\webserver\htdocs\somefolder\includes\classes\Database.class.php on line 21

最佳答案

我支持其他人所说的。由于 $debugFile 似乎是一个可选的依赖项,我建议在创建类时初始化一个合理的默认值,然后在需要时允许通过 setter 注入(inject)更改它,例如

define('SITE_PATH', 'C:/webserver/htdocs/somefolder/');

class Klass
{
    protected $_debugFile;
    public function __construct()
    {
        $this->_debugFile = SITE_PATH. 'debug/debug.sql' // default
    }
    public function setDebugFile($path)
    {
        $this->_debugFile = $path // custom
    }
}

请注意,注入(inject) SITE_PATH 而不是对其进行硬编码会是更好的做法。

关于php - 类文件中是否有全局 PHP 常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2082935/

相关文章:

php - 使用 php GD 库的图案化文本

php - 在没有 SQL 注入(inject)的情况下从 mysql 中的用户保存 "Messages"

c - 需要更好地理解 C 中使用 const 指针的这些操作

c++ - strcpy() 导致从 ‘const char*’ 到 ‘char*’ 的无效转换 [-fpermissive]

c# 在 DllImport 中使用 const

php - 回复 sagepay 中的通知帖子 (PHP)

php - 如何在 __construct() 中创建 PDO 连接?

javascript - Chart js PHP 和 JSON 不会显示

c++ - 在类中传递私有(private)变量 - 为什么不允许这样做?

c++ - *static* 成员函数的 const 和非常量版本