topuserman да, так должно работать, только в вашем примере больше похоже, что вы его как сервис-локатор хотите использовать.
По поводу синглтонства - это непосредственно доку конкретной реализации контейнера нужно смотреть - многие поддерживают возможность задать shared или не shared мод в зависимости от которого будет возвращаться каждый раз новый инстанс класса, или тот же самый как будто это синглтон, без необходимости делать вызываемый класс синглтоном
О том что целесообразнее в вашем случае мне сказать трудно. Возможно в вашем случае будут какие-то общие зависимости для всей системы и какая-то часть только для модулей. Если cms подразумевает какую-то модульность, то вероятно стоит предусмотреть интерфейс чтоб каждый модуль предоставлял конфиг со своими зависимостями и ядро системы при использовании модуля регистрировало его зависимости.
Но в целом не стоит бояться того, что придётся регистрировать слишком много зависимостей или избыточные - если зависимость не вызывается, инстанс для нее создаваться не будет
да, если точек входа несколько, то нужно подключить файл с инициализацией контейра в каждый из них.
Про область видимости - не совсем понятен вопрос. Ваша cms использует composer, psr-4 или psr-0 ?
Если там много построенного на функциях а не на классах, то веротяно придётся объявлять как global
А так, я больше предпочитаю https://github.com/thephpleague/container или symfony которые умеют autowire и lazy load, pimple насколько я помню не умеет. В любом случае трудно что-то порекомендовать не имея представления о проекте
yurygolikov, давно не заходила, я не говорила про хранение бизнес-логики в формах, а про то, что данные форм далеко не всегда могут соответствовать AR-модели = таблице, если это не простой crud. yiiframework.ru/forum/viewtopic.php?p=212604#p212604 https://github.com/yiisoft/yii2/commit/35f7c61f776...
>>в модели как раз должна содержаться валидация бизнес-правил, реализация бизнес-логики предметной области.
Но бизнес-модель !== AR-модель, модель это не один класс.
и данные со всех этих форм у вас хранятся в одной таблице?
Какие действия происходят после заполнения каждой из форм? Просто сохранили что юзер навводил и всё, или они всё-таки порождают какие-то процессы?
Если валидацией занимаются соответствующие запросу формы и обрабатываются соответствующими сервисами нет необходимости плодить копии AR -модели. ее задача только сохранить данные, и вывести данные.
Хотя если у вас что-то типа одностраничника с заказом звонка, обратной связи и калькулятором груза, и особого развития и поддержки проекта не предвидится, можно не заморачиваться.
Во-первых, не мыслите в рамках active-record модели. Уже где только не говорилось и разработчики признают, что совершили ошибку из-за названия класса model внеся путанницу. Модель - это не один класс. а совокупность.
>Различие только в том, что в каждой форме свой набор полей
Попробуйте рассмотреть не со стороны формы и полей, а со стороны бизнес-логики - для какой цели служат эти формы, и какие бизнес-процессы должны произойти.
Модели-формы служат для обработки пользовательских данных + подготовки дополнительной информации при необходимости. Чтобы на сохранение в базу шли только валидные данные. Один запрос - одна форма-модель которая должна вернуть валидный набор данных.
> Или всё таки переделать на несколько моделей, одна модель - одна форма?
Нет смысла переделывать, пока не прийдёт понимание - для чего нужно переделывать. Если не прийдёт понимания на конкретном проекте, значит норм и не надо ничего переделывать.
Alex McOwkin, на ларакасте есть цикл создание форума с нуля.
Tdd и best practice там не мало. Не жмотьтесь. Там материал стоит своих 10 $. И не бойтесь английского - большинство все равно скрины кода.
Я вообще видео лекции не люблю, предпочитаю тексты. Но сабж вполне ниче
dllweb: А что вы ожидаете - что тут кто-то в уме умеет проводить побитовые смещения или наизусть таблицы кодировки знает? Без упомянутых мной инструментов в вашем коде не разобраться.
А тратить на это время , только потому что вам не хочется освоить стандартные отладочные инструменты никому и нафиг не сдалось.
ну что-то не в то русло тема ушла.. я прекрасно понимаю значимость тз и нюансы непосредственного взаимодействия заказчика-исполнителя, меня больше интересуют более статистические сведения - а на фрилансе как раз каждая оценка проекта будет по сути субъективной - будут неадекватные оценки новичков способных на всё за 3 рубля, будут заломленные цены за понты.
Качество оно субьективно.
в случае если клиент не шарит и оценивает по рюшечкам Наверное я даже скорее не правильно выразилась, вилка не по качеству а по профессиональному уровню исполнения - т.е
дизайн на перекрашеном фри-темлейте от-до/незамысловатый дизайн+коллаж из фоток - от-до/ отрисовка с продуманным ui от/до
верстка "на моём компе работает и кило js-scripta в html", "я умею бутстрап и чуть-чуть jquery", "less/scss/gulp" ...
код в виде всё MVC в одном файле, дёшево и сердито/ код "я слышал про ооп" /код с тестами / enterprise-level