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

Шпаргалка по командах 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

Коментарі

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

Встановлення Visual Studio Code на Ubuntu

Visual Studio Code (VS Code) — це потужний, легкий та кросплатформний редактор коду, який став стандартом для розробників завдяки універсальності та швидкості роботи. Він підтримує Windows, Linux і macOS, запускається швидше за повноцінні IDE, але водночас може перетворюватися на повнофункціональне середовище розробки завдяки тисячам розширень. VS Code має продуману архітектуру, інтуїтивний інтерфейс, вбудований термінал та інтелектуальну систему автодоповнення на базі Language Server Protocol, що забезпечує високоякісну підтримку синтаксису для багатьох мов програмування. Серед ключових можливостей — розумне автодоповнення коду (IntelliSense), навігація між класами, символами та файлами, рефакторинг, форматування коду, інтеграція з Git, підтримка віддаленої розробки через SSH або контейнерні середовища (Dev Containers). Завдяки відлагоджувачу (debugger), який налаштовується під будь-яку мову, розробник може запускати код у контрольованому середовищі, ставити брейкпоїнти, переглядат...

Керуючі конструкції в Elixir

Elixir пропонує різноманітні керуючі конструкції для управління потоком виконання програми. На відміну від імперативних мов, всі конструкції в Elixir повертають значення, що робить код більш виразним. if та else Конструкція if перевіряє умову і виконує код відповідно до результату: # Базовий синтаксис if true do "Це буде виконано" else "Це не буде виконано" end # Однорядковий варіант if connected?, do: "Підключено", else: "Відключено" # Присвоєння результату message = if age >= 18 do "Ви повнолітній" else "Ви неповнолітній" end # Без else (повертає nil) if user_logged_in? do show_dashboard() end Примітка: В Elixir тільки false і nil вважаються хибними. Всі інші значення (включаючи 0, "", []) вважаються істинними. unless Конструкція unless — це протилежність if, виконується коли умова хибна: # ...

Шпаргалка по базових командах PostgreSQL

1. Підключення до PostgreSQL через командний рядок: psql -h <host> -p <port> -U <username> -d <database> 2. Підключення до бази без параметрів (якщо користувач і база мають однакове ім’я): psql 3. Показати список усіх баз даних: \l 4. Підключитися до іншої бази даних: \c <database_name> 5. Показати список таблиць у поточній базі: \dt 6. Показати всі об'єкти (таблиці, індекси, секвенції): \d 7. Показати таблиці з усіх схем: \dt *.* 8. Переглянути структуру конкретної таблиці: \d <table_name> 9. Виконати SQL-запит (приклад): SELECT * FROM users; 10. Вийти з psql: \q 11. Створити нову базу даних: CREATE DATABASE mydb; 12. Створити нову таблицю: CREATE TABLE users ( id SERIAL PRIMARY KEY, name TEXT NOT NULL, email TEXT UNIQUE ); 13. Додати новий запис: INSERT INTO users (name, email) VALUES ('Іван', 'ivan@example.com'); 14. Оновити дані в таблиці: UPDATE users SET name = 'Петро' WH...

Angular CLI

CLI (command-line interface) – інтерфейс командного рядка. Перед початком роботи має бути встановлений Node.js Встановлення: npm install -g @angular/cli Отримання допомоги: ng help Буде приблизно такий результат: add Adds support for an external library to your project. analytics Configures the gathering of Angular CLI usage metrics. See https://angular.io/cli/usage-analytics-gathering. build (b) Compiles an Angular app into an output directory named dist/ at the given output path. Must be executed from within a workspace directory. deploy Invokes the deploy builder for a specified project or for the default project in the workspace. config Retrieves or sets Angular configuration values in the angular.json file for the workspace. doc (d) Opens the official Angular documentation (angular.io) in a browser, and searches for a given keyword. e2e (e) Builds and serves an Angular app, then runs end-to-end tests. extract-i18n (i18n-extract, xi18n) Extracts i18n mes...

Дамп бази даних Postgresql локально

Що потрібно встановити локально (Ubuntu) Встанови клієнтські утиліти PostgreSQL: pg_dump , psql , pg_restore . sudo apt update sudo apt install postgresql-client Кроки міграції Ідея: не зберігати дамп на серверах. Зробити дамп з віддаленого сервера на свій локальний ПК, потім передати його на новий сервер і там відновити. 1) Створення дампу з віддаленого сервера локально pg_dump -h OLD_SERVER_IP -U OLD_USER -Fc -d OLD_DB -f dump_file.dump Пояснення ключів: -h (хост), -U (користувач), -Fc (custom format), -d (БД), -f (вихідний файл локально). 1.1) Варіант з розбиттям на частини (якщо треба) pg_dump -h OLD_SERVER_IP -U OLD_USER -Fc -d OLD_DB | split -b 10G - dump_file.dump.part_ Це створить локально файли типу dump_file.dump.part_aa , dump_file.dump.part_ab тощо. 2) Передача дампу на новий сервер Один файл: scp dump_file.dump NEW_USER@NEW_SERVER_IP:/tmp/ Або частинами: scp dump_file.dump.part_* NEW_USER@NEW_SERVER_IP:/tmp/ 3) Збирання файл...