Дорогой автор, не сочтите за нравоучение - но если вы смогли у себя диагностировать депрессию, то стоит обратится за помощью к психологу или психотерапевту, так как сменой деятельности в профессии или какой-то системой отслеживания целей это не вылечишь.
Как минимум, (но это не лекарство) хотя бы почитайте Лобковского "Хочу и буду", он очень популярно рассказывает про неврозы и как они нам портят жизнь. У него есть хороший набор правил, первое гласит - делай только то, что хочешь. И это совсем не просто! Если следовать этому правилу, придется выбирать в таких категориях - хочу я чтобы был спокоен или забить на душевные порывы и пахать и зарабатывать. Хочу я заниматься любимым делом или продолжать по привычке, то что уже стабильно.
Ваш метод разработки очень популярен, когда проще написать свой родной велосипед, вместо того, чтобы оглянутся и посмотреть какие инструменты уже существуют, покрывающие ваши задачи и использующие стандарты.
Сам грешен, вел себя так же. Так как на изучение нового, уходит время и не всегда это новое окажется годным.
Со своей стороны, вижу свою задачу, рассказывать про инструменты такие как API platform, так как верю, что кому-то это сможет сэкономить много времени и ресурса.
В туториале, я рассказываю как максимально быстро подступиться к изучению API-platform. Это не "серебряная пуля" для решения всех задач (в начале статьи, я подсветил, что можно делать API и на подходе с контроллерами).
Но в моем случае, если бы я раньше начал использовать эту библиотеку, то огромную часть кода в проекте писать не пришлось.
По поводу Вашего замечания про God-object, только Вам решать как и куда раскладывать логику в проекте :)
В данном примере, я показал подход, как обработку каждого метода(POST, PATCH, GET) можно увести в процессор или провайдер (используя принцип CQRS). А дальше, естественно, реализовывать бизнес логику в сервисах или других компонентах системы.
То что, произошла "концентрация" атрибутов в сущности пользователя, для описании поведения API, не вижу в этом ничего криминального, для формата туториала. И в сущности пароли не храниться в открытом виде, поле plainPassword необходимо, только для чтения пароля чтобы сразу закэшировать его.
По поводу высказывания "Программирование на другом языке" - если вы про атрибуты, то это все тот же php.
В этой статье, я не стал грузить читателя всеми фичами библиотеки, так как пришлось быть делать очень длинный материал. В следующих материалах, планирую рассказать как применять валидаторы, voter, загрузку и отдачу медиа.
Я просто изучил документацию, просто перевел часть статей документации на русский язык(wip), просто сделал туториал, и просто решил поделится им с друзьями.
А потом, подумал, а может этот туториал станет полезен не только мне и моим друзьям? И просто поделился им с русскоговорящим сообществом Хабра.
В надежде, что кому-то это принесет пользу и упросит жизнь :)
Скрин в предыдущем ответе, как раз иллюстрирует этот метод :)
Такая возможность доступна если выделить один объект или группу объектов.
В результате, мы получим пригодный SQL для дальнейшего использования в любимой IDE или напрямую, через консоль.
А вот генерация через вкладку Tools -> DB -> Generate Database, действительно не доступна в Community Edition.
Совершенно верно, именно так всё и настроено.
По такому принципу у меня Toad работает.
В данном случае, сообщение об ошибке у меня исчезло и DataGrip начал работать по ssh, после перезапуска компьютера.
Возможно, где-то у меня в системе было что-то не так.
Как usercase:
1) Установил DataGrip
2) Настроил ssh-тонель, получил ошибку
3) Перезапустил систему
4) Соединение по ssh-тоннелю заработало
Я стараюсь использовать trello.com для взаимодействия между участниками проекта.
Создаю под проект свою доску.
В ней создаю четыре столбца:
Задачи
В работе
На проверке
Выполнено
Далее начинаем создавать карточки в столбцах.
Вначале, у нас все карточки скапливаются в первом столбце.
И походу работы, карточка перемещается по столбцам, и должна уйти в «Выполнено»
Чем хорош этот инструмент, что у него есть и мобильное приложение и разные методы оповещения.
Если кто-то перемещает карточку в другой столбец, или что-то в ней изменяет, сразу срабатывает push уведомление у участников.
Рекомендую взглянуть на этот инструмент, кто не знает о нём (тем более, что он бесплатный).
такое возможно если мы в контроллере, например в actionCreate делаем так
public function actionCreate(){
$modelUser = new User();
$modelProfile = new Profile();
. . .
$this->render('form',array(
'modelUser'=>$modelUser,
'modelProfile'=>$modelProfile,
));
Дорогой автор, не сочтите за нравоучение - но если вы смогли у себя диагностировать депрессию, то стоит обратится за помощью к психологу или психотерапевту, так как сменой деятельности в профессии или какой-то системой отслеживания целей это не вылечишь.
Как минимум, (но это не лекарство) хотя бы почитайте Лобковского "Хочу и буду", он очень популярно рассказывает про неврозы и как они нам портят жизнь. У него есть хороший набор правил, первое гласит - делай только то, что хочешь. И это совсем не просто! Если следовать этому правилу, придется выбирать в таких категориях - хочу я чтобы был спокоен или забить на душевные порывы и пахать и зарабатывать. Хочу я заниматься любимым делом или продолжать по привычке, то что уже стабильно.
Спасибо за совет!
Ваш метод разработки очень популярен, когда проще написать свой родной велосипед, вместо того, чтобы оглянутся и посмотреть какие инструменты уже существуют, покрывающие ваши задачи и использующие стандарты.
Сам грешен, вел себя так же. Так как на изучение нового, уходит время и не всегда это новое окажется годным.
Со своей стороны, вижу свою задачу, рассказывать про инструменты такие как API platform, так как верю, что кому-то это сможет сэкономить много времени и ресурса.
Благодарю за ревью!
В туториале, я рассказываю как максимально быстро подступиться к изучению API-platform. Это не "серебряная пуля" для решения всех задач (в начале статьи, я подсветил, что можно делать API и на подходе с контроллерами).
Но в моем случае, если бы я раньше начал использовать эту библиотеку, то огромную часть кода в проекте писать не пришлось.
По поводу Вашего замечания про God-object, только Вам решать как и куда раскладывать логику в проекте :)
В данном примере, я показал подход, как обработку каждого метода(POST, PATCH, GET) можно увести в процессор или провайдер (используя принцип CQRS). А дальше, естественно, реализовывать бизнес логику в сервисах или других компонентах системы.
Так же, если Вас не устраивает такой подход, API-platfom вполне поддерживает подход с контроллерами.
То что, произошла "концентрация" атрибутов в сущности пользователя, для описании поведения API, не вижу в этом ничего криминального, для формата туториала. И в сущности пароли не храниться в открытом виде, поле plainPassword необходимо, только для чтения пароля чтобы сразу закэшировать его.
По поводу высказывания "Программирование на другом языке" - если вы про атрибуты, то это все тот же php.
В этой статье, я не стал грузить читателя всеми фичами библиотеки, так как пришлось быть делать очень длинный материал. В следующих материалах, планирую рассказать как применять валидаторы, voter, загрузку и отдачу медиа.
Я просто изучил документацию, просто перевел часть статей документации на русский язык(wip), просто сделал туториал, и просто решил поделится им с друзьями.
А потом, подумал, а может этот туториал станет полезен не только мне и моим друзьям?
И просто поделился им с русскоговорящим сообществом Хабра.
В надежде, что кому-то это принесет пользу и упросит жизнь :)
Такая возможность доступна если выделить один объект или группу объектов.
В результате, мы получим пригодный SQL для дальнейшего использования в любимой IDE или напрямую, через консоль.
А вот генерация через вкладку Tools -> DB -> Generate Database, действительно не доступна в Community Edition.
Одно время, я активно использовал Visual Pardigm, для рисования диаграмм.
У них есть Community Edition
После создания диаграммы, можно из неё генерить SQL
И причем, как вы и хотели,
с перламутровыми пуговицамибез привязки к конкретной БД :)Data Grip
В Data Grip, обнаружил вот такую функцию.
Спасибо, за глубокую диагностику проблемы :)
По такому принципу у меня Toad работает.
В данном случае, сообщение об ошибке у меня исчезло и DataGrip начал работать по ssh, после перезапуска компьютера.
Возможно, где-то у меня в системе было что-то не так.
Как usercase:
1) Установил DataGrip
2) Настроил ssh-тонель, получил ошибку
3) Перезапустил систему
4) Соединение по ssh-тоннелю заработало
В данном случае, я пытался под разными пользователями попасть, и в скрин попал root :)
Решил опробовать данный инструмент, и сразу воткнулся в проблему соединения с базой по ssh.
В поддержке нашел вот такой топик.
Скажите, есть ли какой-то туториал по этому поводу?
Спасибо!
Создаю под проект свою доску.
В ней создаю четыре столбца:
Далее начинаем создавать карточки в столбцах.
Вначале, у нас все карточки скапливаются в первом столбце.
И походу работы, карточка перемещается по столбцам, и должна уйти в «Выполнено»
Чем хорош этот инструмент, что у него есть и мобильное приложение и разные методы оповещения.
Если кто-то перемещает карточку в другой столбец, или что-то в ней изменяет, сразу срабатывает push уведомление у участников.
Рекомендую взглянуть на этот инструмент, кто не знает о нём (тем более, что он бесплатный).
Мы как раз там, с моим начальником бежали :)
А насчёт обработки удаления, я думаю можно настроить каскадное удаление во внешних ключах таблиц, или я что-то упускаю?
я делаю, что то не правильно. Спасибо что, дали совет.
Хочу уточнить, правильно ли я понял идею относительно
такое возможно если мы в контроллере, например в actionCreate делаем так
а затем, при описании формы делаем следующее
То есть в рендер переедаю две модели, и при построении единой формы, использую поля из этих моделей.
Но в этом примере, я ставил акцент на работе с CRUD двух связанных таблиц.
Если столкнусь с проблемами, при разработке локализации, то расскажу в следующем посте о их решении.
А если у Вас есть, какой то совет и ответ, милости прошу опубликовать его в комментарии ниже.