Установка Laravel: порядок дій, рекомендації

9 0 Новини високих технологій

Laravel - вільна PHP-інфраструктура з відкритим вихідним кодом, розглядається як один з кращих фреймворків PHP. У нього є відмінна спільнота, фантастичний сайт документації та відмінні відеоуроки. Версія 1.0 була запущена всього кілька років тому. Виконавши установку Laravel, можна створювати і підтримувати високоякісні веб-додатки з мінімальними навантаженнями.

Коротко про Laravel

Установка Laravel: порядок дій, рекомендації
Laravel - це набір компонентів і бібліотек загального призначення в поєднанні зі стандартами програмування, які спрощують процес розробки. Основною перевагою установки Laravel є його гнучкість. Більшість фреймворків змушують програміста працювати певним чином. Laravel використовує дещо інший підхід. Він не форсує стиль, а тільки пропонує. Таким чином, метод поєднує в собі всі переваги стандартизації з можливістю додавання додаткових функцій.


Сьогодні установка Laravel є дуже затребуваною. Цей фреймворк виконаний на основі даних, наданих HotFrameworks. Laravel займає 8 місце в загальному рейтингу і 1 місце в рейтингу заснованих на PHP фреймворків, мають більше 23 тисяч зірок на GitHub. Для порівняння зазначимо, що CodeIgniter знаходиться тільки на 2 місці з 12 тисячами зірок.

Технологічна документація і монтаж

Як і у випадку з кожною новою технологією, користувачі повинні почати вивчати Laravel, прочитавши документацію. Зараз Laravel 5.7 є найбільш стабільною версією, а починають знайомство з офіційного сайту. Документація на установку Laravel акуратно структурована. Варто згадати, що іноді корисно поглянути на більш старі версії документації.


Документація Laravel пропонує використовувати Homestead - це гарне довгострокове рішення, але для його втілення потрібно набагато більше часу настройки. Після створення нових серверів боротьба йде за кожну секунду, тому простіше дотримуватися альтернативного рішення: Artisan. Він є основним інструментом у роботі з Laravel framework для багатьох користувачів. Одна з його функцій - запуск сервера командою "./artisan serve". Якщо потрібно зупинити його, просто закривають Artisan, використовуючи стандартний ярлик Unix Ctrl + C. найперше, що потрібно зробити перед початком робіт - це встановити PHP з усіма необхідними розширеннями і MySQL. Докладна інформація про цьому процесі залежить від ОС і може бути знайдена в документації на профільному сайті. Наступний крок - встановлення Composer. Коли є все, що потрібно, можна встановити framework двома способами - з допомогою Composer або з установником Laravel.

Структура пакетів

Laravel дуже гнучкий, що помітно, коли користувач використовує його здатність створення власної структури папок. У фреймворк Laravel є попередньо створена структура, але її можна значно розширити. Основна папка містить такі підкаталоги:
  • Додаток - серце проекту, більшість коду буде розміщено тут.
  • Консоль - папка містить консольні команди і ядро, де їх реєструють.
  • Події - тут зберігаються всі події.
  • Виключення - це місце, де створюються виключення. Цей каталог також містить файл з іменем handler.php, який відповідає за глобальну обробку винятків. Якщо потрібно їх самостійно обробляти, рекомендують створювати папку під назвою Handlers і заповнити її файлами, які реалізують інтерфейс Illuminate Contracts Debug ExceptionHandler.
  • HTTP - все, що пов'язано з доступом до додатка з інтернету.
  • Контролери - містять контролери, використовувані додатком.
  • Middleware - містить класи декоратора, які можуть змінювати запит до його передачі контролеру, а також відповідь перед його відправкою користувачеві.
  • Запити - містять файли, які відповідають за автоматичну перевірку запитів.
  • Routes.php цей файл містить маршрутизацію.
  • Робочі місця - ця папка містить «відстрочені завдання, які можуть виконуватися у майбутньому.
  • Слухачі - тут буде відбуватися обробка подій. Тут же розміщують слухачів і передплатників.
  • Політики - застосовувані види політики, що використовуються для управління правами користувача.
  • Постачальники - містять постачальників. Це класи, відповідальні за завантаження і управління додатками.
  • Модель - папка для зберігання моделей.
  • Контракти - ще одна папка, яку потрібно оформити. На цей раз вона заснована на стилі програмування Laravel, де створюють інтерфейси, звані контрактами, які будуть об'єднувати функціональні можливості додатків.
  • У програмі існує ще багато важливих пакетів, з якими краще ознайомитися документації на профільному сайті перед створенням проекту.

    Настройка конфігурації

    Установка Laravel: порядок дій, рекомендації
    Коли встановлено framework, виконують установку Laravel в поточну папку і здійснюють настройку. У більшості випадків можна дотримуватися значень за замовчуванням, якщо не потрібно використовувати деякі додаткові функції. Основна частина варіантів - добре задокументована, наприклад:
  • Env. Першим кроком у кожній конфігурації є підготовка файлу .env. Це самий важливий файл, так як він містить всі облікові дані і конфігурацію, специфічну для сервера, на відміну від додатків, які зберігаються в каталозі config.
  • APP_ENV - це значення визначає середовище, що використовується на сервері. Може мати два різних значення: локальне, яке готує додаток для тестування на сервері розробки, та виробниче, повністю оптимізує додаток для масового використання у виробництві.
  • APP_DEBUG - це поле визначає, інструменти налагодження включені чи ні. При установці Laravel за рекомендаціями досвідчених розробників в цьому полі потрібно зберегти його в синхронізації з APP_ENV. Якщо APP_ENV = production, тоді APP_DEBUG = false, в іншому випадку APP_DEBUG = true.
  • APP_KEY - це випадковий ключ, що використовується в процесі генерації та перевірки паролів. Якщо розробник змінить дане значення після початкової настройки, це призведе до того, що всі паролі, створені Laravel, перестануть бути чинними і зажадають регенерації. Це поле заповнюється автоматично під час інсталяції Laravel. Якщо потрібно змінити його, використовують наступну команду: "./artisan key: generate".
  • APP_URL - відомо, що це такий url, який видається і використовується для створення шляхів з посилань і активів.
  • DB - ці шість полів використовуються для налаштування з'єднання з базою даних. Більшість полів не вимагають пояснень. Єдине виключення - DB_CONNECTION, де розробники повинні прописати mysql.
  • Використання бази даних

    CONFIG /database.php - файл дозволяє створювати більш досконалу конфігурацію бази даних. Laravel без установки яких-небудь зовнішніх пакетів підтримує наступні рішення: MySQL, pgSQL, SQLite, SQLSRV. Більшість конфігурацій вже підготовлені, єдиним винятком є SQLSRV, для чого потрібно додати ще один розділ.
    Установка Laravel: порядок дій, рекомендації
    У цьому файлі можна вибрати ім'я таблиці, використовуваної для зберігання міграцій, а також налаштувати з'єднання Redis. CONFIG /mail.php цей файл відповідає за відправку листів. Всі необхідні параметри встановлюють у файлі .env. Використання SMTP не є єдиним способом відправлення листів в Laravel. Альтернативи включають таке:
  • Відправка поштової сценарію по шляху скрипта, який встановлений в його полі.
  • Пошта для використання функції mail () PHP і сторонніх рішень (mailgun, mandril, amazon ses або sparkpost).
  • Під час розробки можна встановити драйвер для реєстрації і збереження електронної пошти у журналі замість відправки повідомлення або додавання наступного розділу: 'to' =>['address' => 'dev@domain.com''name' => 'Dev Example' ] Після цього буде відбуватися автоматичне перенаправлення всіх адрес електронної пошти на цільовий адресу.

    Управління файловими системами

    Установка Laravel: порядок дій, рекомендації
    CONFIG /FILESYSTEMS.PHP цей файл дозволяє управляти файловими системами, які автор використовує у своєму проекті. Laravel використовує безліч файлових систем завдяки бібліотеці під назвою Flysystem. Іноді потрібно, щоб кілька файлів зберігаються локально, а деякі - в хмарі. Ця комбінація також можлива з Laravel. Конфігурація за замовчуванням дозволяє зберігати файли з відкритим доступом storage /app і storage /app /public. Також доступно хмара Amazon (s3). Виконують деякі зміни і заміни розділу s3 дисків з наступним кодом.

    Установка Laravel: порядок дій, рекомендації
    Таким чином, можна розмістити облікові дані в одному місці (файл .env). При цьому буде більш чистий код, а ключі набагато безпечніше, без ризику випадкового розміщення їх у репозиторії.

    Система черг CONFIG /QUEUE PHP

    Черги - це спосіб виконання трудомістких завдань в режимі «пізніше». Для цього є кілька доступних рішень:
  • Синхронізація. Це значення за замовчуванням і найпростіше рішення, яке означає «немає черг». Черга завдань виконується під час роботи скрипта. Це єдине рішення, яке не потребує додаткової інфраструктури. Можна залишити його, якщо не планується використовувати черзі і при коротких завданнях.
  • База даних. Найпростіші методи, які будуть використовувати бази даних для зберігання завдань у черзі. Конфігурація вимагає, щоб було вибрано з'єднання з базою даних і таблицею для зберігання завдань. При цьому поле драйвера повинно бути дійсним ім'ям з'єднання, а не драйвера. Необхідна міграція може бути згенерована за допомогою майстра "./artisan queue:table". У разі механізму бази даних дуже важливо правильно встановити поле expire. Воно використовується для запобігання обробки однієї і тієї ж роботи двічі. Для цього воно повинно бути вище значення тайм-ауту, використовуваного при запуску працівників.
  • Redis. Конфігурація так само проста, як і вибір імені з'єднання і значення expire, а beanstalk і sqs - це комерційні рішення, які можуть бути налаштовані з використанням правильних облікових даних. Пропонується використовувати функцію env () для їх зберігання у файлі .env.
  • Failed - використовується для вибору таблиці в базі даних, яка потрібна для зберігання невдалих завдань. Міграція може бути створена за допомогою майстра "./artisan queue:failed-table".
  • Налаштування сторонніх пакетів

    Деякі сторонні пакети вимагають додаткової настройки. У більшості випадків вони будуть використовувати файл з ім'ям, що відповідає своєму імені, але деякі з них цього не роблять. Ці пакети зберігають свою конфігурацію в CONFIG /SESSIONS.PHP. Цей файл відповідає за налаштування сеансів. Lifetime і expire_on_close вкажуть, як записаний сеанс слід зберігати, якщо він повинен бути вилучений після закриття браузера. Поле драйвера визначить, де повинен зберігатися сеанс:
  • file - зберігається у файлах, поміщених в папку, обрану з полем файлів;
  • cookie - відправляється з кожним відповіддю і повертається в кожному запиті браузера;
  • database - зберігається в базі даних, яка визначається полями підключення і таблицями.
  • Міграція може бути зроблена за допомогою майстра:
  • ./artisan session:table;
  • apc - зберігається в ОЗП серверів;
  • memcached - зберігається на сервері memcached, використовуючи конфігурацію з файлу cache.php;
  • redis - зберігається на сервері redis;
  • array - сеанс зберігається тільки для одного виклику. Це технічно відключена система сеансів.
  • Є ще пакет, який потрібно додати перед початком розробки. Laravel-DebugBar - пакет, який додасть панель внизу веб-сайту, потрібну при налагодженні. Ця панель буде відображатися тільки в тому випадку, якщо включена налагодження. Встановлення цього пакету дуже проста.
    Установка Laravel: порядок дій, рекомендації

    Попередні вимоги

    Перед установкою Laravel переконуються, що є такі розділи та елементи:
  • Веб-сервер.
  • PHP.
  • MySQL.
  • Composer install Laravel.
  • Інтегрована середовище розробки (IDE).
  • Наприклад, буде використовувати крос-платформа XAMPP. Вона поставляється з Apache, MySQL та PHP. Якщо у користувача немає XAMPP, можна завантажити її в інтернеті. Якщо він воліє працювати з іншими типами веб-серверів, тобто IIS, створений на веб-сервері, він також добре підходить для Laravel. Composer - це менеджер залежностей для PHP. Про нього можна прочитати на офіційному сайті та завантажити за запропонованою посиланням.

    Установка Laravel на Windows 10

    Після установки Composer переходять на htdocs в XAMPP. Знаходять кореневої веб-сервер і відкривають додаток Windows Explorer : C:/xampp/C:/xampp/htdocs. Далі потрібно клацнути мишею в будь-якому місці і вибрати Composer, як показано на зображенні нижче.
    Установка Laravel: порядок дій, рекомендації
    Вибирають композитор. З'явиться наступне вікно командного рядка:
    Установка Laravel: порядок дій, рекомендації
    Створюють новий проект із застосуванням композитора. Виконують: composer create-project laravel/laravel larashop. У командному рядку отримують наступний результат:
    Установка Laravel: порядок дій, рекомендації
    Чекають завершення установки, і проводять тестування. Для цього вводять в браузер localhost/larashop/public/. Може виникнути питання: url - що це таке? Пояснимо, ця адреса відкриває користувачеві гостьову сторінку.
    Установка Laravel: порядок дій, рекомендації

    Настроювання нового проекту

    Інформація про конфігурацію програми знаходиться в config/app.php. Настроювання нового проекту послідовно здійснюють такі етапи:
  • Встановлюють режим відладки, який використовується для визначення того, скільки інформації повинно відображатися при виникненні помилки.
  • Встановлюють часовий пояс - цей параметр використовується для функцій дати і PHP.
  • Встановлюють ключ додатки, значення якого використовується для шифрування.
  • Порядок дій установки Laravel:
  • Відкрити файл /config/app.php. Знайти наступний код: 'debug' => env('APP_DEBUG', false).
  • Оновити його до наступного коду: 'debug' => env('APP_DEBUG', true). Він установлює режим відладки у значення true. Це змусить Laravel відображати детальну інформацію при виникненні помилки. Вона корисна для усунення неполадок.
  • Встановити часовий пояс. Для цього знаходять код 'timezone' => 'UTC', встановлюють часовий пояс UTC. Це значення за замовчуванням. Якщо потрібно мати інший часовий пояс, можна замінити UTC на потрібне значення.
  • Встановити ключ програми. Для цього знаходять наступний код 'key' => env('APP_KEY', 'SomeRandomString').
  • Оновити його до коду 'key' => env('APP_KEY', 'inesindinemwanawabambuyabakoiwe'). Де він являє собою рядок 32 символами, яка буде використовуватися в якості ключа шифрування.
  • Конфігурація аутентифікації

    Файл конфігурації аутентифікації знаходиться в "./config/auth.php". У загальних випадках залишають значення за замовчуванням такими, які вони є. Якщо потрібно, можна змінити їх, у відповідності з додатковими вимогами. Файл конфігурації бази даних "./config/database.php". За замовчуванням MySQL буде використовуватися як механізм бази даних. Можна встановити його в іншу систему управління базами даних, якщо потрібно. Оновлюють наступні ключі:
  • База даних.
  • Ім'я користувача.
  • Пароль.
  • Установка Laravel: порядок дій, рекомендації
    Значення в наведеному вище прикладі:
  • 'database' => env('DB_DATABASE', 'larashop') встановлює ім'я бази даних в larashop. Можна продовжити і створити порожню базу даних larashop в MySQL.
  • 'username' => env('DB_USERNAME', 'root') встановлює корінь в якості імені користувача бази даних, який буде використовуватися для аутентифікації. Потрібно використовувати дійсне ім'я користувача для свого примірника MySQL.
  • 'password' => env('DB_PASSWORD', 'melody') встановлює мелодію в якості пароля, який буде використовуватися для входу в систему. Потрібно використовувати дійсний пароль для свого примірника MySQL.
  • Таким чином, буде створена добре сконфігурованого і повністю діюча база додатків, що працює від Laravel. В цілому фахівці підтверджують, що він дуже простий, інтуїтивно зрозумілий і зручний для користувачів.