Проекты на Laravel создаются из командной строки. Проще всего создать новый проект с помощью команды composer create-project:
# Перейдите в домашнюю директорию и выполните команду
composer create-project --prefer-dist laravel/laravel hexlet-laravel-blog
Эта команда создаст приложение в директории hexlet-laravel-blog и установит все зависимости, необходимые для работы Laravel.
После завершения установки, перейдите в директорию с проектом:
cd hexlet-laravel-blog
Проверьте версию текущей установки Laravel выполнив команду в директории проекта:
# Версия должна быть не ниже 8
php artisan --version
Laravel Framework 8.0
Laravel управляется утилитой artisan, которая находится в корне проекта. Она включает в себя десятки команд, упрощающих процесс разработки. Одна из них – это запуск сайта в режиме разработки:
php artisan serve
Laravel development server started: <http://127.0.0.1:8000>
Эта команда запускает встроенный в PHP веб-сервер и настраивает его для работы с Laravel. Чтобы увидеть сайт, откройте браузер и загрузите http://127.0.0.1:8000. Вы увидите приветственную страницу фреймворка:
Для остановки сервера переключитесь на терминал в котором он запущен и наберите CTRL+C.
Эта страница нужна только для проверки того, что все работает. Ее код можно будет смело удалить.
Artisan
Утилита artisan является центральным пультом управления фреймворка. Через artisan мы будем автоматически генерировать код, управлять базой данных, запускать сервер, консоль и многое другое. Чтобы увидеть список всех команд, запустите artisan без аргументов:
php artisan
Этот список команд может расширяться как нами, так и разработчиками расширений. На GitHub можно найти множество полезных дополнений на все случаи жизни.
В последующих уроках мы постоянно будем возвращаться к этой утилите и изучать ее возможности. А пока мы с ними не знакомы, попробуйте поиграться с командой inspire:
php artisan inspire
Computer science is no more about computers than astronomy is about telescopes. - Edsger Dijkstra
php artisan inspire
Simplicity is an acquired taste. - Katharine Gerould
Структура директорий
Современные фреймворки предназначены для разработки сайтов любых размеров. С одной стороны это хорошо, больше возможностей, но с другой, очень легко потеряться в круговороте фич, особенно если это ваш первый фреймворк. Помимо большого числа понятий самого Laravel, внутри него встроена поддержка фронтенда (JS, фронтенд-фреймворки), работа со статикой (JS, CSS, медиаресурсы), разные виды кеширования, работа с очередями, тестирование, логирование и многое другое.
Это не значит что придется использовать сразу все, но иметь общее представление об этих возможностях нужно. Хотя бы на уровне понимания структуры директорий. Ниже приведена таблица директорий с описанием их содержимого. В этом описании будут встречаться названия, с которыми вы, возможно, не знакомы. Позже мы их разберем.
Директория | Описание |
---|---|
app | Код приложения. Именно здесь будет расположена большая часть того, что пишется разработчиками. |
bootstrap | Содержит файл app.php, который инициализирует фреймворк. Кроме того, здесь располагается кеш кода, ускоряющий запуск сайта. |
config | Конфигурация приложения. Параметры доступа к базе данных, настройка отправки почты, логирования, кеширования, все это происходит здесь |
database | Ресурсы, необходимые для работы с базой данных: миграции, фабрики, сиды. |
public | Содержит файл index.php, который является входной точкой на сайт. Именно в него попадают все запросы. Еще здесь содержатся подготовленные к раздаче статические файлы: JS, CSS и картинки |
resources | Содержит шаблоны и исходные фронтенд-файлы, такие как SCSS, JavaScript |
routes | Маршрутизация приложения |
storage | Служебная директория, содержит сессионные файлы, логи, файловые кеши, откомпилированные шаблоны (для ускорения) |
tests | Тесты приложения |
vendor | Сюда Composer ставит зависимости |
Самостоятельная работа
- Повторите все из теории урока на своем компьютере
- Создайте на GitHub-репозиторий hexlet-laravel-blog
- Залейте туда проект
Дополнительные материалы
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.