BasiC2k а что за "специальный веб-ресурс", не подскажете? Обычная почта и не вскрывать конверт не подходит, т.к. каждый из документов растаскивается на 20+ сайтов. Для всех не получится запастись необходимым конвертиком.
Дмитрий, честно я не понял этого) Мне кажется в симфони нет такого объекта со всеми конфигами, чтобы его инжектить как зависимость. Или есть? Что то мне подсказывает, что это не symfony way...
Как то со скрипом у меня идет понимание как работать с конфигами. Вроде простой компонент, простую функцию выполняет, но видимо из-за тесной связи с Контейнером возникают непонятки). Да и правила для проверки конфига - отдельная тема).
Есть пара вопросов нубских:
1. Как я понял с конфигами мы всегда работаем именно через контейнер. Если да, то чтобы получить доступ к какому то значению/массиву значений в конфиге - их нужно зарегистрировать в контейнере $container->setParameter('foo', $config['foo']); Я это правильно понял? Или все таки есть какой то объект Config в котором собраны и доступны все конфиги?
2. Судя по выводу дампа объекта контейнера в него сваливаются и конфиги бандлов, и то что мы пишем в секции parameters:, только без написания правил валидации конфига, регистрации конфигов с заданными алиасами и прочих действий. Фактически я ведь не делаю пока разделения кода по библиотекам/бандлам. Наверное и смысла тогда нет выделять для каждого "модуля" отдельную секцию в конфиге? Или смысл есть все таки? ("модуля" в кавычках, потому что фактически это же целостное приложение пока - все лежит в папке src/, и имеет одно пространство имен).
Спасибо за ответ! С вашей подачи реализовал несколько методов в контроллерах с заранее известными зависимостями, которые уже и передаются дальше. И в репозиториях навел чуть порядка. Спасибо, очень помогли!
Вадим, я уже прям отчаялся узнать в чем дело, почему у всех работает, а у меня нет - во всем инете используют первый вариант, сайт симфони о нем пишет в примерах. И получается, что у всех все работает! Вы просто спасли меня от самобичевания! Действительно первый вариант доступен так, как вы написали! Странно, что я нигде не видел инфу о особенностях вывода этих полей... ну а сам просто не догадался, по неопытности.
А как тогда лучше делать, внедрять или наследовать? Если наследовать, то и метод доступа не меняется, что мне кажется удобнее...
Да, видимо что-то типа этого! Просто хотелось бы увидеть более менее целостное решение (сложный пример), чтобы было несколько методов возвращающих части QueryBuilder'а, и в итоге составлялся сложный запрос.
Евгений Черданцев, Учитесь на правильном, делать правильно с самого начала. Делать неправильно - научится элементарно. Поэтому начинать нужно не со своего фреймворка или изобретения велосипеда, а с изучения существующих.
Писать свой фреймворк не имея опыта работы с другими фреймворками - далеко не лучшее решение, в том числе и в образовательных целях.
Я забыл добавить, что не могу сразу вставлять этот статичный контент в страницу, т.к. он повторяется от страницы к странице, и чтобы улучшить поисковую оптимизацию эти куски вставляются Ajax'ом.
Спасибо Вам за подсказку по поводу использования DTO! Я не знал даже об этом. Я сделал DTO объект без сеттеров с приватными свойствами - таким образом его можно использовать только в выводе. Попробовал - очень понравилось - и объекты используются, и без загрузки из БД ненужных данных!
Правда я не совсем понял причем тут паттерн Flyweight. Возможно доктрина его использует при создании DTO объектов, но это лишь моя догадка ))