Как стать автором
Обновить
19.78

Laravel *

Бесплатный веб-фреймворк с открытым кодом

Сначала показывать
Порог рейтинга

Привет, друзья!

Так как YouTube в последнее время не радует скоростью соединения, сегодняшний стрим по MoonShine решил провести на Twitch в 19:00 МСК:
twitch.tv/cutcoderu

Предлагаем заранее зарегистрироваться на Twitch, чтобы у вас была возможность комментировать и задавать вопросы в реальном времени.

На стриме обсудим последние нововведения в MoonShine, покажу как идёт работа над MoonShine v3.

До встречи на стриме! 🚀

Теги:
+7
Комментарии0

Всех приветствую! Вышел релиз MoonShine 2.18.0 (админ-панелm для Laravel) с кодовым названием “Mango Tango”. 🌙

Подробности в статье.

Давайте кратко расскажу что нового:

  • @dissnik добавил режим sticky для таблиц ресурса.

class PostResource extends ModelResource { 
  // ...
  protected bool $stickyTable = true; 
  // ...
}
  • Появилась возможность заменить шаблонную заглушку аватара профиля на свою

Profile::make()->defaultAvatar("https://ui-avatars.com/api/?name=$name")
  • Большие улучшения для импорта и экспорта Просто взгляните на пример трансформации enum в строку при экспорте и обратно при импорте

Enum::make('Enum') 
    ->attach(ColorEnum::class) 
    ->useOnImport(fromRaw: static fn(string $raw, Enum $ctx) => ColorEnum::tryFrom($raw))
    ->showOnExport(modifyRawValue: static fn(ColorEnum $raw, Enum $ctx) => $raw->value)
  • @djnew добавил режим поиска для компонента Dropdown

Dropdown::make()->searchable()->searchPlaceholder('Search...')
  • asyncSearch с флагом для замены query builder

Чтобы asyncSearchQuery полностью заменял билдер

asyncSearch(asyncSearchQuery: fn($q) => $q->where(..., ...), replaceQuery: true)

Рубрика BugBusters 🐛

  • Метрики на небольших экранах

  • Скролл в сайдбаре

  • Метод onBoot

Новости MoonShine 3.0

  • Ядро уже почти готово

  • Прошли тесты на реальном проекте с пакетом tenancy (с выходом 3 версии нас ждет новая демка)

  • Сейчас идут тесты интеграции MoonShine в Symfony

  • После Symfony переходим на фичи 3.0, документацию и всякое вкусное к релизу

Теги:
Всего голосов 5: ↑4 и ↓1+5
Комментарии3

Релиз админ-панели для Laravel MoonShine v.2.16

Вышел новый с кодовым именем "Mystical Wildfire"! Давайте взглянем на самое интересное в этом обновлении!

Фокус скрытых элементов формы

Благодаря @DissNik проблема скрытых элементов формы с атрибутами валидации required,min,max,email,pattern канула в лету.

Подробности в PR

Слайдер изображений

Благодря @djnew был добавлен новый компонент Carousel:

Carousel::make() ->items(['/images/image_2.jpg','/images/image_1.jpg']);

Также добавлена поддержка слайдера изображений для компонентов Card, CardsBuilder.

Подробности в PR

Команда publish с аргументом типа

Возможность указать сразу тип публикации через команду:

php artisan moonshine:publish assets

Доступные типы:

  • assets - ассеты MoonShine

  • assets-template - шаблон для генерации собственной темы

  • layout - основной layout MoonShine

  • favicons - blade view с favicons

  • resources - системные ресурсы (MoonShineUserResource, MoonShineUserRoleResource)

Подробности в PR

Режим onlyLink для BelongsToMany

Подробности в PR

Рубрика BugBusters 🐛

  • MoonShineNotFoundException с report false по умолчанию от @lee-to in PR

  • Внешний вид кнопок в режиме inDropdown от @DissNik in PR

  • Событие submit FormBuilder от @DissNik in PR

  • Проблемы с bulk от @lee-to in PR

https://github.com/moonshine-software/moonshine/compare/2.15.0...2.16.0

Теги:
Всего голосов 5: ↑5 и ↓0+9
Комментарии0

Приветствую вас, муншайнеры!?

Сегодня мы зарелизили важный патч. Давайте поговорим о том что изменилось

  1. HasMany оптимизирован и теперь страницы где он присутствуют будут работать на 200% быстрее (к сожалению был не очень приятный артефакт из-за которого мы хранили в памяти все формы элементов)

  2. Важно мы добавили экранирование для поля Text и всех его дочерних полей, поэтому теперь все значения при сохранении и выводе будут экранироваться, но логику можно отключить методом unescaped

  3. Важно Number больше не наследует Text но его поведение не поменялось, тоже самое касается Date и Range

Важно Сегодня в 19-00 по мск будет стрим по нашему любимому MoonShine! Всех жду: https://youtube.com/live/ssxmIDdFv8Y?feature=share

По традиции поговорим про 3 версию MoonShine и я покажу новую структуру проекта, а также взглянем и обсудим последние релизы и патчи.

Также расскажу про курс API который давно ждут, объясню с чем связана задержка и будет ли он.

Теги:
Всего голосов 4: ↑3 и ↓1+5
Комментарии0

Привет всем! ?

Сегодня в 19:00 (мск) у нас запланирован стрим по Moonshine. Обсудим обновления и изменения за последний месяц, а также покажу как проходит работа по MoonShine v3.

Если у вас есть какие-либо вопросы или комментарии по MoonShine, можете задать их сейчас.

Заходите - https://www.youtube.com/watch?v=bM-rgGFnO88 . Будет интересно!

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

? Вышел релиз MoonShine v.2.13.0 с кодовым именем "Red Velvet"!?

Напомню, что MoonShine это open-source админ-панель для проектов на Laravel.

Давайте взглянем на самое интересное в этом обновлении!

Возможноcть изменить query builder у HasMany

HasMany::make()->modifyBuilder(fn(Builder $q) => $q->where('active', 1));

Улучшения для BelongsTo/BelongsToMany полей

Получение значений для BelongsTo/BelongsToMany полей приведено к единому виду и теперь для них всегда доступен valuesQuery и при большом запросе вы сможете самостоятельно его оптимизировать

BelongsTo::make(
    __('moonshine::ui.resource.role'),
    'moonshineUserRole',
    formatted: static fn (MoonshineUserRole $model) => $model->name,
    resource: MoonShineUserRoleResource::class,
)
    ->valuesQuery(fn(Builder $q) => $q->select(['id', 'name']))

Обновилось поле MoonShine Layouts

  • Исправлена проблема ререндера предыдущих шаблонов

  • Исправлена проблема исключения декораций

Еще ряд изменений:

  • Логотип на 404 странице теперь выводится из конфига и если есть желание вывести на 404 логотип отличающийся от дефолтного, то воспользуйтесь ключом logo404

  • Исправили реактивность внутри HasOne/HasMany

  • Исправили morphMap для морф полей

  • Исправили удаление файла при замене и удалении

Сайт MoonShine - https://moonshine-laravel.com

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

Почему FilamentPHP — это хорошее решение для создания CMS

FilamentPHP — набор Fullstack-компонентов для Laravel. Последнее время мы в AGIMA часто используем его для построения админок. И вот почему:

1. Он красивый

Особенно в сравнении с Bootstrap. Filament же использует компоненты, стилизованные с помощью Tailwind CSS: 

Кстати, живую демку можно посмотреть и потрогать по этой ссылке.

Живую демку можно посмотреть и потрогать по этой ссылке.

2. Он доступный

Документация местами бывает так себе, но при наличии живой демки и её исходников можно быстро найти подходящий фрагмент и адаптировать его под себя.

А здесь найдете пример кода для создания формы авторизации.

3. Использует стек TALL (TailwindCSS, AlpineJS, Laravel, Livewire)

Livewire позволяет создавать приложение динамическим. Не нужно писать тонны кода на JQuery, как этого требует тот же Voyager. И, коли уж это Laravel, нам всегда доступны все его возможности.

4. Есть библиотека плагинов

И они закрыли уже почти все насущные проблемы.

Но и минусы у этого решения тоже есть:

  • Стек TALL можно отнести и к минусам тоже, потому что Livewire иногда кажется достаточно сомнительной затеей.

  • Filament достаточно прожорливый и требует OPCache и кеширования всего, что можно. И с включенным laravel-debugbar всё начинает тормозить.

  • Часть плагинов платные.

  • Код форм порой бывает достаточно… монструозным. Но это решается грамотным переиспользованием кода и разнесением его по разным местам.

Это краткий пересказ статьи Егора Черненка, PHP-разработчика AGIMA — полную версию читайте тут.

Теги:
Всего голосов 9: ↑8 и ↓1+7
Комментарии1

Привет, поклонники Laravel!

Недавно состоялось обновление админ-панели для Laravel MoonShine v2.11.0 с кодовым названием “Minimal Twist”.

Основа релиза - минималистичный дизайн админки. Часто просили сделать альтернативный вариант дизайна, и как только появилась возможность - реализовали. Выглядит стильно, сам попробовал и, видимо, буду использовать эту тему.

Инструкции по использованию - в PR.

Также в плейлист с гайдами по применению MoonShine добавлено несколько видео из серии tips&tricks.

Сейчас работаем над переводом документации и видеоуроков на английский язык.

В последнее время в MoonShine появилось много нововведений. 11 апреля в 19:00(мск) проведу прямой эфир по MoonShine на канале CutCode. Программа:

  • установка компактной темы,

  • обзор новых пакетов для MoonShine,

  • планы на MoonShine 3,

  • демонстрация нового концепта организации шаблонов,

  • еще пара интересных новостей, о которых узнаете на стриме .

Ссылка на эфир - https://www.youtube.com/watch?v=QK_79ct1m1w

Если есть вопросы - можете задать здесь.

Теги:
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Доброго времени суток, господа PHP-шнички. Вчера вышла Laravel 11, и я собрал её в докер вместе с Octane, PostgreSQL и Redis вместо вас. Пользуйтесь, если вдруг кому понадобится.

Github.

Мой телеграм канал. Не подписывайтесь.

Теги:
Всего голосов 7: ↑4 и ↓3+1
Комментарии0

Привет, коллеги!
Готовьтесь к необычному испытанию знаний и заряду хорошим настроением! В 19:00 (мск) 13 марта на YouTube‑канале CutCode будет проходить игра‑викторина в стиле «Своей игры».

Будут захватывающие раунды, юмор и увлекательные задания, которые проверят ваши знания о PHP!

В легендарной битве выдающихся PHP умов сойдутся — Адель Файзрахманов, Александр Макаров и Кирилл Несмеянов! Сергей Пантелеев приготовил самые каверзные вопросы и будет в роли ведущего управлять этим мероприятием.

Всех приглашаем поболеть за коллег и самим проверить свои знания. Ну, а чтобы процесс эфира сделать еще интереснее — предлагаем задать сейчас вопросы участникам викторины. Самые интересные вопросы будут разобраны на игре, а их авторы получат возможность участвовать в следующей игре и получить мерч!

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

?Привет, коллеги! ?
Сегодня релиз MoonShine v2.3.0 с кодовым именем "Bloody Boyarskiy" ?! В релизе ActionButton в режиме async, ColorManager и многое другое. Подробности релиза с примерами кода в статье - https://cutcode.dev/articles/moonshine-23

ВАЖНО - изменились views, favicon вынесены в отдельный blade

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

?Привет, коллеги! ?
На этой неделе состоялся релиз MoonShine v2.2.0 с кодовым именем "Double Barrel" ?! В релизе связанные поля, улучшения для TableBuilder и многое другое. Подробности релиза с примерами кода в статье.

Также обновились пакеты:

  • Changelog

  • Permissions

  • Sortable tree resource

Теги:
Рейтинг0
Комментарии0

? Ура, коллеги! 
Рад сообщить, что наконец-то вышла вторая версия MoonShine! Полгода ежедневной активной работы и этот день наконец-то настал! Пришлось немного перенести дату релиза, но это было необходимо для того? чтобы вы могли пользоваться админкой с удовольствием!

Вторая версия MoonShine обладает другой архитектурой и подходом, который я сравниваю с конструктором. Один раз разобравшись с MoonShine можно быстро разворачивать как админки, так и сами сайты на Laravel (уже начал снимать гайд где мы сделаем сайт целиком на MoonShine). Вчера набросал сервис с админкой за 40 минут.

Вышел действительно отличный продукт, который должен попробовать каждый поклонник Laravel!

Вторая версия MoonShine переезжает на новый домен - https://moonshine-laravel.com . Сочный дизайн и новые фишки.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн

Чек-лист: как понять, что компании нужен карьерный сайт

Пересказываем большую статью в маленьком посте.

Ребята из нашего PHP-направления разработали универсальный бэкенд для карьерных сайтов на Laravel. Наша «коробка» — это пять ключевых фич, они покрывают 90% потребностей рекрутеров. Остальное — кастомные решения. Вот эти фичи:

  • интеграция с Хантфлоу;

  • админка с функционалом под создание лендингов;

  • интеграция с поисковой системой Elasticsearch с синонимичным поиском;

  • факультативный блок с новостями;

  • рендеринг картинок для шеринга.

Но как понять, что компании нужен карьерный сайт? Мы составили простой чек-лист на основе нашего опыта. В этом году мы уже сделали шесть подобных проектов, в работе еще два. У большинства заказчиков одни и те же особенности:

✔️ вы много и интенсивно нанимаете, в постоянной работе у вас от 100–150 вакансий;

✔️ вам не хватает возможностей HH и подобных площадок, чтобы показать преимущества компании;

✔️ вам нужна подробная аналитика по каждой позиции.

В статьях по теме иногда предлагают еще два пункта, но они факультативные:

✔️ вам сложно закрывать отдельные позиции, их нужно активнее продвигать;

✔️ у вас сложные тестовые задания, их условия нужно подробно описывать.

Если у вас совпали хотя бы два пункта из этого перечня — пора задуматься о своем карьерном сайте. А если остались сомнения, можно 30 ноября сходить на митап по карьерным сайтам. Там расставим все точки над i.

Больше о «коробке», карьерных сайтах и подборе IT-специалистов — в нашем блоге.

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии1

Сегодня наткнулся на интересный сайт https://cosme.dev/ask-docs

Нейросеть отлично знает документацию Laravel и отвечает на вопросы по ней, в том числе на русском языке. В конце даёт ссылки на соответствующие разделы документации. Неплохое подспорье для начинающих изучать фреймворк.

Ответ нейросети
Ответ нейросети

Всего голосов 11: ↑11 и ↓0+11
Комментарии0