Создание и запуск проекта Laravel
Что такое Laravel?
Laravel — это PHP веб-фреймворк с открытым исходным кодом, созданный PHP разработчиком Тейлором Отвеллом. Он нацелен на предоставление разработчикам чистого и элегантного инструментария для создания современных веб-приложений. Laravel предлагает богатый набор функций, таких как маршрутизация, сессии, кэширование, аутентификация и т.д., которые упрощают выполнение общих задач веб-разработки.
Основные функции и преимущества Laravel
- Простота и элегантность: Синтаксис Laravel прост и элегантен, что делает код более читаемым и поддерживаемым.
- Богатый набор функций: Включает маршрутизацию, аутентификацию, управление сессиями и кэширование, значительно упрощая процесс разработки.
- Мощный ORM: Eloquent ORM предоставляет простую реализацию ActiveRecord для операций с базами данных.
- Модульный дизайн: Легко интегрировать сторонние библиотеки и расширения через менеджер пакетов Composer.
- Сильная поддержка сообщества: Большое сообщество разработчиков и богатая экосистема.
Laravel помогает разработчикам быстро создавать высококачественные веб-приложения и API, подходящие для проектов любого размера — от небольших приложений до крупных корпоративных систем.
Создание и запуск проекта Laravel с использованием ServBay
В этой статье мы используем PHP окружение ServBay для создания и запуска проекта Laravel. Мы будем использовать функцию 'Host' в ServBay для настройки веб-сервера и доступа к проекту через простую настройку.
Примечание: Если вы ранее использовали NGINX или Apache
ServBay использует Caddy в качестве веб-сервера по умолчанию. Вот некоторые ключевые изменения, на которые следует обратить внимание пользователям, переходящим с NGINX и Apache на ServBay:
Конфигурация Caddy
В ServBay встроен Caddy, и он уже оптимизирован и настроен по умолчанию. Разработчикам нужно только использовать функцию 'Host' для управления сайтом, без необходимости в ручной модификации конфигурационных файлов Caddy.
Правила переписывания и .htaccess
В NGINX и Apache разработчики обычно пишут собственные правила переписывания и файлы .htaccess для обработки переписывания URL и других конфигураций. Однако, настройки ServBay по умолчанию уже настраивают правила Caddy, так что если нет особых потребностей, разработчикам не нужно писать эти правила самостоятельно.
Узнать больше
Для получения дополнительной информации, пожалуйста, посетите Переписывание и htaccess, Как мигрировать сайты Apache на ServBay, Как мигрировать сайты NGINX на ServBay.
Создание проекта Laravel
TIP
ServBay рекомендует разработчикам размещать веб-сайт в каталоге /Applications/ServBay/www
для удобного управления.
Установите 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
Настройка веб-сервера
Используйте функцию 'Host' в ServBay для получения доступа к проекту Laravel через веб-сервер. В настройках 'Host' в 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
Используйте кэширование в маршрутах
routes/web.php
:phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached', function () { Cache::put('key', 'value', 600); return Cache::get('key'); });
1
2
3
4
5
6Откройте браузер и перейдите по адресу
https://servbay-laravel-test.local/memcached
Пример 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
Используйте кэширование в маршрутах
routes/web.php
:phpuse Illuminate\Support\Facades\Redis; Route::get('/redis', function () { Redis::set('key', 'value'); return Redis::get('key'); });
1
2
3
4
5
6Откройте браузер и перейдите по адресу
https://servbay-laravel-test.local/redis
Пример реляционной базы данных
Создание структуры базы данных и файлов миграции
Пример 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Создание файла миграции
Используйте команду 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Добавление данных аккаунта
Добавьте данные аккаунта в маршрутах
routes/web.php
: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
Выполните запрос к базе данных в маршрутах
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/mysql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6Откройте браузер и перейдите по адресу
https://servbay-laravel-test.local/mysql-add
иhttps://servbay-laravel-test.local/mysql
Пример 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Создание файла миграции
Используйте команду 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Добавление данных аккаунта
Добавьте данные аккаунта в маршрутах
routes/web.app
: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
Выполните запрос к базе данных в маршрутах
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6Откройте браузер и перейдите по адресу
https://servbay-laravel-test.local/pgsql-add
иhttps://servbay-laravel-test.local/pgsql
Следуя вышеописанным шагам, вы успешно создали и запустили проект Laravel, управляемый и доступный с использованием возможностей ServBay, подключились к нескольким базам данных и выполнили запросы к данным.