Появление фреймворков сделало программирование намного более доступным. После этого разработка ПО перестала быть уделом узкого круга профессионалов. Тем более – многие подобные программные платформы распространяются бесплатно. Типичным примером одного из самых популярных бесплатных фреймворков выступает Laravel. Рассмотрим его особенности, функционал, плюсы и минусы более внимательно.
Framework Laravel (в русскоязычном варианте – Ларавель или Ларавел) представляет собой бесплатную программную платформу, исходный код которой является открытым и написан на языке PHP. Она используется для разработки серверных приложений любой сложности.
Фактически Ларавел выступает не обычным фреймворком, а настоящей экосистемой в виде полноценного движка для шаблонов Blade с большим количеством вспомогательных инструментов. Немаловажным бонусом становится обширный мануал, включающий как документацию от разработчиков, так и многочисленные тематические ресурсы многочисленного комьюнити пользователей.
Фреймворк был впервые опубликован в середине 2009 года. Актуальной на сегодня является версия 9.19.0, которая датируется 29.06.2022 года. Регулярность выхода обновлений наглядно демонстрирует активное развитие продукта, которое характерно для всего времени его существования.
Laravel используется в области backend-разработки, то есть для создания серверной части приложений, с которой пользователи непосредственно не контактируют. Языком программирования является PHP, заслуженно считающийся одним из самых распространенных. А Laravel, в свою очередь является самым популярным фреймворком PHP.
Основой платформы выступает вариант архитектуры MVC, предусматривающий разделение компонентов программного обеспечения на три категории (каждая дает аббревиатуре по одной букве):
Первым и ключевым достоинством Laravel заслуженно считается обширный функционал. К числу наиболее важных возможностей фреймворка следует отнести такие:
По многочисленным опросам среди программистов Laravel стабильно занимает высокие места (часто – попросту первое) в качестве самого популярного фреймворка. Причем в самых разных направлениях программирования – как для личных целей, так и для бизнеса. Помимо упомянутого выше обширного функционала, другими важными преимуществами программной платформы выступают:
Не менее существенным достоинством фреймворка становится отсутствие четко выраженных и значимых недостатком.
Например, сложно считать реальным минусом необходимость знания английского языка, так как это является повседневным и самым обычным требованием к любому программисту. Остальные недостатки, которые можно встретить на тематических сайтах, еще менее существенны, чем только что описанный.
Проще всего работать с Laravel с Ubuntu, можете поставить Ubuntu 20 на виртуальную машину для тестов. Для начала вам нужно установить все зависимости и сам Laravel – для этого нужно исполнить команду в терминале:
sudo apt install php7.4 php7.4-bcmath php7.4-common php7.4-curl php7.4-json php7.4-mbstring php7.4-mysql php7.4-xml php7.4-zip openssl
Подождите, пока все скачается и установится. Теперь вам нужно создать папку, в которой будет находиться ваш проект, и перейти в нее.
Теперь нужно скачать и установить Composer, который будет собирать наш сайт. Вам нужно последовательно ввести 7 команд:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
/usr/local/bin/composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
В результате у вас в директории должен остаться 1 файл – composer.phar. Проверить это можно командой ls.
Теперь, когда все зависимости установлены, нам нужно создать свой первый проект. Для этого нужно ввести команду:
php composer.phar create-project laravel/laravel example-app
Возможно, запустится установка другой версии Laravel, если фреймворку не будет хватать вашей версии PHP – это нормально, дождитесь окончания установки.
Теперь перейдите в созданную директорию вашего первого проекта командой:
cd example-app
Включаем тестовый сервер, который встроен во фреймворк – для этого введите команду:
php artisan serve
А теперь откройте браузер (Firefox по умолчанию) и перейдите на адрес localhost:8000. Вы увидите стандартную заглушку Laravel:
Это значит, что и php, и фреймворк успешно встали на свои места, и можно начинать разработку сайта. Консоль вам больше не нужна, но не закрывайте ее – в ней висит процесс тестового сайта, просто сверните консоль. Для дальнейшей разработки вам понадобится файловый менеджер и текстовый редактор – стандартных будет достаточно.
Сайт на Laravel начинается с файла web.php – в этом файле прописываются все пути и имеющиеся страницы. Файл уже создан, он находится по следующему пути: [директория проекта]/routes/web.php.
В файле вам нужно написать следующее:
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\HomeController;
use App\Http\Controllers\AboutController;
Route::redirect('/', '/home');
Route::get('/home', [HomeController::class, 'index']);
Route::get('/about', [AboutController::class, 'index']);
Первая строка указывает на то, что это – код php, вторая – на то, что нужно использовать роутинг из этого файла, последующие 2 строки указывают на контроллеры страниц, которые мы будем создавать, последние 3 строки указывают фреймворку на то, что делать при обращениях к страницам сайтов – /home и /about будут выдаваться как страницы сайта, любые обращения к корню сайта (/) будут перенаправляться на главную (/home).
Следующий шаг – это создание этих самых страниц, которые мы только что прописали. В папке app/Http/Controllers нужно вручную создать 2 контроллера, HomeController.php и AboutController.php. В Ubuntu – не самый удобный проводник, поэтому файлы проще создать через терминал. Откройте папку контроллеров в проводнике, нажмите на пустой области правой кнопкой мыши и выберите «Open in terminal».
Откроется новый терминал, в котором нужно прописать 2 команды:
touch AboutController.php
touch HomeController.php
Файлы созданы, можете закрыть этот терминал командой exit.
В HomeController нужно прописать:
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class HomeController extends Controller
{
public function index()
{
return view('home', ['title' => 'Home Page']);
}
}
В AboutController нужно прописать:
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class AboutController extends Controller
{
public function index()
{
return view('about', ['title' => 'About Page']);
}
}
Этот код расширяет общий класс контроллеров и добавляет на каждую страницу по тайтлу.
Последний шаг – нам нужно создать меню, которое позволит перемещаться по страницам сайта. Для этого нам понадобится шаблонизатор Blade, встроенный в Laravel. Для начала в resources/views нужно создать директорию layouts.
Теперь в этой папке нужно создать файл master.blade.php, в котором лежать описание нашего контейнера с меню:
<html>
<head>
@if ($title)
<title>{{ $title }}</title>
@else
<title>Example Laravel App</title>
@endif
</head>
<body>
<div><a href="/home">Home</a> | <a href="/about">About</a>
<hr/>
<div class="container">
@yield('content')
</div>
</body>
</html>
Теперь нужно переместиться на директорию выше (во views) и создать здесь 2 файла, которые будут генерировать вид страницы в целом, с учетом меню.
home.blade.php:
@extends('layouts.master')
@section('content')
<h1>{{ $title }}</h1>
<p>This is the home page for an example Laravel web application.</p>
@endsection
about.blade.php:
@extends('layouts.master')
@section('content')
<h1>{{ $title }}</h1>
<p>This is the about page for an example Laravel web application.</p>
@endsection
Теперь откройте браузер и зайдите на тестовую страницу. Поздравляем – у вас есть простейший сайт на Laravel с двумя страницами.
Это бесплатный фреймворк с обширным функционалом и открытым программным кодом, который написан на PHP.
Основная сфера практического применения – backend-разработка серверных приложений для самых разнообразных по тематике, сложности и объему сайтов.
Платформа для программирования обладает множеством достоинств, главными из которых выступают: многофункциональность, бесплатный доступ, многочисленное сообщество пользователей, развернутая документация от разработчиков и т.д.
Первая версия была опубликована в июне 2011 года. Сегодня используется версия 9.19.0, выпущенная 29.06.2022 года.
Такого сочетания обширного списка достоинств с практически полным отсутствием минусов нет ни у одного другого фреймворка, даже с учетом платных.