Создание и запуск проекта Laravel
Что такое Laravel?
Laravel — это открытый PHP веб-фреймворк, созданный разработчиком PHP Тейлором Отвеллом. Он предназначен для предоставления разработчикам чистого и элегантного набора инструментов для создания современных веб-приложений. Laravel предлагает множество функций, таких как маршрутизация, сессии, кэширование, аутентификация и многое другое, что упрощает общие задачи веб-разработки.
Основные особенности и преимущества Laravel
- Чистота и элегантность: Синтаксис Laravel чист и элегантен, что делает код более читаемым и поддерживаемым.
- Богатый набор функций: Включает маршрутизацию, аутентификацию, управление сессиями и кэширование, что значительно упрощает разработку.
- Мощный ORM: Eloquent ORM предлагает простой способ реализации ActiveRecord, облегчающий операции с базой данных.
- Модульный дизайн: Легко интегрировать сторонние библиотеки и расширения через менеджер пакетов Composer.
- Мощная поддержка сообщества: Обладает большой поддержкой сообщества разработчиков и богатой экосистемой.
Laravel позволяет разработчикам быстро создавать высококачественные веб-приложения и API, подходящие для проектов любого масштаба — от небольших приложений до крупных корпоративных систем.
Создание и запуск проекта Laravel с использованием ServBay
В этой статье мы будем использовать предоставленную ServBay среду PHP, чтобы создать и запустить проект Laravel. Мы будем использовать функцию «хостинг» в ServBay для настройки веб-сервера и простого конфигурирования доступа к проекту.
Внимание: если вы раньше использовали NGINX или Apache
По умолчанию ServBay использует Caddy в качестве веб-сервера. Для пользователей, переходящих с NGINX и Apache на ServBay, необходимо учитывать некоторые ключевые изменения:
Конфигурация Caddy
ServBay имеет встроенный Caddy, который оптимизирован и настроен по умолчанию. Разработчики могут управлять сайтами через функцию «хостинг» в ServBay без необходимости вручную изменять конфигурационные файлы Caddy.
Правила перенаправления и .htaccess
В NGINX и Apache разработчики обычно сами пишут правила перенаправления и файлы .htaccess для обработки URL-перенаправлений и других настроек. Однако в ServBay настройки правил Caddy готовы из коробки, поэтому разработчики не обязаны писать эти правила самостоятельно, если нет особых требований.
Дополнительная информация
Более подробная информация по этим вопросам представлена в разделах: Rewrite и htaccess, Как мигрировать сайт Apache на ServBay, Как мигрировать сайт NGINX на ServBay.
Создание проекта Laravel
TIP
ServBay рекомендует разработчикам размещать свои сайты в каталоге /Applications/ServBay/www
для удобства управления.
Установка Composer
Composer предустановлен на ServBay, поэтому его не нужно устанавливать отдельно. Подробнее о Composer.
Создание проекта Laravel
Используйте Composer для создания нового проекта Laravel:
bashcd /Applications/ServBay/www mkdir servbay-laravel-app cd servbay-laravel-app composer create-project --prefer-dist laravel/laravel .
1
2
3
4Переход в каталог проекта
Перейдите в каталог недавно созданного проекта Laravel:
bashcd /Applications/ServBay/www/servbay-laravel-app
1
Инициализация конфигурации
Генерация ключа приложения
Laravel требует наличия ключа приложения для обеспечения безопасности сессий пользователей и других зашифрованных данных. Используйте команду Artisan для генерации ключа приложения:
bashphp artisan key:generate
1Настройка переменных окружения
Настройте подключение к базе данных и другие переменные окружения в файле
.env
. Убедитесь, что следующие настройки установлены правильно:APP_NAME=Laravel APP_ENV=local APP_KEY=base64:... APP_DEBUG=true APP_URL=https://servbay-laravel-test.local LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Настройка веб-сервера
Используйте функцию «хостинг» в ServBay для настройки веб-сервера и доступа к проекту Laravel. В разделе настройки хостинга в ServBay добавьте новый хост:
- Имя:
My First Laravel Dev Site
- Домен:
servbay-laravel-test.local
- Тип веб-сайта:
PHP
- Версия PHP: выберите
8.3
- Корневой каталог веб-сайта:
/Applications/ServBay/www/servbay-laravel-app/public
Подробнее о процессе настройки см. в разделе Добавление первого веб-сайта.
Добавление примера кода
Добавьте следующий код в файл routes/web.php
, чтобы вывести "Hello ServBay!":
Route::get('/', function () {
return 'Hello ServBay!';
});
2
3
Доступ к сайту
Откройте браузер и перейдите на https://servbay-laravel-test.local
, чтобы увидеть вывод "Hello ServBay!".
Пример использования базы данных NoSQL
Пример Memcached
Установка расширения Memcached
В ServBay расширение Memcached уже предустановлено.
Настройка Memcached
Настройте подключение Memcached в файле
.env
:CACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1
1
2Использование Memcached
Используйте кэш в контроллере:
phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached', function () { Cache::put('key', 'value', 600); return Cache::get('key'); });
1
2
3
4
5
6
Пример Redis
Установка расширения Redis
В ServBay расширение Redis уже предустановлено.
Настройка Redis
Настройте подключение Redis в файле
.env
:CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
1
2
3
4Использование Redis
Используйте кэш в контроллере:
phpuse Illuminate\Support\Facades\Redis; Route::get('/redis', function () { Redis::set('key', 'value'); return Redis::get('key'); });
1
2
3
4
5
6
Пример использования реляционной базы данных
Создание структуры базы данных и файла миграций
Создание файла миграций
Используйте команду Artisan для создания файла миграций:
bashphp artisan make:migration create_accounts_table
1Редактирование файла миграций
Найдите созданный файл миграций в каталоге
database/migrations
и отредактируйте его для определения структуры таблицы базы данных:phppublic function up() { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }
1
2
3
4
5
6
7
8
9Выполнение миграции
Используйте команду Artisan для выполнения миграции и создания таблицы базы данных:
bashphp artisan migrate
1
Пример MySQL
Настройка MySQL
Настройте подключение MySQL в файле
.env
:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6Запись данных пользователя
Добавьте данные пользователя через контроллер:
phpuse Illuminate\Support\Facades\DB; Route::get('/mysql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9Использование MySQL
Вызовите данные из базы данных через контроллер:
phpuse Illuminate\Support\Facades\DB; Route::get('/mysql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6
Пример PostgreSQL
Настройка PostgreSQL
Настройте подключение PostgreSQL в файле
.env
:DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6Запись данных пользователя
Добавьте данные пользователя через контроллер:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9Использование PostgreSQL
Вызовите данные из базы данных через контроллер:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6
Следуя этим шагам, вы успешно создали и запустили проект Laravel, использовав возможности ServBay для управления и доступа к вашему проекту, а также подключили и использовали различные базы данных.