gpt4 book ai didi

php - 我可以使用 dirname(__FILE__) 作为字符串的一部分吗?

转载 作者:可可西里 更新时间:2023-11-01 13:22:53 25 4
gpt4 key购买 nike

我在 php 脚本的包含中使用了 dirname(__FILE__),但前几天我将它作为字符串的一部分包含进来,这导致了错误。有什么想法吗?

这条线是

private $errorfile = dirname(__FILE__).'/../../../error_logs/error.log';

private $errorfile = '/../../../error_logs/error.log';
error_log($message,3, dirname(__FILE__).$this->errorfile);

它导致了这样的错误

PHP Parse error: syntax error, unexpected '(', expecting ',' or ';' in /home2/futsalti/public_html/_futsal-time-v4.9/public/scripts/php/databaseClass.php

PHP Parse error: syntax error, unexpected ';' in /home2/futsalti/public_html/_futsal-time-v4.9/public/scripts/php/databaseClass.php

编辑:

好的,刚想到我...也许问题应该是我可以在类中使用 dirname(__FILE__) 吗?

最佳答案

属性默认值必须是一个固定的常量值;您不能在属性的默认值中使用动态值、变量、串联字符串或函数调用。

可以使用常量,正如我之前在上面的评论中指出的那样,__DIR__dirname(__FILE__) 的有效替代品.

因此,您可以这样做:

class myClass {
public $path = __DIR__;
}

这行得通,但您不能在初始声明中向它添加任何其他内容,因此尽管它越来越接近,但它并没有真正回答您的问题。

如果需要的不止于此,您需要在代码中定义它而不是默认值。我建议在属性声明中将变量声明为空字符串或 null,并使用 __construct() 函数根据需要填充值。

class myClass {
public $errorFile = null;
public function __construct() {
$this->errorFile = __DIR__ . ''/../../../error_logs/error.log';
}
}

希望对您有所帮助。

关于php - 我可以使用 dirname(__FILE__) 作为字符串的一部分吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18894471/

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