Разработка сайта на Laravel: пошаговое руководство

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Введение в Laravel

Laravel — это один из самых популярных PHP-фреймворков, который позволяет создавать веб-приложения быстро и эффективно. Он предоставляет множество инструментов и библиотек, которые упрощают разработку, делая её более структурированной и организованной. Если вы новичок в веб-разработке, Laravel станет отличным выбором для начала. Этот фреймворк был разработан с целью сделать процесс создания веб-приложений более приятным и интуитивно понятным.

Laravel предлагает множество возможностей, таких как маршрутизация, миграции баз данных, аутентификация, работа с сессиями и кэшированием. Все эти функции делают его мощным инструментом для создания современных веб-приложений. Более того, Laravel имеет активное сообщество и отличную документацию, что делает его еще более привлекательным для новичков.

Кинга Идем в IT: пошаговый план для смены профессии

Установка и настройка окружения

Перед тем как начать разработку на Laravel, необходимо подготовить рабочее окружение. Для этого потребуется установить несколько инструментов:

  1. Composer — менеджер пакетов для PHP. Он позволяет управлять зависимостями вашего проекта.
  2. PHP — версия 7.3 и выше. Laravel требует современную версию PHP для работы.
  3. MySQL или другая база данных. Laravel поддерживает различные СУБД, но MySQL является одной из самых популярных.
  4. Laravel Installer — инструмент для быстрой установки Laravel. Он значительно упрощает процесс создания новых проектов.

Шаг 1: Установка Composer

Скачайте и установите Composer с официального сайта. Composer является неотъемлемой частью экосистемы PHP и используется для управления зависимостями. После установки проверьте, что Composer установлен правильно, выполнив команду:

Bash
Скопировать код
composer --version

Эта команда выведет текущую версию Composer, что подтвердит его успешную установку.

Подробнее об этом расскажет наш спикер на видео
skypro youtube speaker

Шаг 2: Установка Laravel Installer

После установки Composer, установите Laravel Installer глобально. Это позволит вам быстро создавать новые проекты Laravel:

Bash
Скопировать код
composer global require laravel/installer

Добавьте путь к Laravel Installer в переменную окружения PATH. Это необходимо для того, чтобы команда laravel была доступна из командной строки:

Bash
Скопировать код
export PATH="$HOME/.composer/vendor/bin:$PATH"

Шаг 3: Создание нового проекта

Теперь можно создать новый проект Laravel. Для этого выполните команду:

Bash
Скопировать код
laravel new myproject

Эта команда создаст новый проект с именем myproject. Если вы предпочитаете использовать Composer, вы можете создать проект с его помощью:

Bash
Скопировать код
composer create-project --prefer-dist laravel/laravel myproject

Этот метод также создаст новый проект Laravel, но с использованием Composer.

Создание базового проекта

После установки Laravel, перейдите в директорию проекта и запустите локальный сервер разработки. Это позволит вам увидеть ваш проект в действии:

Bash
Скопировать код
cd myproject
php artisan serve

Теперь ваш проект доступен по адресу http://localhost:8000. Вы можете открыть этот адрес в браузере и увидеть приветственную страницу Laravel.

Структура проекта

Laravel имеет определенную структуру директорий, которая помогает организовать код. Вот основные директории и их назначение:

  • app/ — содержит основной код приложения. Здесь находятся модели, контроллеры и другие классы.
  • config/ — файлы конфигурации. Здесь вы можете настроить различные аспекты приложения.
  • database/ — миграции и сиды для базы данных. Эти файлы помогают управлять структурой базы данных.
  • public/ — публичные файлы, такие как CSS, JS, изображения. Эти файлы доступны для всех пользователей.
  • resources/ — шаблоны и ресурсы для фронтенда. Здесь находятся файлы Blade-шаблонов и другие ресурсы.
  • routes/ — файлы маршрутов. Здесь определяются URL-адреса и их соответствие контроллерам.
  • storage/ — временные файлы, логи и кэш. Эта директория используется для хранения временных данных.
  • tests/ — тесты для вашего приложения. Здесь находятся файлы для автоматического тестирования кода.

Работа с базой данных

Laravel поддерживает работу с различными базами данных через Eloquent ORM. Это мощный инструмент, который позволяет взаимодействовать с базой данных с помощью объектов. Для начала работы с базой данных, настройте соединение в файле .env:

env
Скопировать код
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mydatabase
DB_USERNAME=myuser
DB_PASSWORD=mypassword

Эти настройки указывают на параметры подключения к базе данных. Убедитесь, что вы заменили значения на свои собственные.

Создание миграций

Миграции позволяют управлять структурой базы данных. Они представляют собой классы, которые определяют изменения в структуре таблиц. Создайте новую миграцию командой:

Bash
Скопировать код
php artisan make:migration create_posts_table

Эта команда создаст файл миграции в директории database/migrations. Отредактируйте файл миграции, чтобы определить структуру таблицы:

php
Скопировать код
public function up()
{
    Schema::create('posts', function (Blueprint $table) {
        $table->id();
        $table->string('title');
        $table->text('content');
        $table->timestamps();
    });
}

Этот код создаст таблицу posts с полями id, title, content и временными метками. Примените миграции, чтобы создать таблицу в базе данных:

Bash
Скопировать код
php artisan migrate

Работа с моделями

Создайте модель для таблицы posts. Модель представляет собой класс, который взаимодействует с таблицей в базе данных:

Bash
Скопировать код
php artisan make:model Post

Модель Post будет представлять запись в таблице posts и позволит взаимодействовать с данными через Eloquent ORM. Вы можете использовать модель для выполнения различных операций с данными, таких как создание, чтение, обновление и удаление записей.

Создание и настройка маршрутов и контроллеров

Маршруты определяют, какие контроллеры и методы будут вызываться при обращении к определенным URL. Все маршруты находятся в файле routes/web.php. Маршруты позволяют организовать логику приложения и определить, какие действия должны выполняться при посещении определенных страниц.

Создание контроллера

Создайте контроллер для управления постами. Контроллеры содержат методы, которые обрабатывают запросы и возвращают ответы:

Bash
Скопировать код
php artisan make:controller PostController

Добавьте методы для отображения списка постов и создания нового поста. Эти методы будут обрабатывать соответствующие запросы:

php
Скопировать код
public function index()
{
    $posts = Post::all();
    return view('posts.index', compact('posts'));
}

public function create()
{
    return view('posts.create');
}

public function store(Request $request)
{
    $post = new Post();
    $post->title = $request->title;
    $post->content = $request->content;
    $post->save();

    return redirect()->route('posts.index');
}

Метод index будет отображать список всех постов, метод create — форму для создания нового поста, а метод store — сохранять новый пост в базе данных.

Настройка маршрутов

Добавьте маршруты для постов в routes/web.php. Эти маршруты будут определять, какие методы контроллера должны вызываться при обращении к определенным URL:

php
Скопировать код
Route::get('/posts', [PostController::class, 'index'])->name('posts.index');
Route::get('/posts/create', [PostController::class, 'create'])->name('posts.create');
Route::post('/posts', [PostController::class, 'store'])->name('posts.store');

Теперь ваш сайт на Laravel готов к работе! Вы можете продолжать развивать его, добавляя новые функции и улучшая существующие. Laravel предоставляет множество возможностей для создания мощных и современных веб-приложений, и этот фреймворк станет отличным выбором для вашего проекта.

Читайте также

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какой фреймворк рассматривается в руководстве?
1 / 5