Задать вопрос
@Zezst
программист PHP

Чем руководствоваться при именовании констант?

Хотелось бы узнать у сообщества об отношении к define.
В частности, если константа содержит путь, обязательно ли ее именовать префиксом PATH?
Например, у приложения есть порядка 5 констант, содержащих конкретные пути:

define('ROOT', __DIR__ . '/');
define('WWW', ROOT . 'public/');
define('KERNEL', ROOT . 'kernel/');
define('LIBRARY', ROOT . 'library/');
define('TMP', ROOT. 'tmp/');
define('LOGS', ROOT. 'logs/');


Имеет ли место быть такое именование?
  • Вопрос задан
  • 138 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
slashinin
@slashinin
Задачи для PHP https://justcoding.ru
Попробуйте использовать класс, выглядит очень не плохо:

<?php 
class Path {
	const ROOT = __DIR__ . '/';
	
	const WWW = self::ROOT . 'public/';
	
	const KERNEL = self::ROOT . 'kernel/';
	
	const LIBRARY = self::ROOT . 'library/';
	
	const TMP = self::ROOT . 'tmp/';
	
	const LOGS = self::ROOT . 'logs/';	
}

// Применение
echo Path::ROOT;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега PHP
♬♬
Если пишете не прилжоение, а модуль, который станут использовать другие разработчики, рекомендуется использовать общий префикс для констант именно вашего модуля:
HABR_ROOT
HABR_WWW
HABR_KERNEL


Как вариант с путями, например, в Laravel они получаются вызовом вспомогательных функций:
app_path()
base_path()
config_path()
database_path()
public_path()
storage_path()
Причём, в них можно передавать параметром относительный путь внутри, чтобы получить полный. Здесь общий не префикс, а постфикс, т.к. результат больше похож на натуральный язык и, видимо, легче запоминается.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽