Возможно ли использование констант в константах? Добрый день.
Решил я тут в одном небольшом проекте без PDO и ORM вынести все запросы в отдельный класс. Чтобы увеличить гибкость хочу сделать так:

21 Авг 2019 в 07:06
162 +1
0
Ответы
1

Да, к сожалению, PHP не позволяет использовать константы внутри констант. Однако, вы можете использовать публичные статические переменные и геттеры для достижения вашей цели. Примерно так:

class Query
{
public static $TABLE_PREFIX = 'prefix_';
public static $TABLE_ENTITYES = 'entity';
//?i - плейсхолдер для обёртки над mysqli
public static function GET_ENTITY_BY_ID()
{
return '
SELECT
`id` AS id,
`name` AS name,
`origin` AS domain,
`token` AS token
FROM
' . self::$TABLE_PREFIX . self::$TABLE_ENTITYES . '
WHERE
`id`=?i
LIMIT 1';
}
}

Теперь вы можете получить запрос таким образом:

$queryString = Query::GET_ENTITY_BY_ID(); //обращение к запросу

Надеюсь, это поможет вам достичь желаемой гибкости в вашем проекте. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться. Удачи!

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир