Laravel framework russian community

Строки

Функция преобразует строку в :

возвращает имя переданного класса без пространства имен:

Функция выполняет функцию PHP с опцией , равной :

Функция определяет заканчивается ли строка переданной подстрокой:

Функция преобразует строку в :

Функция преобразует строку в :

Функция ограничивает число сиволов в строке. Функция принимает строку первым аргументом, а вторым — максимальное число символов:

Функция определяет начинается ли строка с переданной подстроки:

Функция возвращает все, что содержится в строке после переданной подстроки:

Функция определяет содержит ли строка переданную подстроку:

Также вы можете передать массив значений, чтобы определить, содержит ли строка любое из них:

Функция добавляет одно вхождение подстроки в конец переданной строки, если она уже не заканчивается этим вхождением:

Функция определяет соответствует ли строка маске. Можно использовать звёздочки (*) как символы подстановки:

Функция преобразовывает слово-строку во множественное число. На данные момент функция поддерживает только английский язык:

Вы можете указать число вторым аргументом функции для получения единственного или множественного числа строки:

Функция создает последовательность случайных символов заданной длины. Эта функция использует PHP-функцию :

Функция преобразует слово-строку в единственное число. Функция поддерживает только английский язык:

Функция генерирует подходящую для URL «заготовку» из переданной строки:

Функция преобразует строку в :

The преобразует строку в :

Функция переводит переданную языковую строку с помощью ваших файлов локализации:

Функция переводит переданную языковую строку с изменениями:

Заготовки запросов (query scopes)

Глобальные заготовки

Глобальные заготовки позволяют добавить ограничения во все запросы для данной модели. Собственная функция Laravel использует глобальные заготовки, чтобы получать из базы данных только «неудалённые» модели. Написание собственных глобальных заготовок обеспечивает удобный и простой способ наложить определённые ограничения на каждый запрос для конкретной модели.

Написание глобальных заготовок

Писать глобальные заготовки просто. Определите класс, реализующий интерфейс . Этот интерфейс требует реализации одного метода: . Метод может добавить к запросу ограничение при необходимости:

Применение глобальных заготовок

Для назначения глобальной заготовки (скоупа) на модель вам надо переопределить метод данной модели и использовать метод :

После добавления заготовки запрос к будет создавать следующий SQL:

Анонимные глобальные заготовки

Также Eloquent позволяет определять глобальные заготовки с помощью замыканий, что особенно удобно для простых заготовок, которым не нужен отдельный класс:

Удаление глобальных заготовок

Если вы хотите удалить глобальную заготовку для данного запроса, то можете использовать метод . Этот метод принимает единственный аргумент — имя класса глобальной заготовки:

Если вы хотите удалить несколько или все глобальные заготовки, то можете использовать метод :

Локальные заготовки

Заготовки (скоупы) позволяют вам повторно использовать логику запросов в моделях. Например, если вам часто требуется получать пользователей, которые сейчас «популярны». Для создания заготовки просто начните имя метода с префикса .

Заготовки всегда должны возвращать экземпляр конструктора запросов:

Использование локальной заготовки

Когда заготовка определена, вы можете вызывать методы заготовки при запросах к модели. Но теперь вам не нужно использовать префикс . Вы можете даже сцеплять вызовы разных заготовок, например:

Динамические заготовки

Иногда вам может потребоваться определить заготовку, которая принимает параметры. Для этого просто добавьте эти параметры в заготовку. Они должны быть определены после параметра :

А затем передайте их при вызове метода заготовки:

Параметры маршрута

Обязательные параметры

Иногда бывает необходимым отслеживание сегментов URI в вашем маршруте. Например, вам может потребоваться отследить идентификатор пользователя из URL-адреса. Вы можете сделать это, указав параметры маршрута:

Вы можете определить столько параметров маршрута, сколько потребуется для вашего маршрута:

Параметры маршрута всегда заключаются в фигурные скобки и должны состоять из буквенных символов. Подчеркивание () также допускается в именах параметров маршрута. Параметры маршрута будут внедрены в замыкания маршрута / контроллеры в зависимости от их порядка, т.е. имена аргументов замыкания маршрута / контроллера не имеют значения.

Параметры и внедрение зависимости

Если у вашего маршрута есть зависимости, которые вы хотите, чтобы контейнер служб Laravel автоматически внедрил в замыкание вашего маршрута, то вы должны указать эти зависимости перед параметрами маршрута:

Необязательные параметры

Иногда может потребоваться указать параметр маршрута, который не всегда может присутствовать в URI. Вы можете сделать это, поставив знак после имени параметра. Не забудьте присвоить соответствующей переменной маршрута значение по умолчанию:

Ограничения регулярного выражения

Вы можете ограничить формат параметров вашего маршрута, используя метод экземпляра маршрута. Метод принимает имя параметра и регулярное выражение, определяющее, как параметр должен быть ограничен:

Для некоторых часто используемых шаблонов регулярных выражений есть соответствующие вспомогательные методы, позволяющие быстро добавлять их к вашим маршрутам:

Если входящий запрос не соответствует ограничениям шаблона маршрута, то будет возвращен HTTP-ответ.

Глобальные ограничения

Если вы хотите, чтобы параметр маршрута всегда ограничивался конкретным регулярным выражением, то вы можете использовать метод . Вы должны определить эти шаблоны в методе вашего класса :

Как только шаблон определен, он автоматически применяется ко всем маршрутам, использующим это имя параметра:

Кодирование обратных слешей

Компонент маршрутизации Laravel позволяет всем символам, кроме обратного слеша (), присутствовать в значениях параметров маршрута. Вы должны явно разрешить быть частью заполнителя , используя регулярное выражение условия :

October CMS

GitHub: https://github.com/octobercms/october

Это cамая популярная CMS на базе Laravel. Платформа имеет открытый код, функционал может расширяться при помощи обширного списка бесплатных модулей и плагинов.

Это полноценный, готовый продукт, имеющий свою документацию, плагины, темы, легкость в использовании и многое другое.

October CMS имеет удобную и симпатичную административную панель, которую можно кастомизировать под себя. Также в October CMS есть встроенный файловый менеджер, который позволяет работать с файлами и изображениями прямо в браузере.

Asgard CMS

GitHub: https://github.com/AsgardCms

Довольно новый (2015 года) проект, однако уже набирающий популярность. Asgard CMS больше рассчитана на разработчиков, чем на простых пользователей, так как даже установку необходимо производить через командную строку. Создатели Asgard CMS видят преимущества этого движка в том, что он:

а) прост в установке (занимает не более 5 минут);

б) многоязычный (в том числе и бэкенд);

в) модульный (каждая часть CMS представляет собой отдельный модуль)

и г) user-friendly, то есть дружелюбна к пользователям.

Установка и настройка

Установка VirtualBox и Vagrant

Перед запуском среды Homestead, вы должны установить VirtualBox и Vagrant. Оба этих программных продукта имеют легкие в использовании установщики для всех популярных операционных систем.

Добавление бокса в Vagrant

Как только VirtualBox и Vagrant будут установлены, вам следует добавить бокс в Vagrant, используя следующую команду в командной строке. Процесс скачки бокса займет какое-то время, в зависимости от скорости вашего интернет-соединения:

Установка Homestead

При помощи Composer и PHP

На машине должен быть установлен PHP и Composer

После того как бокс Homestead добавлен в Vagrant, при помощи композера установите глобально инструмент Homestead CLI:

Проверьте, чтобы папка ( в случае Windows) находилась у вас в PATH. Для проверки выполните в терминале команду .

После установки инструмента, создайте конфигурационный файл :

Файл будет создан в папке (или в случае Windows). Если вы используете Mac, Linux, или у вас в Windows стоит cygwin или msysgit (он ставится вместе с git), то вы можете редактировать его при помощи этой команды:

При помощи git

В этом варианте вы можете обойтись без установки PHP на локальную машину, вам понадобится только установленный Git+msysgit.

Склонируйте репозиторий с Homestead CLI в произвольную директорию:

Выполните команду:

Она создаст файл в папке (или в случае Windows)

SSH-ключи

Далее вам нужно отредактировать созданный . В этом файле вы можете указать путь к вашему публичному и приватному SSH-ключам, а также сконфигурировать совместно используемые локальной и виртуальной машиной папки.

Ни разу не использовали SSH ключи? Под Mac, Linux или Windows с установленным Git+msysgit вы можете создать пару ключей (приватный id_rsa и публичный id_rsa.pub), используя следующую команду:

В Windows в качестве альтернативы вы можете использовать PuTTYgen.

Укажите путь к публичному ключу в свойстве файла , а путь к приватному — в свойстве .

Настройте общие папки

В свойстве в файле перечислены все локальные папки, доступ к которым вы хотите предоставить в среде Homestead. Файлы в этих папках будут синхронизироваться между локальной и виртуальной машиной. Синхронизация будет двусторонней. Настроить можно столько папок, сколько необходимо.

Настройте веб-сервер

Еще не знакомы с Nginx? Никаких проблем. Свойство позволяет легко связать домен и папку в среде Homestead. В файле имеется пример настройки одного сервера. Опять же, вы можете добавить столько сайтов, сколько вам нужно. Homestead может служить удобной виртуальной средой для нескольких проектов на Laravel.

Если вы хотите, чтобы ваш сайт работал под управлением HHVM, установите параметр в :

Запуск Vagrant

После того как вы отредактировали файл , выполните в терминале команду из каталога с установленным Homestead.

Vagrant запустит виртуальную машину, настроит синхронизацию папок и сконфигурирует веб-сервер Nginx согласно вашему конфигу.

Чтобы уничтожить виртуальную машину, выполните команду .

Не забудьте добавить домены, которые вы будете использовать в Homestead, в файл . Файл будет перенаправлять ваши запросы к локальным доменам в среду Homestead. Под Mac и Linux это . В Windows — . Строки, добавляемые вами в этот файл, будут выглядеть примерно так:

где 192.168.10.10 — это ip-адрес, прописанный в

После того, как вы добавите домен в файл , вы получите доступ к сайту, развернутому в Homestead из вашего браузера.

Установка и настройка

Первые шаги

Прежде чем запустить среду Homestead, вы должны установить VirtualBox 5.1, VMWare или Parallels, а также Vagrant. Эти программные пакеты предоставляют простые в использовании визуальные инсталляторы для всех популярных операционных систем.

Для использования VMWare вам необходимо приобрести и VMware Fusion/Workstation, и плагин VMware Vagrant. Хотя он и платный, зато VMware изначально обеспечивает большую скорость работы общих папок.

Для использования провайдера Parallels вам необходимо установить плагин Parallels Vagrant. Он бесплатный.

Установка Homestead Vagrant Box

После установки VirtualBox / VMware и Vagrant вы должны добавить бокс в ваш Vagrant, используя следующую команду в вашем терминале. Скачивание образа может занять несколько минут в зависимости от скорости вашего Интернет-подключения:

Если выполнение команды завершится неудачно, проверьте, что у вас установлена свежая версия Vagrant.

Установка Homestead

Вы можете установить Homestead просто клонировав репозиторий. Клонируйте репозиторий в папку в директорию «home», потому что коробка Homestead станет хостом всех ваших Laravel-проектов:

Вы должны проверить меченную версию Homestead, так как ветка не всегда может быть стабильна. Самую свежую стабильную версию можно найти на странице релиза в GitHub:

После клонирования репозитория Homestead выполните в этой директории команду , чтобы создать конфиг . Файл будет помещен в директорию Homestead:

Настройка Homestead

Настройка провайдера

Параметр в вашем файле указывает на то, какой Vagrant-провайдер следует использовать: , , или . Вы можете задать тот, который предпочитаете:

Настройка общих папок

В свойстве файла перечислены все папки, которые вы хотите расшарить для вашей среды Homestead. Поскольку файлы в этих папках будут меняться, они будут синхронизироваться с вашей локальной машиной и средой Homestead. Вы можете настроить столько папок, сколько вам необходимо:

Для включения NFS просто добавьте простой ключ к вашей синхронизируемой папке:

Также вы можете передавать параметры, поддерживаемые синхронизируемыми папками Vagrant, указывая их под ключом :

Настройка сайтов Nginx

Не знакомы с Nginx? Не проблема. Параметр позволяет легко связать «домен» с папкой в среде Homestead. Типовая конфигурация сайта включена в файл . И снова, вы можете добавить столько сайтов к своей среде Homestead, сколько необходимо. Homestead может служить удобной виртуальной средой для каждого проекта Laravel, над которым вы работаете:

Если вы измените параметр после подключения Homestead-бокса, необходимо перезапустить , чтобы обновить конфигурацию Nginx на виртуальной машине.

Файл Hosts

Вы должны добавить «домены» для своих Nginx-сайтов в файл на вашей машине. Файл перенаправит запросы к вашим сайтам в вашу машину Homestead. На Mac и Linux этот файл расположен в . На Windows он расположен в . Строки, которые вы добавляете в этот файл, будут выглядеть примерно так:

Удостоверьтесь, что IP-адрес тот же, что вы установили в своём файле . Когда вы добавите домен в свой файл и запустите Vagrant-бокс, вы можете получить доступ к сайту через свой веб-браузер:

Запуск Vagrant Box

Когда вы отредактировали по собственному усмотрению, выполните команду в папке Homestead. Vagrant загрузит виртуальную машину и настроит ваши общие папки и сайты Nginx автоматически.

Чтобы уничтожить машину, вы можете использовать команду .

Установка для проекта

Вместо глобальной установки Homestead и использования одного Homestead-бокса для всех ваших проектов, вы можете настроить отдельный экземпляр Homestead для каждого проекта. Установка Homestead для проекта может быть выгоднее, когда вы хотите поставлять файл вместе с вашим проектом, позволяя тем, кто работает над проектом, просто выполнять .

Чтобы установить Homestead непосредственно в ваш проект, затребуйте его с помощью Composer:

Когда Homestead установлен, используйте команду для создания и файла в корне вашего проекта. Команда автоматически настроит директивы м в файле .

Mac / Linux:

Windows:

Затем выполните команду терминале и зайдите в свой проект по адресу через браузер. Не забывайте, что вам по-прежнему необходимо добавить строку для или любого другого выбранного вами домена в .

Если вы решили использовать MariaDB вместо MySQL, вы можете добавить параметр в свой файл . Этот параметр удалит MySQL и установит MariaDB. MariaDB является полноценной заменой для MySQL, поэтому вы должны использовать тот же драйвер БД в настройках базы данных приложения:

Установка и настройка

Установка Node

Перед запуском Mix необходимо убедиться, что на вашей машине установлены Node.js и NPM.

По умолчанию Laravel Homestead включает в себя всё необходимое. Однако, если вы не используете Vagrant, то вы можете легко установить последнюю версию Node и NPM, используя простые графические установщики с их страницы загрузки.

Laravel Mix

Послений оставшийся шаг — установить Laravel Mix. В свежей установке Laravel вы найдете файл в корне вашей структуры директорий. Файл по умолчанию включает все необходимое, чтобы начать. Подумайте об этом как о вашем файле , кроме того, что он определяет Node-зависимости вместо PHP. Вы можете установить зависимости, запустив:

Если вы занимаетесь разработкой на системе Windows или ваша VM работает на Windows-хосте, вам может потребоваться выполнить команду с ключом :

Работа с JavaScript

Mix предоставляет несколько функций для работы с JavaScript-файлами, например: компилирование ECMAScript 2015, бандлинг модулей, минификация и простая конкатенация простых JavaScript-файлов. Даже лучше: это все работает незаметно для пользователя, не требуя ни грамма пользовательской настройки:

Используя эту единственную строку кода теперь вы можете воспользоваться следующими плюсами:

  • Синтаксис ES2015.
  • Модули
  • Компиляция файлов .
  • Минификация для продакшна.

Извлечение библиотек поставщика

Одним из потенциальных недостатков бандлинга всего JavaScript приложения с вашими библиотеками поставщиков является то, что это затрудняет долгосрочное кэширование. Например, одно обновление вашего кода приложения заставит браузер повторно загружать все ваши библиотеки поставщиков, даже если они не изменились.

Если вы планируете часто обновлять JavaScript своего приложения, то вам следует рассмотреть вариант извлечение всех своих внешних библиотек в отдельный файл. Таким образом, изменение кода вашего приложения не повлияет на кеширование вашего большого файла . Метод в Mix делает эту задачу чрезвычайно простой:

Метод принимает массив всех библиотек или модулей, которые вы бы хотели извлечь в файл . Используя вышеуказанный сниппет в качестве примера, Mix сгенерирует следующие файлы:

  • : Webpack manifest runtime
  • : Ваши библиотеки поставщика
  • : Код вашего приложения

Убедитесь, что загрузили эти файлы в соответствующем порядке, чтобы избежать ошибок JavaScript:

React

Mix может автоматически установить Babel-плагины, необходимые для поддержки React. Для начала замените на :

Mix в фоновом режиме скачает и включит подходящие Babel-плагины .

Vanilla JS

Схоже с комбинирование таблиц стилей с , вы также можете скомбинировать и минифицировать любое количество файлов JavaScript при помощи метода :

Эта опция особенно полезна для прежних версий проектов, где вам не требовалась компиляция Webpack для вашего JavaScript.

Пользовательская настройка Webpack

Laravel Mix обращается к преднастроенному файлу . Время от времени вам может потребоваться вручную изменить этот файл. У вас, возможно, есть специальный лоадер или плагин, который нужно указывать, или может вы предпочитаете использовать Stylus вместо Sass. В таких случаях у вас будет два выбора:

Слияние пользовательской настройки

Mix предоставляет полезный метод , который позволит выполнить слияение любых коротких Webpack-переопределений. Это крайне привлекательный выбор, так как от вас не требуется копировать и поддерживать собственную копию файла . Метод принимает объект, который должен содержать любую специальную настройку Webpack, которую вы желаете применить.

Пользовательские файлы настроек

Скопируйте файл в корневую директорию вашего проекта, если вы бы хотели полностью изменить свою настройку Webpack. Затем укажите все ссылки в своем файле на этот скопированный конфиг. Если вы решите воспользоваться этим подходом, любые будущие upstream-обновления вашего Mix следует вручную склеивать с вашим измененным файлом.

Установка Laravel

Laravel использует Composer для управления зависимостями. Поэтому сначала установите Composer, а затем Laravel.

С помощью установщика Laravel

Сначала загрузите установщик Laravel с помощью Composer.

Не забудьте поместить каталог $HOME/.composer/vendor/bin (или его эквивалент в вашей ОС) в вашу переменную PATH, чтобы исполняемый файл laravel мог быть найден вашей системой.

После установки команда произведёт установку свежего Laravel в указанный каталог. Например, создаст каталог с именем blog, содержащий свежий Laravel со всеми установленными зависимостями:

С помощью создания проекта Composer

Вы также можете установить Laravel с помощью команды :

+
5.3 5.2

добавлено в

5.3

(28.01.2017)

5.2

(08.12.2016)

+
5.1

добавлено в

5.1

(01.04.2016)

+
5.0

добавлено в

5.0

(08.02.2016)

После установки необходимо обновить пакеты до последних версий. Сначала удалите файл {directory}/vendor/compiled.php, затем смените текущий каталог на {directory} и выполните команду .

Laravel устанавливается с готовыми преднастройками для регистрации и авторизации пользователей. Если хотите удалить их, используйте Artisan-команду :

+
5.3

добавлено в

5.3

(28.01.2017)

Локальный сервер для разработки

Если на вашей локальной машине установлен PHP, и вы хотите использовать встроенный в него сервер для разработки вашего приложения, вы можете использовать Artisan-команду . Эта команда запустит сервер на http://localhost:8000:

Конечно, больше возможностей для надёжной локальной разработки доступно в Homestead и Valet.

Настройка

+
5.3 5.2

добавлено в

5.3

(28.01.2017)

5.2

(08.12.2016)

Папка public

После установки Laravel необходимо настроить документ/веб корень вашего веб-сервера на папку public. Файл index.php в этой папке служит в качестве фронт-контроллера для всех HTTP-запросов, входящих в ваше приложение.

Файлы настроек

Все файлы настроек для фреймворка Laravel хранятся в папке config. Каждый параметр хорошо описан, поэтому вы можете просмотреть их, чтобы ознакомиться с доступными возможностями.

Права на папки

После установки Laravel вам может понадобиться настроить некоторые права. У вашего веб-сервера должны быть права на запись в папки внутри storage и bootstrap/cache (vendor для версии 5.0), иначе Laravel не запустится. Если вы используете виртуальную машину Homestead, то там эти права уже настроены.

Ключ приложения

Далее вам необходимо задать случайную строку в качестве ключа приложения. Если вы установили Laravel с помощью Composer, то этот ключ уже был задан для вас командой .

Обычно эта строка должна быть длиной 32 символа. Ключ может быть задан в файле среды .env. Если вы ещё не переименовали файл .env.example в .env, то вам надо сделать это сейчас. Если ключ приложения не задан, данные пользовательских сессий и другие шифрованные данные не будут защищены!

Дополнительные настройки

Laravel практически не требует других начальных настроек — вы можете сразу начинать разработку! Однако вам может пригодиться файл config/app.php и его документация. Он содержит несколько настроек вроде timezone и locale, которые вы можете изменить для вашего приложения.

Также вы можете настроить некоторые дополнительные компоненты Laravel, такие как:

После установки Laravel вам также надо .

Никогда не оставляйте параметр app.debug со значением true в продакшне.

+
5.3 5.1 5.0

добавлено в

5.3

(28.01.2017)

5.1

(19.06.2016)

5.0

(08.02.2016)

Настройка веб-сервера

Красивые URL

Apache

Laravel поставляется вместе с файлом public/.htaccess, который настроен для обработки URL без указания index.php. Если вы используете Apache в качестве веб-сервера, обязательно включите модуль mod_rewrite.

Если стандартный .htaccess не работает для вашего Apache, попробуйте следующий:

Nginx

При использовании Nginx следующая директива в настройках вашего сайта позволит перенаправлять все запросы в фронт-контроллер :

Само собой, при использовании Homestead или Valet красивые URL будут настроены автоматически.

Установка

Требования к серверу

Фреймворк Laravel предъявляет некоторые системные требования. Конечно же, виртуальная машина Laravel Homestead соответствует всем этим требованиям, поэтому настоятельно рекомендуется использовать Homestead в качестве основной локальной среды разработки с Laravel.

Однако, если вы не используете Homestead, вам необходимо убедиться, что ваш сервер соответствует следующим требованиям:

  • PHP >= 7.2.0
  • Расширение PHP BCMath
  • Расширение PHP Ctype
  • Расширение PHP Fileinfo
  • Расширение PHP JSON
  • Расширение PHP Mbstring
  • Расширение PHP OpenSSL
  • Расширение PHP PDO
  • Расширение PHP Mbstring
  • Расширение PHP Tokenizer
  • Расширение PHP XML

Установка Laravel

Laravel использует Composer для управления своими зависимостями, поэтому убедитесь в том, что Composer установлен на вашей машине.

С помощью установщика Laravel

Сначала скачайте установщик Laravel с помощью Composer:

Проверьте, чтобы директория composer’а находилась в переменной $PATH, что позволит вашей системе найти и выполнить команду . Эта директория располагается в разных местах в зависимости от вашей операционной системы, но обычно она находится тут:

  • macOS:
  • Windows:
  • Linux: или

Также вы можете определить директорию выполнив команду (смотрите первую строчку вывода).

После установки команда создаёт свежую установку Laravel в указанной вами директории. Например, создаст директорию с названием , которая будет содержать свежую установку Laravel со всеми зависимостями:

Локальный сервер разработки

Если локально у вас уже установлен PHP и вы хотели бы использовать встроенный сервер для работы вашего приложения, то вы можете использовать команду Artisan . Эта команда запустит сервер разработки по адресу :

Конечно же, Homestead и Valet предоставляют наиболее надежные способы локальной разработки.

Настройка

Общедоступная директория

После установки Laravel вам следует указать директорию в качестве корневой директории вашего веб-сервера. Файл в этой категории выступает в роли фронт-контроллера всех HTTP-запросов, поступающих в ваше приложение.

Файлы настройки

Все файлы настройки фреймворка Laravel расположены в директории . Параметры в каждом из них снабжены комментариями, поэтому не стесняйтесь пройтись по этим файлам и познакомиться с доступными параметрами настройки.

Права доступа на директории

Так же, после установки Laravel вам может потребоваться настройка некоторых прав доступа. Директории внутри и должны быть доступны для записи веб-сервером, в противном случае Laravel не запустится. Если вы используете виртуальную машину Homestead, то эти права доступа уже установлены.

Ключ приложения

Следующее, что вы должны сделать после установки Laravel, это создать ключ шифрования для вашего приложения в виде случайного набора символов. Если вы установили Laravel через Composer или установщик Laravel, то этот ключ уже был создан с помощью команды .

Как правило, это строка должна быть длиной в 32 символа. Ключ должен быть указан в параметре файла окружения . Если вы не переименовывали файл в , то следует сделать это сейчас. Если ключ приложения не создан, то сессии ваших пользователей и другие шифруемые данные не будут в безопасности!

Дополнительная настройка

Laravel практически не требует настройки из коробки. Вы сразу можете начать разработку! Однако, рекомендуем ознакомиться с файлом — он содержит в себе несколько параметров, таких как часовой пояс () и локаль (), которые вы можете изменить согласно потребностям вашего приложения.

Вы также можете настроить некоторые дополнительные компоненты Laravel, такие как:

Вставка и изменение моделей

Вставки

Для создания новой записи в БД просто создайте экземпляр модели, задайте атрибуты модели и вызовите метод :

В этом примере мы просто присвоили значение параметра из входящего HTTP-запроса атрибуту экземпляра модели . При вызове метода запись будет вставлена в таблицу. Отметки времени и будут автоматически установлены при вызове , поэтому их не нужно задавать вручную.

Изменения

Метод можно использовать и для изменения существующей модели в БД. Для изменения модели вам нужно получить её, изменить необходимые атрибуты и вызвать метод . Отметка времени будет установлена автоматически, поэтому не надо задавать её вручную:

Массовые изменения

Изменения можно выполнить для нескольких моделей, которые соответствуют указанному запросу. В этом примере все рейсы, которые отмечены как и местоназначение которых равно , будут отмечены как задержанные:

Метод ожидает массив пар столбец/значение, обозначающий, какие столбцы необходимо изменить.

Массовое назначение

Вы также можете использовать метод для создания и сохранения модели одной строкой. Метод вернёт добавленную модель. Однако перед этим вам нужно определить либо свойство , либо в классе модели, так как все модели Eloquent изначально защищены от массового заполнения.

Уязвимость массового заполнения проявляется, когда пользователь передаёт с помощью запроса неподходящий HTTP-параметр, и вы не ожидаете, что этот параметр изменит столбец в вашей БД. Например, злоумышленник может послать в HTTP-запросе параметр , который затем передаётся в метод вашей модели, позволяя пользователю повысить свои привилегии до администратора.

Поэтому, для начала надо определить, для каких атрибутов разрешить массовое назначение. Это делается с помощью свойства модели . Например, давайте разрешим массовое назначение атрибута name нашей модели :

Теперь мы можем использовать метод для вставки новой записи в БД. Метод возвращает сохранённый экземпляр модели:

Если у вас уже есть экземпляр модели, вы можете заполнить его массивом атрибутов с помощью метода :

Защитные атрибуты

В то время как параметр служит «белым списком» атрибутов, для которых разрешено массовое назначение. А параметр служит «чёрным списком». Параметр должен содержать массив атрибутов, для которых будет запрещено массовое назначение. Атрибутам, не вошедшим в этот массив, будет разрешено массовое назначение. Само собой, вы должны использовать только один из этих параметров. В данном примере всем атрибутам кроме разрешено массовое заполнение:

Чтобы разрешить массовое назначение всем атрибутам, определите свойство как пустой массив:

Другие методы создания

Есть ещё два метода, используемые для создания моделей с помощью массового заполнения: и . Метод пытается найти запись БД, используя указанные пары столбец/значение. Если модель не найдена в БД, запись будет вставлена в БД с указанными атрибутами.

Метод , как и , будет пытаться найти в БД запись, соответствующую указанным атрибутам. Однако если модель не найдена, будет возвращён новый экземпляр модели. Учтите, что эта модель ещё не помещена в БД. Вам надо вызвать метод вручную, чтобы сохранить её:

Ещё вы можете столкнуться с ситуациями, когда надо обновить существующую модель или создать новую, если её пока нет. Laravel предоставляет метод для выполнения этой задачи за один шаг. Подобно методу , метод сохраняет модель, поэтому не надо вызывать метод :

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Вековой опыт
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector