Laravel 8 - Быстрая разработка сайтов на PHP

Скачать книгу можно тут.

Установка Curl

sudo apt install curl

Установка Composer

cd ~

curl -sS https://getcomposer.org/installer -o composer-setup.php

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Установка Laravel

sudo composer global require laravel/installer

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

Перейти в HTML-каталог и создать новый проект:

composer create-project --prefer-dist laravel/laravel <НАЗВАНИЕ_ПРОЕКТА>

Настройка Apache для проекта

cd /etc/apache2/sites-available

sudo gedit <НАЗВАНИЕ_ПРОЕКТА>.conf

<VirtualHost 127.0.0.1:80>

    ServerName <АДРЕС_ПРОЕКТА>

    ServerAdmin webmaster@localhost


    DocumentRoot <ПУТЬ_ПРОЕКТА>/public

    <Directory <ПУТЬ_ПРОЕКТА>>

        AllowOverride All

        Require all granted

    </Directory>


    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

sudo a2ensite <НАЗВАНИЕ_ПРОЕКТА>.conf

sudo service apache2 reload

sudo gedit /etc/hosts

.....

127.0.0.1 <АДРЕС_ПРОЕКТА>

Папки и файлы проекта

APP — все программные PHP-модули, хранящие код сайта.

BOOTSTRAP — модули с инициализационным кодом:

  • CACHE - инициализационные модули, сгенерированные фреймворком и предназначенные для ускорения загрузки библиотечных модулей;
  • app.php — основной инициализационный модуль. В частности, создает объект, представляющий Laravel-сайт.

CONFIG — все модули с рабочими настройками проекта.

DATABASE — служебные модули, имеющие отношение к базам данных:

  • FACTORIES — фабрики записей. Используются при автоматизированном тестировании;
  • MIGRATIONS — миграции;
  • SCHEMA — схемы баз данных;
  • SEEDERS — сидеры.

PUBLIC — корневая папка сайта. В нее можно поместить необходимые статические файлы (изображения, таблицы стилей, веб-сценарии и др.):

  • .htaccess — файл конфигурации веб-сервера Apache HTTP Server;
  • web.config — файл конфигурации веб-сервера Microsoft Internet Information services;
  • favicon.ico — значок сайта;
  • index.php — единая точка входа. Выполняется при получении любого клиентского запроса, создает объект, представляющий сайт (запуская для этого модуль bootstrap\app.php ), запускает обработку запроса, отправляет клиенту сгенерированный ответ и завершает работу сайта;
  • robots.txt — список исключений для поисковых служб.

RESOURCES — файлы с кодом сайта, написанные на языках, отличных от PHP:

  • JS — внешние веб-сценарии, подлежащие преобразованию посредством Laravel Mix;
  • LANG — языковые файлы, разнесенные по папкам, каждая из которых соответствует одному языку;
  • SASS — внешние таблицы стилей, написанные на языке SCSS и подлежащие преобразованию в CSS посредством Laravel Mix;/span>
  • VIEWS — шаблоны.

ROUTES — модули со списками маршрутов.

STORAGE — файлы, выгруженные на сайт посетителями (изображения, аудио, видео, архивы и др.) или созданные программно (например, аватары, сгенерированные на основе выгруженных посетителями изображений), и служебные файлы:

  • APP — файлы, выгруженные на сайт посетителями;
  • FRAMEWORK — служебные файлы, сгенерированные фреймворком;
  • LOGS — файлы журналов.

TESTS — тестовые модули.

VENDOR — сам фреймворк Laravel и его зависимости.

.editorconfig — настройки для текстовых редакторов.

.env — локальные настройки;.