Лучше расскажите возможно ли в ближайшем будущем будет методы в phpDoc или где-нибудь еще обозначить как статическими так и не статическими? Чтобы они появлялись и в том и другом контексте. Очень много и такой магии в Laravel…
Даже не стоит. В этом ларавеле частая магия с вызовом совсем других объектов через:
/** @mixin Builder */
class HasMany {
public function __call($method) {
$this->builder->$method();
return $this;
}
}
В итоге шторм видит метод из класса миксина(Builder) и думает что возвращается то, что возвращается из того миксина, а на самом деле возвращается экземпляр HasMany. В итоге шторм «теряет» настоящий тип. Это я еще не расссказал о чисто магических методах. Как раз сейчас пытаюсь сгенерить нормальные phpDocs для шторма.
Правильно человек говорит. Вся дискуссия может просто оказаться пустой из-за этого непонимания — один будет говорить об одном(про TDD), а другой о другом(про unit-тесты). У меня есть продукт, в котором TDD, но мало юнит-тестов. Потому, что тесты в основном функциональные.
Т.е. для вас совершенно нормально создать объект, в котором информация о куках, сессии и т.д. прям в консоли, чтобы имитировать вызов веб-контроллера? Никаких возможных проблем не приходит в голову?
Доклады частенько бывают довольно поверхностные. Но если разок подойти к докладчику после доклада и спросить то, что реально интересует и он наверняка знает/пробовал на практике и т.д., то ваше мнение о конференциях резко поменяется. Никому не жалко делиться опытом.
Один раз я работал в команде, где большинство писало в текстовых редакторах, а не в IDE. Постоянно были PR, в которых тесты валились из-за того что забыли сделать use классу. Или вызвали $this-> там, где это нельзя. И куча подобных вещей, которые юзеры шторма просто не поймут.
Хороший пример и за дебагбар спасибо. Тут целую статью можно написать про то, как организовать тут кеш. Я попробую что-нибудь сообразить в ближайшее время.
Года три назад решил себе на лето взять симку билайна (он на даче хорошо ловил). Осенью эта симка потерялась(где-то дома или на даче лежит наверняка), ну я и забил. Где-то через год пришло письмо от коллекторов. Я должен им примерно 1800 рублей, если не отдам, то 200 тысяч должен буду(им билайн продал мой долг). Этого не ожидал если честно ) Наверняка у них там есть какой-то мелкий пункт насчет этого… но это такой бред )
Честно говоря, тут нет такой градации «новичок — профи». Бывают разные кейсы, разные бутылочные горлышки. И с ними надо бороться по-разному. Я мог бы написать как мы боролись с некоторыми ботлнэками… но это будет скорее просто почитать по фану, чем реально полезная статья.
Вероятно, у меня уже некоторая деформация. Мне в разы проще сбросить этот кеш при обновлении(том, которое этот updated_at поменяет).
Все эти попытки красиво навесить зависимости лично мне говорят о том, что разработчики не контролируют свой код. Где-то как-то кто-то может обновить данные, не озаботившись при этом генерацией нормального события. Причем именно бизнес-события, как PostPublished или UserBanned. Потом пытаются вернуть контроль за изменениями на своем проекте такими вот хитрыми зависимостями на max(updated_at).
А отстутствие контроля за изменениями обычно влечет за собой более серьезные проблемы, чем несбросившийся кеш.
Как-то скудновато в Ларе с кэшем? Вся статья о кэшировании одной или массива моделей и их связей.
Так основы же :)
Зависимости — хорошая идея, но часто просто просаживается по перформансу. Какой смысл лезть в базу, проверять когда обновилась сущность, если мы и сделали все кеширование ради того, чтобы как можно меньше трогать базу. А события — совсем не громоздко. Очень удобно и естественным языком описываются действия:
Шаблоны проектирования, такие как MVC, созданы для облегчения работы разработчиков. Именно в этом Laravel лучше PHP, в котором нет никаких шаблонов.
Laravel поддерживает модели, представления и контроллеры, которые должны храниться отдельно для хранения разных файлов в разных каталогах. Именно здесь вступает в игру структура каталогов laravel.
Я конечно понимаю, что OTUS заплатили немало ради бизнес-аккаунта… но надо как-то заставить их перестать лить дерьмо на хабр…
Херак-херак и в продакшен. Что автор, что переводчик.
И если я правильно понял, сущность Lesson создается в тот момент, когда туда уже записывается первый клиент… Крайне нереалистичный сценарий… тем более для понимания ES
Открою вам страшную тайну. Версии 2019.4 не будет )
Ну а среда разработки, как и ваш ноут/комп — это рабочие инструменты. В них функционал всегда будет чуток поважнее цены. Это касается в том числе и потребления памяти. Любая виртуалка в которой надо гонять что-то сложнее простенького сайтика будет жрать больше памяти.
Я давно докупил памяти до 32 Гб, чтобы ничего не мешало работе… и ни разу еще не пожалел.
В итоге шторм видит метод из класса миксина(Builder) и думает что возвращается то, что возвращается из того миксина, а на самом деле возвращается экземпляр HasMany. В итоге шторм «теряет» настоящий тип. Это я еще не расссказал о чисто магических методах. Как раз сейчас пытаюсь сгенерить нормальные phpDocs для шторма.
Кстати да. Уже привык постоянно жать кнопку обновить прежде чем искать нужную папку. До этого очень сильно дезориентировал этот кеш.
Все эти попытки красиво навесить зависимости лично мне говорят о том, что разработчики не контролируют свой код. Где-то как-то кто-то может обновить данные, не озаботившись при этом генерацией нормального события. Причем именно бизнес-события, как PostPublished или UserBanned. Потом пытаются вернуть контроль за изменениями на своем проекте такими вот хитрыми зависимостями на max(updated_at).
А отстутствие контроля за изменениями обычно влечет за собой более серьезные проблемы, чем несбросившийся кеш.
Зависимости — хорошая идея, но часто просто просаживается по перформансу. Какой смысл лезть в базу, проверять когда обновилась сущность, если мы и сделали все кеширование ради того, чтобы как можно меньше трогать базу. А события — совсем не громоздко. Очень удобно и естественным языком описываются действия:
Я конечно понимаю, что OTUS заплатили немало ради бизнес-аккаунта… но надо как-то заставить их перестать лить дерьмо на хабр…
И если я правильно понял, сущность Lesson создается в тот момент, когда туда уже записывается первый клиент… Крайне нереалистичный сценарий… тем более для понимания ES
Ну а среда разработки, как и ваш ноут/комп — это рабочие инструменты. В них функционал всегда будет чуток поважнее цены. Это касается в том числе и потребления памяти. Любая виртуалка в которой надо гонять что-то сложнее простенького сайтика будет жрать больше памяти.
Я давно докупил памяти до 32 Гб, чтобы ничего не мешало работе… и ни разу еще не пожалел.