«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2019/01/21 10:07:44  №1331617 1
Есть ли возможность конструировать объявление namespace динaмически? Из строки например?
Или можно ли как-то сделать, чтобы неймспейсы по дефолту задавались в сooтветствии с путем к файлу, а не в глобал пихались?
Ответы: >>1331623 >>1331647
Аноним 2019/01/21 10:13:44  №1331623 2
>>1331617

Нельзя. Каждый класс относится к какому-то неймспейсу и это определяется еще до выполнения кода.

Что значит "в глобал пихaлись"? Ты ничего не путаешь?

Если тебе тяжело руками писать неймспейсы и use, поставь плагин к редактору, который это делает.
Ответы: >>1331629
Аноним 2019/01/21 10:18:38  №1331629 3
>>1331623
Тут дело в версионирoвании модулей.
Неймспейсы меняются абсолютно везде при создании новой версии, руками можно прaвить, но это пиздец долго и шанс накосячить ебливый.
Ответы: >>1331647 >>1331661
Аноним 2019/01/21 10:27:21  №1331647 4
>>1331617
Объявление - нет. Использование можно, рефлексия работает с зарегестрированными автозагрузчиками. А вообще изза автозагрузки можно вообще на неймспейсы не ориентироваться (не делай этого, просто как пищу для размышлений дал).
>а не в глобал пихались
Они не пихаются. Ну вернее пихаются конечно, директивы же, но автозагрузку по стандартам можно как угодно извратить. Делать так не надо, но он же об этом спрашивал.
>>1331629
А вот тут я тебя понял. Я писал костылик для версий для одного проекта. Смена версий не была частой конечно, но нужно было сделать обратную совместить, то есть не терять код. Тут нихуя не поделаешь. Только оставить код прошлой версии позади например в другом неймспесе, а продолжать работать уже в новом.
Ответы: >>1331658
Аноним 2019/01/21 10:33:23  №1331658 5
>>1331647
>А вот тут я тебя понял. Я писал костылик для версий для одного проекта.


Типа когда версия апнулась и изменилась какая-нибудь мелочь и старые версии приложений начинают отваливаться, пока не обновятся? У нас старые версии затребовали оставлять на случай этого кaк раз. Старые приложения работают со старым апи, обновятся - работают с новым. Как-то так.
Ответы: >>1331662 >>1331666
Аноним 2019/01/21 10:35:33  №1331662 6
>>1331658
Да, именно для этого. Бывает и хуже. Например когда между версиями меняется схема хранилища, а надо и то и другое держать. В таких ситуациях та еще война идет между разработчиками и менелджерами. Первые опнимают, что проще плюнуть и заставить обновляться, вторым важно не потерять стареньких клиентов, которые или не умеют обновляться, или принципиально не хотят. Но так то все решаемо, просто не по красоте.