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

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

Коментарі

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

Дамп бази даних 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) Збирання файл...

Основи Next.js

Що таке Next.js? Next.js — це прогресивний фреймворк для розробки веб-застосунків на основі React. Він розширює можливості React, додаючи готову інфраструктуру для Server-Side Rendering (SSR), генерації статичних сторінок, маршрутизації через файлову систему, а також можливість створювати backend-ендпоінти прямо в проєкті. Чому він став популярним? Next.js швидко здобув популярність завдяки тому, що пропонує: SEO-дружні сторінки завдяки SSR / SSG; швидкий перший рендер (First Page Load); просту маршрутизацію без налаштування; розгортання в один клік через Vercel; вбудовану оптимізацію зображень та продуктивності. Чим відрізняється від класичного React У класичному React ми отримуємо лише клієнтську бібліотеку для побудови UI-компонентів. Усе інше (SSR, маршрути, API) треба налаштовувати вручну або через сторонні бібліотеки (наприклад, React Router, Redux, Express, etc.). Next.js — це уже повноцінний фреймворк. Він одразу має: серверний рендеринг...

ООП у TypeScript

Короткий вступ TypeScript додає статичну типізацію поверх JavaScript і підтримує класичні концепти ООП: класи , успадкування , інтерфейси , інкапсуляцію , поліморфізм та абстракції . Нижче — практичні приклади та пояснення. Класи — декларація, конструктор, властивості та методи class Person { public name: string; private age: number; protected email?: string; // необов’язкове static species = 'Homo sapiens'; constructor(name: string, age: number, email?: string) { this.name = name; this.age = age; this.email = email; } public greet(): string { return `Hi, I'm ${this.name}.`; } private getBirthYear(currentYear: number): number { return currentYear - this.age; } } const p = new Person('Ivan', 30, 'ivan@example.com'); console.log(p.greet()); // console.log(p.age); // помилка: 'age' приватне console.log(Person.species); Успадкування і перевизначення (extends, super) class Employee extends Person { ...

Створення проєкту на TypeScript, модулі

Крок 1. Ініціалізація проєкту Спочатку створимо нову теку та ініціалізуємо Node.js-проєкт за допомогою npm : mkdir my-typescript-app cd my-typescript-app npm init -y Крок 2. Встановлення TypeScript Додаємо TypeScript як dev-залежність: npm install --save-dev typescript ts-node @types/node - typescript — компілятор TypeScript - ts-node — дозволяє запускати TS-файли без попередньої компіляції - @types/node — типи для стандартних Node.js API Крок 3. Створення файлу tsconfig.json Ініціалізуємо конфігурацію TypeScript: npx tsc --init Приклад файлу tsconfig.json { "compilerOptions": { "target": "ES2020", // Версія JS у вихідному коді "module": "CommonJS", // Система модулів (для Node.js) "rootDir": "src", // Вхідна папка з TypeScript-кодом "outDir": "dist", // Куди компілюється код JS "str...

Інструменти для роботи з 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...