Laravel — это один из самых популярных PHP-фреймворков, который позволяет быстро и эффективно разрабатывать веб-приложения. В этом руководстве мы рассмотрим основные шаги по созданию простого веб-приложения на Laravel, а также приведем пример приложения для управления задачами (To-Do List).
Шаг 1: Установка Laravel
Прежде всего, убедитесь, что у вас установлены PHP, Composer и MySQL (или другая СУБД). Затем выполните следующие шаги для установки Laravel:
1. Установите Laravel с помощью Composer:
Откройте терминал и выполните команду:
composer create-project —prefer-dist laravel/laravel todo-app
2. Перейдите в директорию проекта:
cd todo-app
3. Запустите локальный сервер:
Для разработки вы можете использовать встроенный сервер Laravel:
php artisan serve
По умолчанию ваше приложение будет доступно по адресу http://127.0.0.1:8000
.
Шаг 2: Настройка базы данных
Создайте базу данных:
Создайте новую базу данных в MySQL, например todo_app
.
Настройте файл .env:
Откройте файл .env
в корне вашего проекта и измените настройки подключения к базе данных
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=todo_app
DB_USERNAME=your_username
DB_PASSWORD=your_password
Шаг 3: Создание миграций и модели
Создайте миграцию и модель для задач:
Выполните следующую команду в терминале:
php artisan make:model Task -m
Это создаст модель Task
и файл миграции.
Определите структуру таблицы в миграции:
Откройте файл миграции, который находится в database/migrations
, и добавьте следующие поля:
public function up()
{
Schema::create(‘tasks’, function (Blueprint $table) {
$table->id();
$table->string(‘title’);
$table->boolean(‘completed’)->default(false);
$table->timestamps();
});
}
Запустите миграции:
Выполните команду:
php artisan migrate
Это создаст таблицу tasks
в вашей базе данных.
Шаг 4: Создание контроллера
Создайте контроллер для задач:
Выполните команду:
php artisan make:controller TaskController
Добавьте методы для управления задачами:
Откройте созданный контроллер TaskController
и добавьте следующие методы:
namespace App\Http\Controllers;
use App\Models\Task;
use Illuminate\Http\Request;class TaskController extends Controller
{
public function index()
{
$tasks = Task::all();
return view(‘tasks.index’, compact(‘tasks’));
}public function store(Request $request)
{
$request->validate([‘title’ => ‘required’]);
Task::create($request->all());
return redirect()->back();
}public function destroy(Task $task)
{
$task->delete();
return redirect()->back();
}
}
Шаг 5: Настройка маршрутов
Добавьте маршруты в файл web.php
:
Откройте файл routes/web.php
и добавьте следующие маршруты:
use App\Http\Controllers\TaskController;
Route::get(‘/tasks’, [TaskController::class, ‘index’]);
Route::post(‘/tasks’, [TaskController::class, ‘store’]);
Route::delete(‘/tasks/{task}’, [TaskController::class, ‘destroy’]);
Шаг 6: Создание представлений
Создайте папку для представлений:
Создайте папку tasks
в директории resources/views
.
Создайте файл index.blade.php
:
В папке tasks
создайте файл index.blade.php
и добавьте следующий код:
<!DOCTYPE html>
<html lang=»en»>
<head>
<meta charset=»UTF-8″>
<meta name=»viewport» content=»width=device-width, initial-scale=1.0″>
<title>To-Do List</title>
</head>
<body>
<h1>To-Do List</h1><!— Форма для добавления задачи —>
<form action=»/tasks» method=»POST»>
@csrf
<input type=»text» name=»title» placeholder=»Название задачи» required>
<button type=»submit»>Добавить</button>
</form><!— Список задач —>
<ul>
@foreach ($tasks as $task)
<li>
<form action=»/tasks/{{ $task->id }}» method=»POST» style=»display: inline;»>
@csrf
@method(‘PUT’)
<input type=»checkbox» name=»is_completed» onchange=»this.form.submit()» {{ $task->is_completed ? ‘checked’ : » }}>
{{ $task->title }}
</form><form action=»/tasks/{{ $task->id }}» method=»POST» style=»display: inline;»>
@csrf
@method(‘DELETE’)
<button type=»submit»>Удалить</button>
</form>
</li>
@endforeach
</ul>
</body>
</html>
Заключение
Мы только что создали простое веб-приложение на Laravel с функциональностью CRUD. Laravel предоставляет удобный и мощный инструмент для создания веб-приложений, а благодаря его лаконичному синтаксису разработка становится проще и быстрее. Теперь вы можете улучшить своё приложение, добавив авторизацию, API или более сложные функции.