heartdevil, я с вами полность согласн, мои, так сказать, возмущения, вызваны комментом FanatPHP. Просто сервис (служба) - объкт без обозначенного жизненного цикла какторый выполняет какую-то работу в рамках бизнес-логики не меняя при этом внутреннего состояния. Все быть сервисам не может.
Если ты получаеш что-то через Service Locator - это не значит что то что ты получаеш является сервисом в понимании бизнес-логики.
Артём Петренков, Да пускай - я последствий не боюсь: во первых я ничего плохого не сделал, убытков никому не принес. Во вторых - компания публичная, врядли кто-тозахочет выносить сор из избы. Ну а если вынесут - это только в плюс, я развоняюсь на пол страны - для них - репутационные потри, для меня - PR )))
Мне больше интересно законно ли это вообще - просто нам в универе говорили что вроде как законно, если только с целью изучения. Но это было в 2005 году, интересно, сейчас так же?
Тимур Худиев: Схема - это описание таблицы (список столбцов, их типы, и т.п.). Для работы AR Yii делает запросы схем таблиц. Не помню точно сколько там запросов, но делает. При разработке схемы меняются (например, добавили столбец в таблицу). На продакшене - нет. Только при обновлении релиза, при нем нужно кеш очщать.
Добавлю лишь что часть из этих запросов - получение схем таблиц. Их тоже можно и нужно кешировать. Но рекомендую кешировать их только на проде (так как для конкретного релиза - это, по сути, статичная информация). На деве это создаст лишь дополнительные проблемы при разработке.
Максим Тимофеев: ну как-то так примерно я и сделал, но при одновременной регистрации нескольких юзеров все равно возможны коллизии. Сейчас, конечно, мысль пришла вообще переписать это все на java (я все равно потихоньку переношу свой проект на Spring) - там подобные проблемы решаются одной строкой synchronized
Если ты получаеш что-то через Service Locator - это не значит что то что ты получаеш является сервисом в понимании бизнес-логики.