- Laravel Framework Russian Community
- Prologue
- Getting Started
- Architecture Concepts
- The Basics
- Frontend
- Security
- Digging Deeper
- Database
- Eloquent ORM
- Testing
- Official Packages
- Installation
- Installation
- Server Requirements
- Installing Laravel
- Via Laravel Installer
- Via Composer Create-Project
- Local Development Server
- Configuration
- Public Directory
- Configuration Files
- Directory Permissions
- Application Key
- Additional Configuration
- Web Server Configuration
- Directory Configuration
- Pretty URLs
- Apache
- Nginx
- Laravel Framework Russian Community
- Установка Composer
- Установка Laravel
- При помощи установщика Laravel
- При помощи Composer
- Загрузка архива
- Требования к серверу
- Настройка
- Права доступа
- Красивые URL
- Apache
- Nginx
- Laravel 8 · Установка
- Встречайте Laravel
- Почему именно Laravel?
- Прогрессивный фреймворк
- Масштабируемый фреймворк
- Фреймворк сообщества
- Ваш первый проект на Laravel
- Начало работы в macOS
- Начало работы в Windows
- Разработка в подсистеме WSL2
- Начало работы в Linux
- Выбор служб Sail
- Установка через Composer
- Установщик Laravel
- Начальная конфигурация
- Конфигурация на основе окружения
- Конфигурация каталога
- Следующие шаги
- Laravel как клиент-серверный фреймворк
- Laravel в качестве сервера API
Laravel Framework Russian Community
Prologue
Getting Started
Architecture Concepts
The Basics
Frontend
Security
Digging Deeper
Database
Eloquent ORM
Testing
Official Packages
Installation
Installation
Server Requirements
The Laravel framework has a few system requirements. All of these requirements are satisfied by the Laravel Homestead virtual machine, so it’s highly recommended that you use Homestead as your local Laravel development environment.
However, if you are not using Homestead, you will need to make sure your server meets the following requirements:
- PHP >= 7.2.5
- BCMath PHP Extension
- Ctype PHP Extension
- Fileinfo PHP extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
Installing Laravel
Laravel utilizes Composer to manage its dependencies. So, before using Laravel, make sure you have Composer installed on your machine.
Via Laravel Installer
First, download the Laravel installer using Composer:
Make sure to place Composer’s system-wide vendor bin directory in your $PATH so the laravel executable can be located by your system. This directory exists in different locations based on your operating system; however, some common locations include:
- macOS: $HOME/.composer/vendor/bin
- Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin
- GNU / Linux Distributions: $HOME/.config/composer/vendor/bin or $HOME/.composer/vendor/bin
You could also find the composer’s global installation path by running composer global about and looking up from the first line.
Once installed, the laravel new command will create a fresh Laravel installation in the directory you specify. For instance, laravel new blog will create a directory named blog containing a fresh Laravel installation with all of Laravel’s dependencies already installed:
Via Composer Create-Project
Alternatively, you may also install Laravel by issuing the Composer create-project command in your terminal:
Local Development Server
If you have PHP installed locally and you would like to use PHP’s built-in development server to serve your application, you may use the serve Artisan command. This command will start a development server at http://localhost:8000 :
More robust local development options are available via Homestead and Valet.
Configuration
Public Directory
After installing Laravel, you should configure your web server’s document / web root to be the public directory. The index.php in this directory serves as the front controller for all HTTP requests entering your application.
Configuration Files
All of the configuration files for the Laravel framework are stored in the config directory. Each option is documented, so feel free to look through the files and get familiar with the options available to you.
Directory Permissions
After installing Laravel, you may need to configure some permissions. Directories within the storage and the bootstrap/cache directories should be writable by your web server or Laravel will not run. If you are using the Homestead virtual machine, these permissions should already be set.
Application Key
The next thing you should do after installing Laravel is set your application key to a random string. If you installed Laravel via Composer or the Laravel installer, this key has already been set for you by the php artisan key:generate command.
Typically, this string should be 32 characters long. The key can be set in the .env environment file. If you have not copied the .env.example file to a new file named .env , you should do that now. If the application key is not set, your user sessions and other encrypted data will not be secure!
Additional Configuration
Laravel needs almost no other configuration out of the box. You are free to get started developing! However, you may wish to review the config/app.php file and its documentation. It contains several options such as timezone and locale that you may wish to change according to your application.
You may also want to configure a few additional components of Laravel, such as:
Web Server Configuration
Directory Configuration
Laravel should always be served out of the root of the «web directory» configured for your web server. You should not attempt to serve a Laravel application out of a subdirectory of the «web directory». Attempting to do so could expose sensitive files present within your application.
Pretty URLs
Apache
Laravel includes a public/.htaccess file that is used to provide URLs without the index.php front controller in the path. Before serving Laravel with Apache, be sure to enable the mod_rewrite module so the .htaccess file will be honored by the server.
If the .htaccess file that ships with Laravel does not work with your Apache installation, try this alternative:
Nginx
If you are using Nginx, the following directive in your site configuration will direct all requests to the index.php front controller:
When using Homestead or Valet, pretty URLs will be automatically configured.
Источник
Laravel Framework Russian Community
Установка Composer
Laravel использует Composer для управления зависимостями. Для начала скачайте файл composer.phar . Дальше вы можете либо оставить этот Phar-архив в своей локальной папке с проектом, либо переместить его в usr/local/bin , чтобы использовать его в рамках всей системы. Для Windows вы можете использовать официальный установщик.
Установка Laravel
При помощи установщика Laravel
Загрузите установщик Laravel при помощи Composer:
/.composer/vendor/bin ( C:\Users\username\AppData\Roaming\Composer\vendor\bin если у вас Windows) добавлена в переменную окружения операционной системы PATH.
Теперь, к примеру, если вы исполните в терминале команду laravel new blog , будет создана папка blog , в которую будет загружен фреймворк с уже подтянутыми зависимостями composer. Этот способ установки Laravel наиболее быстрый, особенно на Windows, где Composer работает довольно медленно.
При помощи Composer
Вы можете установить Laravel с помощью команды create-project :
Загрузка архива
Cкачайте последнюю версию фреймворка и извлеките архив в папку на вашем сервере. Далее скачайте Composer в эту же папку и выполните в этой папке php composer.phar install (или composer install , если composer у вас уже установлен в системе глобально) для установки всех зависимостей библиотеки. Этот процесс также требует, чтобы у вас был установлен Git.
Если вы хотите обновить Laravel выполните команду php composer.phar update .
Требования к серверу
У Laravel всего несколько требований к вашему серверу:
Настройка
Первое, что вы должны сделать после установки Laravel — установить ключ шифрования сессий и кук. Это строка из 32 символов, находится в app/config/app.php , параметр ‘key’ . Если вы устанавливали Laravel при помощи Composer, то ключ уже сгенерен, так как инсталлятор в конце процесса запускает команду php artisan key:generate . Вы также можете дать эту команду в терминале вручную. Если ключ шифрования отсутствует в конфиге, ваши сессии, куки и т.п. не будут зашифрованы надежным образом.
Laravel практически не требует другой начальной настройки — вы можете сразу начинать разработку. Однако может быть полезным изучить файл app/config/app.php — он содержит несколько настроек вроде timezone и locale , которые вам может потребоваться изменить в соответствии с нуждами вашего приложения.
ВЫ можете также о определить среду выполнения и отредактировать конфиг-файлы фреймворка — например, разрешить отображение ошибок для вашей среды выполнения (параметр debug в конфиге app.php).
Примечание: Никогда не устанавливайте app.debug в true на производственном (продакшн) окружении.
Права доступа
Laravel требует, чтобы у сервера были права на запись в папку app/storage .
Некоторые системные пути Laravel — настраиваемые; для этого обратитесь к файлу bootstrap/paths.php .
Примечание: Laravel спроектирован так, чтобы защитить код вашего приложения и локальное хранилище — для этого общедоступные файлы помещаются в папку public . Подразумевается, что эта папка является корневой папкой вашего сайта (DocumentRoot в Apache).
Красивые URL
Apache
Laravel поставляется вместе с файлом public/.htaccess , который настроен для обработки URL без указания index.php . Если вы используете Apache в качестве веб-сервера обязательно включите модуль mod_rewrite .
Если стандартный .htaccess не работает для вашего Apache, попробуйте следующий:
Nginx
Если вы используете в качествет веб-сервера Nginx, то используйте для ЧПУ следующую конструкцию:
Источник
Laravel 8 · Установка
Встречайте Laravel
Laravel – фреймворк веб-приложения с выразительным, элегантным синтаксисом. Веб-фреймворк предлагает структуру и отправную точку для создания вашего приложения, позволяя вам сосредоточиться на создании чего-то удивительного, но пока мы не будем вдаваться в детали.
Laravel стремится обеспечить потрясающий опыт разработчика, предоставляя при этом мощный функционал: тщательное внедрение зависимостей, выразительный уровень абстракции базы данных, очереди и запланированные задачи, модульное и интеграционное тестирование и многое другое.
Независимо от того, новичок ли вы в PHP, веб-фреймворках или имеете многолетний опыт, Laravel – это фреймворк, который может расти вместе с вами. Мы поможем вам сделать первые шаги в качестве веб-разработчика или подскажем, как вы поднимите свой опыт на новый уровень. Нам не терпится увидеть, что вы построите.
Почему именно Laravel?
При создании веб-приложения вам доступны различные инструменты и фреймворки. Однако мы считаем, что Laravel – лучший выбор для создания современных полнофункциональных веб-приложений.
Прогрессивный фреймворк
Нам нравится называть Laravel «прогрессивным» фреймворком. Под этим мы подразумеваем, что Laravel растет вместе с вами. Если вы только делаете первые шаги в веб-разработке, обширная библиотека документации, руководств и видеоуроков Laravel поможет вам изучить основы, не перегружая себя.
Если вы старший разработчик, Laravel предлагает вам надежные инструменты для внедрения зависимостей, модульного тестирования, создания очередей, событий в реальном времени и многое другое. Laravel оптимизирован для создания профессиональных веб-приложений и готов обрабатывать корпоративные рабочие нагрузки.
Масштабируемый фреймворк
Laravel невероятно масштабируем. Благодаря удобному для масштабирования характеру PHP и встроенной поддержке быстрых распределенных систем кеширования, таких как Redis, горизонтальное масштабирование с Laravel очень просто. Фактически, приложения Laravel легко масштабируются для обработки сотен миллионов запросов в месяц.
Требуется экстремальное масштабирование? Такие платформы, как Laravel Vapor, позволяют запускать приложение Laravel в практически неограниченном масштабе с использованием новейшей бессерверной технологии AWS.
Фреймворк сообщества
Laravel объединяет лучшие пакеты в экосистеме PHP, чтобы предложить наиболее надежный и удобный для разработчиков фреймворк. Кроме того, тысячи талантливых разработчиков со всего мира внесли свой вклад в фреймворк. Кто знает, возможно, вы даже станете соучастником Laravel.
Ваш первый проект на Laravel
Мы хотим, чтобы начать работу с Laravel было как можно проще. Существует множество вариантов разработки и запуска проекта Laravel на вашем собственном компьютере. Хотя вы, возможно, захотите изучить эти варианты позже, но Laravel предлагает Sail – встроенное решение для запуска вашего проекта Laravel с помощью Docker.
Docker – это инструмент для запуска приложений и служб в небольших, легких «контейнерах», которые не мешают установленному на вашем локальном компьютере программному обеспечению или его конфигурации. Это означает, что вам не нужно беспокоиться о конфигурировании или настройке сложных инструментов разработки, таких как веб-серверы и базы данных на вашем персональном компьютере. Для начала вам нужно всего лишь установить Docker Desktop.
Laravel Sail – это легкий интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel. Sail обеспечивает отличную отправную точку для создания приложения Laravel с использованием PHP, MySQL и Redis без предварительного опыта работы с Docker.
Уже знакомы с Docker? Не волнуйтесь! В Sail все можно перенастроить с помощью файла docker-compose.yml , входящего в Laravel.
Начало работы в macOS
Если вы разрабатываете на Mac и Docker Desktop уже установлен, то вы можете использовать простую команду терминала для создания нового проекта Laravel. Например, чтобы создать новое приложение Laravel в каталоге с именем example-app , вы можете запустить следующую команду в своем терминале:
Конечно, вы можете изменить example-app в этом URL на что угодно. Каталог приложения Laravel будет создан в каталоге, из которого вы выполняете команду.
После создания проекта вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предлагает простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel:
При первом запуске команды up Sail на вашем компьютере будут созданы контейнеры приложений Sail. Это может занять несколько минут. Не волнуйтесь, последующие попытки запустить Sail будут намного быстрее.
После запуска контейнеров приложения Docker, вы можете получить доступ к приложению в своем веб-браузере по адресу: http://localhost.
Чтобы продолжить изучение Laravel Sail, просмотрите его полную документацию.
Начало работы в Windows
Прежде чем мы создадим новое приложение Laravel на вашем компьютере с Windows, обязательно установите Docker Desktop. Затем вы должны убедиться, что подсистема Windows для Linux 2 (WSL2) установлена и включена. WSL позволяет запускать двоичные исполняемые файлы Linux прямо в Windows 10. Информацию о том, как установить и включить WSL2, можно найти в документации Среда разработки.
После установки и включения WSL2 вы должны убедиться, что Docker Desktop настроен на использование серверной части WSL2.
Теперь вы готовы создать свой первый проект Laravel. Запустите Терминал Windows и начните новый сеанс терминала для вашей операционной системы WSL2 Linux. Затем вы можете использовать простую команду терминала для создания нового проекта Laravel. Например, чтобы создать новое приложение Laravel в каталоге с именем example-app , вы можете запустить следующую команду в своем терминале:
Конечно, вы можете изменить example-app в этом URL на что угодно. Каталог приложения Laravel будет создан в каталоге, из которого вы выполняете команду.
После создания проекта вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предлагает простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel:
При первом запуске команды up Sail на вашем компьютере будут созданы контейнеры приложений Sail. Это может занять несколько минут. Не волнуйтесь, последующие попытки запустить Sail будут намного быстрее.
После запуска контейнеров приложения Docker, вы можете получить доступ к приложению в своем веб-браузере по адресу: http://localhost.
Чтобы продолжить изучение Laravel Sail, просмотрите его полную документацию.
Разработка в подсистеме WSL2
Конечно, вам нужно будет иметь возможность изменять файлы приложения Laravel, которые были созданы в вашей установке WSL2. Для этого мы рекомендуем использовать редактор Microsoft Visual Studio Code и его собственное расширение Remote Development.
После установки этих инструментов вы можете открыть любой проект Laravel, выполнив из корневого каталога вашего приложения команду code . с помощью Терминала Windows.
Начало работы в Linux
Если вы разрабатываете в Linux и Docker Desktop уже установлен, то вы можете использовать простую команду терминала для создания нового проекта Laravel. Например, чтобы создать новое приложение Laravel в каталоге с именем example-app , вы можете запустить следующую команду в своем терминале:
Конечно, вы можете изменить example-app в этом URL на что угодно. Каталог приложения Laravel будет создан в каталоге, из которого вы выполняете команду.
После создания проекта вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предлагает простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel:
При первом запуске команды up Sail на вашем компьютере будут созданы контейнеры приложений Sail. Это может занять несколько минут. Не волнуйтесь, последующие попытки запустить Sail будут намного быстрее.
После запуска контейнеров приложения Docker, вы можете получить доступ к приложению в своем веб-браузере по адресу: http://localhost.
Чтобы продолжить изучение Laravel Sail, просмотрите его полную документацию.
Выбор служб Sail
При создании нового приложения Laravel через Sail вы можете использовать строковую переменную запроса with , чтобы выбрать, какие службы должны быть настроены в файле docker-compose.yml вашего нового приложения. Доступны следующие службы mysql , pgsql , redis , memcached , meilisearch , selenium и mailhog :
Если вы не укажете желаемые службы, то будет сконфигурирован стек по умолчанию из mysql , redis , meilisearch , mailhog и selenium .
Установка через Composer
Если на вашем компьютере уже установлены PHP и Composer, то вы можете создать новый проект Laravel напрямую с помощью Composer. После того, как приложение было создано, вы можете запустить локальный сервер разработки Laravel с помощью команды serve Artisan CLI:
Установщик Laravel
В качестве альтернативы, вы можете использовать установщик Laravel, включив его в глобальную зависимость Composer:
Чтобы исполняемый файл laravel мог быть обнаружен вашей системой, удостоверьтесь в правильном расположении каталога bin менеджера пакетов Composer, задаваемый системной переменной $PATH . Расположение каталога зависит от вашей операционной системы, но типичными могут быть:
- macOS: $HOME/.composer/vendor/bin
- Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin
- GNU / Linux Distributions: $HOME/.config/composer/vendor/bin или $HOME/.composer/vendor/bin
Для удобства установщик Laravel также может создать репозиторий Git для вашего нового проекта. Чтобы указать, что вы хотите создать репозиторий Git, передайте флаг —git при создании нового проекта:
Эта команда инициализирует новый репозиторий Git для вашего проекта и автоматически зафиксирует базовый каркас Laravel. Флаг —git предполагает, что вы правильно установили и настроили Git. Можно также использовать параметр —branch , чтобы задать имя ответвления:
Вместо использования флага —git вы можете использовать параметр —github , чтобы создать репозиторий Git и, соответствующий ему, частный репозиторий на GitHub:
Созданный репозиторий будет доступен по адресу https://github.com/ /example-app . Параметр —github предполагает, что вы правильно установили GitHub CLI и прошли аутентификацию с помощью интерфейса командной строки. Кроме того, у вас должен быть установлен и правильно настроен git . При необходимости вы можете передать дополнительные параметры и флаги, поддерживаемые GitHub CLI:
Можно использовать параметр —organization для создания репозитория под определенной организацией GitHub:
Начальная конфигурация
Все файлы конфигурации для фреймворка Laravel хранятся в каталоге config . Каждый параметр имеет комментарии, поэтому не стесняйтесь просматривать файлы и знакомиться с доступными вам вариантами.
Laravel практически не требует дополнительной настройки из коробки. Вы можете начать разработку! Однако вы можете просмотреть файл config/app.php и его комментарии. Он содержит несколько параметров, таких как часовой пояс и локаль, которые вы можете изменить в соответствии с вашим приложением.
Конфигурация на основе окружения
Поскольку многие значения параметров конфигурации Laravel могут различаться в зависимости от того, работает ли ваше приложение на локальном компьютере или на эксплуатационном веб-сервере, многие важные значения конфигурации определяются с помощью файла .env , существующий в корне вашего приложения.
Ваш файл .env не должен быть привязан к системе контроля версий вашего приложения, поскольку каждому разработчику / серверу, использующему ваше приложение, может потребоваться другая конфигурация окружения. Более того, это будет угрозой безопасности в случае, если злоумышленник получит доступ к вашему репозиторию системы управления версиями, поскольку любые конфиденциальные учетные данные будут раскрыты.
Для получения дополнительной информации о конфигурации на основе файла .env и окружения ознакомьтесь с полной документацией по конфигурации.
Конфигурация каталога
Laravel всегда должен обслуживаться из корня «веб-каталога», настроенного для вашего веб-сервера. Вы не должны пытаться обслуживать приложение Laravel из поддиректории относительно «веб-каталога». Такая попытка может открыть доступ к конфиденциальным файлам, существующим в вашем приложении.
Следующие шаги
Теперь, когда вы создали свой проект Laravel, вам может быть интересно, чему научиться дальше. Во-первых, мы настоятельно рекомендуем ознакомиться с тем, как работает Laravel, прочитав следующие разделы документации:
То, как вы хотите использовать Laravel, также будет определять следующие шаги на вашем пути. Существует множество способов использования Laravel, и мы рассмотрим два основных варианта использования фреймворка ниже.
Laravel как клиент-серверный фреймворк
Laravel может служить клиент-серверным фреймворком. Под «клиент-серверным фреймворком» мы подразумеваем, что вы собираетесь использовать Laravel для маршрутизации запросов к вашему приложению и отрисовки интерфейса через шаблоны Blade или с использованием гибридной технологии одностраничного приложения, такой как Inertia.js. Это наиболее распространенный способ использования фреймворка Laravel.
Если вы планируете использовать Laravel именно таким образом, вы можете ознакомиться с нашей документацией по маршрутизации, представлениям или Eloquent ORM. Кроме того, вам может быть интересно узнать о таких пакетах сообщества, как Livewire и Inertia.js. Эти пакеты позволяют использовать Laravel в качестве фреймворка полного стека, при этом пользуясь многими преимуществами UI, предоставляемыми одностраничными JavaScript-приложениями.
Если вы используете Laravel в качестве фреймворка полного стека, мы также настоятельно рекомендуем вам научиться компилировать CSS и JavaScript вашего приложения с помощью Laravel Mix.
Если вы хотите получить преимущество перед созданием своего приложения, ознакомьтесь с одним из наших официальных стартовых комплектов приложений.
Laravel в качестве сервера API
Laravel также может служить серверной частью API для одностраничного JavaScript-приложения или мобильного приложения. Например, вы можете использовать Laravel в качестве серверной части API для своего Next.js приложения. В этом контексте вы можете использовать Laravel для обеспечения аутентификации и хранения / получения данных для вашего приложения, а также пользуясь преимуществами мощных служб Laravel, таких как очереди, электронная почта, уведомления и многое другое.
Если вы планируете использовать Laravel именно так, то вы можете ознакомиться с нашей документацией по маршрутизации, пакету Laravel Sanctum и Eloquent ORM.
Источник