我想在php类常数(方法之外)中声明并初始化json
文件的路径。但是,看来我无法在方法之外调用storage_path()
函数。
class MainController extends Controller{
const PATH_TO_JSON_DATA = storage_path().'data/data.json'; // invalid expression
public function renderPage(){
dd(storage_path().'data/data.json'); // valid expression
}
}
是避免初始化方法内路径的方法吗?
初始化控制器构造函数中私有属性的路径。
class MainController extends Controller
{
private $jsonPath;
public function __construct()
{
$this->jsonPath = storage_path().'data/data.json';
}
}
根据PHP手册:
类常数必须是恒定的表达式,而不是(例如) 变量,属性或功能调用。