Вы говорите про LifecycleCallbacks (в котором бизнес логике быть не должно) или про внешние EntityListener / DoctrineEventListener, в которых формирование аудита или формирование лога изменений (особенно если этот лог не связан с БД в которой идут изменения, например лог пишется в файл) вполне ОК?
public function preUpdate(PreUpdateEventArgs $eventArgs)
{
if ($eventArgs->getEntity() instanceof Account) {
if ($eventArgs->hasChangedField('creditCard')) {
$this->validateCreditCard($eventArgs->getNewValue('creditCard'));
}
}
}
Валидация номера кредитной карты — это вполне себе бизнес логика.
Вы также внутри EntityListener можете использовать обычные Event через EventDispatcher. Т.е. не реализовывать логику отсылки письма внутри Listener, а вынести ее во вне.
В статье подход упрощенный и акцент сделан не на конкретную реализацию, а на общий принцип.
Если я правильно понял вопрос, то для Вашего случая подходят EntityListener (описаны в статье). Внутри LifecycleEventArgs, который передается в качестве события во внутрь EntityListener, есть ссылка на EntityManager, через который, в свою очередь, через getRepository() Вы можете получить доступ к любому объекту, а также к его изменению.
Лицензированию подлежит не всякая деятельность, а «Лицензия на осуществление геодезических и картографических работ федерального назначения, результаты которых имеют общегосударственное, межотраслевое значение»
Вряд ли схема сети Метро относилась к одной из них, так что там нужно читать определение / решение суда, чтобы разобраться.
Совершенно верно. Я писал «делаете скриншот, рисуете в Photoshop какие-то ориентиры, чтобы человек не запутался, выкладываете на свой сайт»
Если используете API — вопросов скорее всего нет.
И еще момент, по приведенной Вами ссылке https://yandex.ru/legal/maps_api/ в п. 1.1 указано следующее:
«1.1. Использование Пользователем Сервиса регулируется настоящим Соглашением, а также»…
«Условиями использования сервиса Яндекс.Карты, размещенным по адресу: https://yandex.ru/legal/maps_termsofuse/»
что, насколько я понимаю, означает что Правила использования Карт являются составной частью условия использования Maps.API
1. Вы не юрист и не владелец компании (насколько я понимаю), поэтому Ваше мнение (с которым я хотел бы согласится) является не более чем Вашей собственной частной позицией. Ни о каком «офицальном комментарии» речи быть не может по определению.
2. Даже если сейчас озвученная Вами позиция соответствует текущему положению дел — нет гарантии что она не изменится, скажем, через полгода в связи с изменением позиции руководства Яндекса по этому вопросу.
3. Карты, который использует Яндекс, не всегда принадлежат самому Яндексу. Т.е. он выступает как Лицензиат, а не как Правообладатель.Т.е. иск может подать не сам Яндекс, а владелец карт.
4. под коммерческим использованием API Яндекс.Карт подразумевается использование в сервисах, *платных для конечного пользователя* — с одной стороны Вы наверное правы (спасибо за ссылку), «Сервис может использоваться Пользователем только в рамках сайтов или приложений, доступных для бесплатного открытого использования неограниченным кругом лиц», с другой стороны, нанося разметку на карту, нарушается «2.3.3. Пользователь может использовать Данные и функции, полученные при помощи Сервиса, только в рамках функциональности, предоставляемой Сервисом.»
Повелся на рекламу и многочисленные отзывы на Amazon — купил себе «Bluedio R+ Legend» за 2 340 руб. на Aliexpress по акции (все наклейки о подлинности на месте).
По факту — на сколько наушники стоят — настолько они и играют.
Если вопрос ставить как «стоят ли наушники заплаченных за них денег» — да стоят — для любителей всего и сразу — это просто Must Have. Соотношение цена / качество отменное.
«Могут ли они заменить хорошие проводные наушники» — нет не могут (сравниваю с Audio Technica M50). Уровень звука сильно отличается как по Bluetooth, так и по проводу. Если Audio Technica — это HiFi усилитель со стационарными колонками, то Bluedio — это музыкальный центр с пластмассовыми колонками. Поэтому, если в наушниках вам важен звук, а не навороты — вариант не для вас.
С другими bluetooth наушниками, к сожалению, сравнить не могу за неимением оных, но если сравнивать например с беспроводными Sennheiser RS 160 — качество звука похожее, хотя Sennheiser стоят раза в три дороже.
Во многих статьях (включая эту) встречаю мысль, что программисты вокруг — это в основном 20-30 лет. А куда они потом уходят? В менеджеры? PM? Уход в менеджеры — это скорее боковая ветвь развития, когда ты уходишь в управление людьми. В любом случае менеджеров в среднем нужно раз в 5 меньше чем программистов.
Поддержка сравнения функций и процедур есть, но она не очень подходит для анализа больших функций.
Думаю в будущем прикрутить для этого полноценный diff
SQLYog:
— платная
— только для MySQL
— только под Windows
Compalex (мой скрипт):
— бесплатный
— поддерживает MySQL, PostgreSQL и MSSQL (в перспективе Oracle)
— устанавливается везде где есть php (а он есть практически под любую платформу)
В описанном Вами случае правильнее использовать миграцию баз данных, которая описывает состояние баз данных на определенный момент времени и позволяет откатить базу данных на определенную точку.
Данный скрипт не про это: он для наглядного представления разницы в двух базах, а не для приведения двух баз к одному состоянию.
Вот посмотрите пример на самом doctrine
docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html#preupdate
Валидация номера кредитной карты — это вполне себе бизнес логика.
В статье подход упрощенный и акцент сделан не на конкретную реализацию, а на общий принцип.
Вряд ли схема сети Метро относилась к одной из них, так что там нужно читать определение / решение суда, чтобы разобраться.
Если используете API — вопросов скорее всего нет.
«1.1. Использование Пользователем Сервиса регулируется настоящим Соглашением, а также»…
«Условиями использования сервиса Яндекс.Карты, размещенным по адресу: https://yandex.ru/legal/maps_termsofuse/»
что, насколько я понимаю, означает что Правила использования Карт являются составной частью условия использования Maps.API
1. Вы не юрист и не владелец компании (насколько я понимаю), поэтому Ваше мнение (с которым я хотел бы согласится) является не более чем Вашей собственной частной позицией. Ни о каком «офицальном комментарии» речи быть не может по определению.
2. Даже если сейчас озвученная Вами позиция соответствует текущему положению дел — нет гарантии что она не изменится, скажем, через полгода в связи с изменением позиции руководства Яндекса по этому вопросу.
3. Карты, который использует Яндекс, не всегда принадлежат самому Яндексу. Т.е. он выступает как Лицензиат, а не как Правообладатель.Т.е. иск может подать не сам Яндекс, а владелец карт.
4. под коммерческим использованием API Яндекс.Карт подразумевается использование в сервисах, *платных для конечного пользователя* — с одной стороны Вы наверное правы (спасибо за ссылку), «Сервис может использоваться Пользователем только в рамках сайтов или приложений, доступных для бесплатного открытого использования неограниченным кругом лиц», с другой стороны, нанося разметку на карту, нарушается «2.3.3. Пользователь может использовать Данные и функции, полученные при помощи Сервиса, только в рамках функциональности, предоставляемой Сервисом.»
По факту — на сколько наушники стоят — настолько они и играют.
Если вопрос ставить как «стоят ли наушники заплаченных за них денег» — да стоят — для любителей всего и сразу — это просто Must Have. Соотношение цена / качество отменное.
«Могут ли они заменить хорошие проводные наушники» — нет не могут (сравниваю с Audio Technica M50). Уровень звука сильно отличается как по Bluetooth, так и по проводу. Если Audio Technica — это HiFi усилитель со стационарными колонками, то Bluedio — это музыкальный центр с пластмассовыми колонками. Поэтому, если в наушниках вам важен звук, а не навороты — вариант не для вас.
С другими bluetooth наушниками, к сожалению, сравнить не могу за неимением оных, но если сравнивать например с беспроводными Sennheiser RS 160 — качество звука похожее, хотя Sennheiser стоят раза в три дороже.
Preferences ->Debugger->Port и соответствующим образом меняете js функцию.
https://github.com/dlevsha/nasgrate
на мой взгляд, данный вопрос более менее раскрыт в описании
Думаю в будущем прикрутить для этого полноценный diff
Триггеры — думаю можно добавить.
… сравниваем с имеющейся базой
— платная
— только для MySQL
— только под Windows
Compalex (мой скрипт):
— бесплатный
— поддерживает MySQL, PostgreSQL и MSSQL (в перспективе Oracle)
— устанавливается везде где есть php (а он есть практически под любую платформу)
Данный скрипт не про это: он для наглядного представления разницы в двух базах, а не для приведения двух баз к одному состоянию.