can3p (can3p) wrote,
can3p
can3p

Category:

Laravel

Волею судеб покодил немного на php, конкретно под Laravel. Очень адекватный фреймворк, надо сказать. После экспериментов с джангой показался глотком свежего воздуха - все сделано понятно, ручки писать просто, всякие очереди с кронджобами поддерживаются в лет. Валидация сделана просто и понятна, легко настраивается и сделана отдельно от конкретных кейсов, так что можно один и тот же валидатор использовать что для аякс ручек, что для простых запросов, что для json, который прилетел откуда-то еще. ORM вполне нормальный, миграции отличные.

Что понравилось в нем меньше всего, так это разные фасады. В язык всеми силами подвозили типы, а здесь разрабы бабац и сделали классы, по которым не поймешь, что на самом деле происходит. Почему? Да потому, что везде и всюду динамический вызов методов, и если автор фасада не догадался перечислить все поддерживаемые методы, то хрен вам, а не подсказка типов в vscode. А вроде ведь интерфейсы в языке теперь есть. Вообще, после джавы и го сложно понять страсть к таким динамическим штуками, их ведь даже грепать сложно. Другой пример - ответ от http клиента, в котором геттеры генерируются автоматически. Чем это помогает? Если они просто проксируют значение переменной без модификации, что толку ноль. Есть гибкая поддержка разных хранилищ для файлов, но опять же в виду динамизма и хелперов, которые используются без единого импорта, очень сложно понять, что сохраняет куда, в некоторых случаях сохранить элементарно (как при сохранении формы с файлом), в других надо руками проверять, создана ли папка и т.д. и т.п.

Отдельный косяк, который сильнее всего чувствуешь, написав какое-то количество кода на го - это нетипизированный ввод. Поясню: в го невероятно дешевые типы, обхявлять их просто, парсить тот же json в структуры - элементарны. Это развращает! После такого волосы на голове шевелятся, когда тебе надо опять раз за разом печатать сырой json объект в консоль только чтобы посмотреть (опять), что там и где лежит. Но здесь уже не про php, а про жизнь.

Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 4 comments