WebCraft - ремесло веб разработки
6.69K subscribers
1.48K photos
219 videos
2 files
159 links
Интересуешься php , js , css , html , Laravel , Vue ? Этот канал для тебя

Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront
Менеджер по рекламе: @Spiral_Yuri

Купить рекламу: https://telega.in/c/web_craft
Download Telegram
Laravel | _path helpers

Если Вам понадобилось получить путь до определенных папок приложения, то для этого в Laravel есть набор хелперов:

app_path() - путь к папке с кодом приложения
base_path() - путь к корневой папке проекта
config_path() - путь к папке config
database_path() - путь к папке database
public_path() - путь к папке public
resource_path() - путь к папке с resources
storage_path() - путь к папке storage
PHP | Laravel collections

С недавних пор коллекции Laravel были выделены в отдельный пакет.

Так что теперь их можно использовать независимо от Laravel.

Для этого достаточно добавить их в Ваш проект через composer.
Laravel | События моделей

Модели Eloquent генерируют большое количество событий. На каждое из этих событий можно подписаться нескольким способами:

- В методе boot модели
- Через указание классов слушателей в свойстве модели $dispatchesEvents
- Через классы-наблюдатели

В примере показаны первые два варианта.
Laravel | Console Wizard

Laravel Console Wizard - это пакет для Laravel, который предоставляет средства для разработки различных интерактивных помощников.
Vue Material

Vue Material простой, легкий и построенный в точном соответствии со спецификациями Google Material Design фреймворк.

Создавайте хорошо продуманные приложения, которые могут поместиться на любом экране, с поддержкой всех современных веб-браузеров с динамическими темами, компонентами по запросу и с простым в использовании API.
Laravel | Model connection

В некоторых приложения бывает полезно хранить разные модели в разных БД.

Для реализации такого подхода нужно создать дополнительное подключение в файле database.php затем указать его в свойстве $connection модели.

Это бывает полезно, например, в мультиарендных приложениях.
Laravel | Что будет выведено?
Anonymous Quiz
30%
true
70%
false
Nuxt | Создаём PWA интернет-магазин

Серия статей шаг за шагом рассказывающая о создании и оптимизации интернет--магазина.

Структура интернет магазина:
- Главная страница с каталогом товаров
- Страница категорий со списком товаров
- Карточка товара
- Страница оформления заказа

Возможности приложения:
- Модальные окна.
- Хранение идентификатора пользователя в cookie.
- Ленивая подгрузка и гидрация компонентов.
- Сжатие изображений, стилей, скриптов, html кода и всего что только можно.
- 2 версии сайта: 1) для последних браузеров которым не нужен транспилированный код (через Babel) 2) Legacy версия транспилированная через Babel.
- Умная загрузка шрифтов без FOUT, FOIT, FOFT.
- Поддержка всех браузеров от IE 10.
- Поддержка svg.
- Работа со всеми SEO тегами.
- Автоопределение устройства пользователя ещё до рендера сайта, для отдачи нужного html контента.
- Работа с API с помощью XHR запросов.
Laravel | Метки создания и изменения модели

Для использования нестандартных полей для хранения метки создания и изменения записи в БД, достаточно объявить константы CREATEDAT и UPDATEDAT в классе модели.

Это может быть полезно, если Вы работаете с БД, созданной вне приложения на Laravel и в БД уже есть метки.
Laravel | Log channels

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

Для этого добавьте каналы в конфиг /config/logging.php и указывайте нужный канал при вызове методов фасада Log.
Что выведется в консоли
Anonymous Quiz
23%
Error
60%
'bar'
18%
undefined
Laravel | Что будет находиться в коллекции $numbers?
Anonymous Quiz
73%
[2, 3, 4]
22%
[1, 2, 3]
5%
[2, 5, 7]
Laravel | Группировка коллекции по вычисляемому значению

Если вы хотите сгруппировать элементы коллекции не по конкретному полю, а по какому-то вычисляемому значению, то можете передать функцию как параметр метода коллекции groupBy().

В примере показана группировка постов по месяцу создания.
Vue | 15 директив увеличивающих производительностьVue

V-Hotkey - добавляет отслеживание нажатий клавиш
V-Click-Outside - отслеживает клик вне элемента
V-Clipboard - для копирования текста
Vue-ScrollTo - для прокрутки до определенного места
Vue-Lazyload - добавляет ленивую загрузку
V-Tooltip - добавляет подсказки
V-Scroll-Lock - предотвращает прокрутку страницы
V-Money - для отображения валют
Vue-Infinite-Scroll - для бесконечной загрузки
Vue-Clampy - для обрезки текста
Vue-InputMask - для форматирования инпутов
Vue-Ripple-Directive - для анимации нажатия кнопок
Vue-Focus - задает фокус на элементе
V-Blur - для размытия блоков
Vue-Dummy - для рыбного текста

Подробности использования и инструкции по установке в статье.
PHP | Faker

Faker - библиотека для генерации тестовых данных для ваших PHP приложений.

Это бывает очень полезно для заполнения приложения тестовыми данными.

Faker может генерировать текстовые данные такие как имена, фамилии или длинные тексты, вроде lorem ipsum, и специальные форматы даных: email, номера телефонов, кредитные карты и прочее.

Также Faker может генерировать изображения.

Входит в стандартную поставку Laravel.
Vue 3 | Suspense - пример использования

Suspense — это специальный компонент, который отображает резервный контент вместо вашего компонента, пока не будет выполнено условие. Подробности в статье.