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

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

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

Laravel содержит встроенные средства для реализации SoftDelete.

"Мягкое удаление" - это операция при которой вместо удаления записи, она помечается как удаленная. Такой подход бывает полезен, так как позволяет, при необходимости, восстановить "удаленные" данные.

Однако, если Вам нужно сделать запрос не через модель - стоит помнить, что тогда вернуться все записи, включая "удаленные".
PHP | Data-transfer-object

spatie/data-transfer-object - пакет для PHP, предоставляющий средства для упрощения работы с данными в Вашем приложении.

Реализует одноименный паттерн.
Vue | Глобальные Sass/Less переменные

Глобальные переменные css перепроцессоров это удобно и экономит много времени при разработке, можно создать отдельный файл, в котором будут собраны все переменные, но как его использовать в большом проекте, чтоб не пришлось вручную подключать в каждый новый файл компонентов?

По ссылка вы найдете статьи с решением этой проблемы для Vue.js и Nuxt.js
Laravel | Какого из этих типов полей не существует в миграциях Laravel?
Anonymous Quiz
20%
macAddress
4%
ipAddress
15%
enum
37%
mapCoords
24%
Все существуют
Laravel | validateWithBag

Контроллеры Laravel имеют метод validate() для валидации входящих данных.

Если на вашей странице есть несколько форм, то для проверки данных удобно использовать метод validateWithBag().

Это позволит разделять сообщения об ошибках на отдельные коллекции в зависимости от формы.
This media is not supported in your browser
VIEW IN TELEGRAM
Vue | Onsen UI компоненты для мобильных приложений

Onsen UI предоставляет широкий спектр готовых к использованию компонентов Vue, которые соответствуют рекомендациям и дизайну пользовательского интерфейса iOS и Android
PHP | тестирование исключений

Статья содержит советы по тестированию исключений.

Также в статье представлены несколько вариантов написания тестов для исключений.
Laravel | Каким методом при определении связи belongsToMany можно переименовать обращение к pivot?
Anonymous Quiz
18%
alias
32%
as
42%
pivotName
9%
renamePivot
Vue | Коллекция реализованных проектов

made with vue.js - сайт где собрано всё что связанно с vue.js
- Приложения
- Шаблоны
- Книги
- Фреймворки
- Игры
- Плагины
- Руководства
- и многое другое

Все записи снабжены ссылками на репозитории и документацию.
Laravel | Model states

spatie/laravel-model-states - пакет для Laravel, предоставляющий расширенное управление состоянием моделей.

Пакет предоставляет возможность описывать состояния моделей в виде отдельных классов. Также в модели можно описать из какого состояния в какое модель может переходить.
Laravel | $with

Если ваша модель при всех запросах должна подгружать свзязанные записи, то для этого достаточно добавить свойство $with в класс модели.
Как используя vue router перезагрузить страницу
Anonymous Quiz
16%
this.$router.update()
3%
this.$router.get()
7%
this.$router.go()
75%
this.$router.reload()
Laravel | Что нужно добавить в класс модели, чтобы не сохранять временные метки created_at и updated_at ?
Anonymous Quiz
6%
public $dates = null;
89%
public $timestamps = false;
5%
public $noDates = true;
Laravel | Изменение данных в запросе

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

Так же этот метод можно использовать для добавления данных в запрос, например генерировать slug для постов блога.
Laravel | Resource routes

Роуты в Laravel объявляются как HTTP методы get, post, put и так далее.

Также в фасаде Route есть возможность для объявления роутов готовым набором REST-методов.

Метод Route::apiResource создаст роуты для получения, создания, изменения и удаления сущности.

Route::resource также добавит методы для отображения страниц просмотра и редактирования сущности.
PHP | Trait typehint

Классы и интерфейсы можно указывать как типы свойств классов и типы параметров функций. Но трейты указывать как типы нельзя.

Если же Вам все таки нужно указать трейт как тип, то самый просто способ - создать интерфейс, описывающий этот трейт и использовать как тип этот интерфейс.