#php #laravel
Вопрос:
Что было бы лучшим способом инициализации константы внутри класса, но она должна загружаться при вызове вспомогательной функции laravel base_path() изначально у меня есть этот код, который выдает ошибку, потому что константа класса уже запущена
Class TestClass(){ public const TEST_CONSTANT = base_path('path/to/file'); }
Как я должен рефакторировать этот код Я попытался добавить переменную класса и предварительно определить ее внутри, и это работает
Class TestClass(){ private $testConstant; public function __construct(){ $this-gt;testConstant = base_path('path/to/file'); } }
мой вопрос: есть ли какой-либо другой способ изменить это?
Комментарии:
1. Итак, вам нужен контент с динамическим значением…. Разве это не звучит странно? Кроме того, этот вопрос основан на мнении.
2. да, сортируйте, потому что мне нужно использовать laravel base_path()
3. Установите константу класса
path/to/file
и используйтеbase_path()
ее везде, где вы ее используете… Но, как уже было сказано, это мнение4. итак, TEST_CONSTANT = «путь к файлу», затем в конструкторе $this-gt;testConstant=базовый путь(TEST_CONSTANT)?
5. Нет, где вы используете константу,
base_path(TestClass::TEST_CONSTANT)