Перейти до основного вмісту

Шпаргалка по командах Laravel

Ініціалізація проєкту

Створити новий проєкт Laravel за допомогою глобального інсталятора.

laravel new project-name

Створити новий проєкт Laravel через Composer.

composer create-project laravel/laravel project-name

Запуск локального сервера

Запустити вбудований локальний сервер Laravel.

php artisan serve

Міграції

Створити файл міграції.

php artisan make:migration create_users_table

Виконати всі міграції.

php artisan migrate

Перестворити базу даних з нуля.

php artisan migrate:fresh

Відкотити останню міграцію.

php artisan migrate:rollback

Перевірити статус міграцій.

php artisan migrate:status

Сідери (Seeders)

Сідери (Seeders) — використовуються для автоматичного заповнення бази даних тестовими або початковими даними. Це зручно при розробці або при розгортанні проєкту на новому сервері.

Створити Seeder для заповнення бази даних.

php artisan make:seeder UsersTableSeeder

Запустити всі Seeder-и.

php artisan db:seed

Запустити конкретний Seeder.

php artisan db:seed --class=UsersTableSeeder

Фабрики (Factories)

Фабрики (Factories) — дозволяють швидко генерувати фейкові дані для моделей (наприклад, користувачів або замовлень) з використанням Faker. Вони часто використовуються разом із Сідерами для масового створення записів у базі.

Створити фабрику для моделі.

php artisan make:factory UserFactory --model=User

Контролери

Створити звичайний контролер.

php artisan make:controller UserController

Створити ресурсний контролер.

php artisan make:controller UserController --resource

Створити API-контролер.

php artisan make:controller Api/UserController --api

Моделі

Моделі (Models) — представляють таблиці бази даних у вигляді об’єктів, через які здійснюється взаємодія з даними. У моделях можна визначати зв’язки, поля, запити та логіку обробки даних.

Створити модель.

php artisan make:model User

Створити модель з міграцією.

php artisan make:model User -m

Створити модель з контролером.

php artisan make:model User -mc

Створити модель з контролером і ресурсами.

php artisan make:model User -mcr

Middleware

Middleware — це проміжні фільтри, які виконуються до або після обробки HTTP-запиту. Використовуються для аутентифікації, перевірки прав, логування або зміни запиту/відповіді.

Створити middleware для фільтрації запитів.

php artisan make:middleware CheckAdmin

Маршрути (Routes)

Маршрути (Routes) — визначають, який код або контролер має виконатись при зверненні до певного URL. Вони є «картою» веб-додатку, що пов’язує запити з логікою.

Показати всі зареєстровані маршрути.

php artisan route:list

Закешувати маршрути для швидшої роботи.

php artisan route:cache

Очистити кеш маршрутів.

php artisan route:clear

Кеш та конфігурація

Очистити кеш.

php artisan cache:clear

Закешувати конфіги.

php artisan config:cache

Очистити кеш конфігурацій.

php artisan config:clear

Очистити кеш шаблонів Blade.

php artisan view:clear

Queue

Черги (Queues) — дозволяють виконувати довготривалі або фонові задачі (наприклад, надсилання листів або обробка відео) окремо від основного потоку, щоб не блокувати користувача.

Запустити обробник черги.

php artisan queue:work

Перезапустити обробник черги.

php artisan queue:restart

Storage

Storage — це система роботи з файлами у Laravel, яка дозволяє зберігати їх локально або у хмарних сервісах (S3, FTP). Через методи Storage можна легко читати, записувати й видаляти файли.

Створити симлінк для доступу до файлів у public/storage.

php artisan storage:link

Events / Listeners

Events / Listeners — реалізують механізм подій, де певна дія (Event) може викликати одну або декілька реакцій (Listeners). Це дозволяє розділяти логіку і створювати гнучку архітектуру.

Створити подію.

php artisan make:event UserRegistered

Створити обробник події.

php artisan make:listener SendWelcomeEmail

Notifications

Notifications — відповідають за надсилання повідомлень через різні канали (email, база даних, Slack). Вони дозволяють централізовано оформляти й надсилати сповіщення.

Створити клас сповіщення.

php artisan make:notification InvoicePaid

Policies

Policies — містять правила авторизації для моделей. Вони визначають, хто і які дії може виконувати над певними ресурсами (наприклад, редагувати або видаляти).

Створити policy для моделі.

php artisan make:policy UserPolicy --model=User

Mailables

Mailables — це класи, що описують email-листи: їхній шаблон, тему, вміст і вкладення. Використовуються для надсилання структурованих листів.

Створити клас для відправки листів.

php artisan make:mail WelcomeMail

Scheduler

Scheduler — це планувальник завдань у Laravel, який дозволяє запускати команди за розкладом (наприклад, щогодини, щодня). Він працює через CRON і централізує всю автоматику в одному місці.

Запустити розклад завдань вручну.

php artisan schedule:run

Оптимізація

Оптимізувати автозавантаження і кеші.

php artisan optimize

Очистити всі кеші.

php artisan optimize:clear

Інформація про систему

Показати версію Laravel.

php artisan --version

Показати інформацію про проєкт.

php artisan about

Коментарі

Популярні публікації

Колекції в Elixir

Списки Що таке список у Elixir У Elixir список — це впорядкована колекція елементів, реалізована як однозв’язний список . Це означає, що кожен елемент (вузол) зберігає посилання на наступний, але не на попередній. Така структура дозволяє швидко додавати елементи на початок списку, але повільно доступати до довільного елементу. У Java подібну структуру представляє LinkedList — частина Java Collections Framework. Вона реалізована як двозв’язний список, що забезпечує зручне додавання/видалення елементів з початку або кінця списку. Створення списків У Elixir список створюється за допомогою квадратних дужок: list = [1, 2, 3, 4] Додавання елементів У Elixir новий елемент можна додати тільки на початок списку за допомогою оператора | : # Elixir list = [2, 3, 4] new_list = [1 | list] # [1, 2, 3, 4] Доступ до елементів У Elixir немає прямого доступу до елементів за індексом, але це можна зробити через Enum.at : Enum.at([10, 20, 30], 1) # 20 Ітерація по списку У Elixir ...

Інструменти для роботи з Node.js

Що таке npm? npm (Node Package Manager) — це офіційний пакетний менеджер для Node.js . Він дозволяє: Встановлювати сторонні бібліотеки та фреймворки Керувати залежностями проєкту Запускати скрипти (команди) через package.json Приклад ініціалізації проєкту з npm npm init -y Файл package.json (скорочений приклад) { "name": "my-project", "version": "1.0.0", "scripts": { "start": "ts-node src/index.ts", "build": "tsc" }, "dependencies": { "express": "^4.18.0" }, "devDependencies": { "typescript": "^5.0.0", "ts-node": "^10.0.0" } } Що таке tsconfig.json? tsconfig.json — це файл конфігурації для компілятора TypeScript, який визначає, як слід компілювати код. Приклад файлу tsconfig.json { "compilerOptions": { "target": "ES2020...

Атоми в мові програмування Elixir

Атоми в Elixir Атоми є фундаментальною концепцією в Elixir , що відіграє ключову роль у створенні надійних та масштабованих систем. В Elixir це специфічний тип даних, який є константою , незмінною , ідентифікованою за своїм ім'ям . Отже, атом в Elixir — це іменована константа, що представляє себе. Уявіть, що ви даєте унікальне ім'я певній речі, і це ім'я завжди посилається саме на цю річ, і ніколи на щось інше. Наприклад, атом :ok завжди буде означати саме успішне завершення операції, а не якесь інше значення. Технічно, атоми є похідними від чисел . Кожен унікальний атом зберігається у таблиці атомів, і йому присвоюється унікальний цілочисельний ідентифікатор. Це робить їх надзвичайно ефективними для порівняння: замість порівняння рядків (що є повільною операцією), Elixir порівнює цілочисельні ідентифікатори. Переваги та особливості використання атомів Переваги атомів: Ефективність. Завдяки своєму числовому представленню, порівняння атомів є дуже швидким. Це осо...

Встановлення PostgreSQL на Ubuntu-сервер

Встановлення Оновлюємо пакети та встановлюємо PostgreSQL: sudo apt update sudo apt install -y postgresql postgresql-contrib Перевіряємо статус сервісу: sudo systemctl status postgresql Якщо PostgreSQL не запущений, запустимо його: sudo systemctl start postgresql sudo systemctl enable postgresql Налаштування безпеки Зміна пароля: sudo -u postgres psql У консолі PostgreSQL: ALTER USER postgres PASSWORD 'міцний_пароль'; \q \q - вихід з консолі. Список основних команд для роботи з PostgreSQL можна переглянути за посиланням. За замовчуванням PostgreSQL слухає localhost (127.0.0.1). Щоб дозволити доступ із зовнішніх машин, редагуємо конфігурацію: sudo nano /etc/postgresql/17/main/postgresql.conf (замість 17 вкажи версію PostgreSQL, яку встановлено) Шукаємо рядок: #listen_addresses = 'localhost' та замінюємо на listen_addresses = '*' Зберігаємо (Ctrl + X, Y, Enter). Тепер редагуємо pg_hba.conf: sudo nano /etc/postgresql/17/main/pg_hba.conf...

Основи Node.js

Що таке Node.js? Node.js — це середовище виконання JavaScript поза браузером, побудоване на рушії Google V8 . Воно дозволяє запускати JavaScript на сервері, створюючи серверні застосунки з високою продуктивністю. Основні характеристики: Однопотокова модель з неблокуючим I/O Асинхронне виконання за допомогою event loop Висока продуктивність у роботі з мережевими запитами npm — найбільший реєстр пакетів Що таке event loop? Event loop — це механізм в Node.js, який дозволяє неблокуючим асинхронним операціям виконуватись у середовищі з єдиним потоком. Він постійно перевіряє наявність подій у черзі та викликає відповідні колбеки. Як працює однопоточність у Node.js? Node.js використовує один потік (main thread) для обробки JavaScript-коду. Операції, які займають час (мережеві запити, читання з файлової системи), делегуються до системних API або thread pool, і після завершення результат повертається у основний потік через event loop. Приклад: асинхронна о...