Advertisement
  1. Code
  2. Laravel 5

Начало работы с Laravel

Scroll to top
Read Time: 9 min

Russian (Pусский) translation by Sergey Zhuk (you can also view the original English article)

Уже последние 10 лет я работаю с PHP и за это время проделал долгий путь. Начиная с ошибок всех новичков, когда ты не в состоянии найти точку с запятой, до попыток построить собственный фреймворк для создания сайтов (не повторяйте это), я наконец очутился перед чем-то по-настоящему стоящим, когда познакомился с объектно-ориентированным PHP.

Почти все CMS системы используют его, включая JoomlaDrupal и WordPress и конечно же большинство фреймворков, такие как CakePHP. Я встретил Laravel в раннем 2014 году и он сразу же поймал меня на крючок. Он не только использует ООП, а он требует его использования. Я должен признать, это был вызов, но я узнал так много нового благодаря ему, и мой код, который я пишу для других систем стал намного лучше!

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

Я хочу убедиться, что все смогут установить фреймворк, независимо от используемой платформы: Windows, Linux или Mac. Не беспокойтесь, вам потребуется выполнить это только один раз, и даже если вдруг потребуется снова, то это будет уже гораздо легче, чем в первый раз.

Что такое Laravel?

Laravel это PHP фреймворк, созданный Тейлором Отвелом как более продвинутая версия фреймворка CodeIgniter. Первая бета версия была выпущена в середине 2009 года. Сейчас, к июню 2015, Laravel уже имеет версию 5.1, которая является первой LTS (с длительной поддержкой) версией, что тем самым предоставляет возможность использовать Laravel для больших и масштабных проектов.

Laravel призван помочь вам работать в стандартизированной, элегантной и быстрой манере. Это достигается путем строгих принципов и систем сторонних производителей.

Стандартизация

Laravel иметь строгую Model-View-Controller (MVC) структуру и естественный способ работы с объектно-ориентированным кодом. Эти две особенности также заставляют разработчиков спользовать определенный стиль написания кода.

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

Элегантность

Элегантность Laravel происходит из основ ООП и образа мышления MVC, а так же методологии используемой внутри маршрутизации. Несколько простых характеристик движка в целом заставляют вас писать такой код, который внешне красиво выглядит, правильно организован и максимально сам себя документирует.

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

Более важно то, что все это переносится в предсказуемый и трестируемый код, который производит последовательные результаты каждый раз.

Скорость

Скорость, с которой можно построить приложение - удивительна. Если вы новичок в ООП, Composer и использовании терминала, то сначала все может показаться не очень очевидным, на как только вы во все вникните, вы будете удивлены открывшимися возможностями.

Laravel настроен для легкой работы со сторонними библиотеками через Composer, это означает что добавление в проект Facebook API или MailChimp API, логгеров, профайлеров и других разных инструментов займет у вас лишь несколько нажатий на клавиатуре.

Установка Laravel

Установить Laravel можно на большинство серверов, или же воспользоваться виртуальной машиной. Вот основные требования:

  • PHP >= 5.5.9
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension

Для запуска Laravel локально я использую Laravel Homestead. Homestead является боксом Vagrant, который доступен бесплатно. По ссылке выше можно перейти на подробные инструкции по установке, а я укажу здесь только основные шаги:

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

Хотя git и не является обязательным, но он облегчит вашу жизнь. Git - это система контроля версий, и множество людей используют его для своих проектов, располагая их на GitHub. Чтобы иметь возможность использовать его эффективно, нужна консольная команда git, которую мы установим ниже.

1. Установка Composer

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

Пользователи Linux и OSX сначала должны убедиться что существует директория /usr, и если нет, то создать ее. Затем выполняем следующую команду:

Пользователи Windows могут воспользоваться установщиком из Инструкции для начала работы. Если хотите иметь возможность выполнять команду composer из любого места, то следует добавить его в ваш path.

Вот инструкции для того, чтобы добавить папку в path.

2. Установка Git

К счастью git очень прост в установке, так что обратите внимание на Инструкцию по установке за более подробными сведениями.

На машинах Linux можно установить git следующей простой командой.

В OSX, наиболее простым способом добавить поддержку git является установка Xcode Command Line Tools, или перейти на страницу по установке git и скачать последнюю версию.

Пользователям Windows следует перейти на страницу скачивания Git и запустить установщик.

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

Первое, что потребуется это VirtualBox и Vagrant.  Оба они являются простыми установочными файлами, так что просто скачиваете их и устанавливаете.

4. Скачивание бокса

Бокс содержит в себе операционную системы и другое программное обеспечение, которое может потребоваться для запуска локального сервера с Laravel. Вы можете скачать box одной простой командной из терминала.

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

5. Установка Homestead CLI

Чтобы установить интерфейс командной строки для Homestead, нужно клонировать git репозиторий. Так как у нас теперь установлен git, то можно воспользоваться одной командой. Выполните следующее в папке, где вы собираетесь хранить все свои проекты Laravel.

Я работаю в OSX и у меня есть папка "websites" внутри домашней директории. Внутри этой папки у меня есть папка "wordpress", которая содержит проекты на WordPress, запускаемые с другого бокса Vagrant. Я выполняю команду выше в папке "websites". Она создает папку "Homestead", и теперь все мои проекты Laravel будут здесь.

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

Чтобы инициализировать Homestead, необходимо выполнить bash init.sh из директории Homestead, что создаст необходимые файлы в директории ~/.homestead.

6. Настройка Homestead

Первое что необходимо сделать - это создать SSH ключ и добавить путь к нему в файле Homestead.yaml. Создать SSH ключ на машине Linux или OSX воспользуйтесь следующей командой:

В Windows самой простой способ - это использовать инструмент Git Bash. Он похож на терминал или командную строку. Включите его, щелкнув правой кнопкой мыши по рабочему столу и нажав Git Bash.

Следующим шагом будет модификация файла ~/.homestead/Homestead.yaml. Теперь на самом деле осталось не так много, потому что все уже должно быть почти идеально установлено. Если вы его откроете, то должны увидеть:

  • Провайдер уже установлен в virtualbox, а это то что мы будем использовать.
  • Опция авторизации имеет значение ~/.ssh/id_rsa.pub, это место куда был сохранен наш SSH ключ. Взгляните на сообщения, которые были получены при генерации SSH ключа, там и будет указан путь к нему.
  • IP адрес установлен в 192.168.10.10. Вы можете поменять его по своему усмотрению, но мы останемся работать с этим.

В действительности же все, что мы поменяем это будет секция с сайтами и установка общей директории. Она итак будет сразу работать, но мы будем запускать несколько проектов, так что лучше заранее знать, как их добавлять. Создадим два сайта, блог и магазин, которые будут доступны по http://blog.dev и http://store.local соответственно.

Убедитесь что вы прописали ваши сайты следующим образом:

Последним шагом будет добавить домены в файл с хостами на вашем компьютере. В Linux и OS X, этот файл находится в /etc/hosts, а в Windows - C:\Windows\System32\drivers\etc\hosts. Нужно добавить эти две строчки:

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

7. Запуск бокса Vagrant

Это будет очень просто! Переходим в директорию Homestead и выполняем команду vagrant up. В первый раз это может занять некоторое время, но последующие запуски будут чрезвычайно быстрыми. При первом запуске операционная система устанавливается и настраивается, а все последующие - просто запускается.

Если вы все сделали правильно, то можете открыть в браузере http://store.local и получить сообщение “No input file specified”. Это нормально - это всего лишь означает, что директория пуста. Если вы перейдете в вашу директорию ~/websites/Homestead/Code и создадите папку store/public с файлом index.php  в ней, то его содержимое будет выведено. С этого момента вы можете приступить к созданию своего сайта!

Основы Homestead

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

Каждый раз когда вы останавливаете сервер с помощью команды vagrant halt или же выключаете компьютер, вам нужно будет воспользоваться командой vagrant up чтобы снова запустить сервер. Есть еще несколько вещей, которые вам следует знать, так что давайте обратим внимание на некоторые повседневные задачи.

Для более сложной конфигурации вам может понадобится SSH доступ к виртуальной машине. Вы можете сделать это, перейдя в Homestead директорию в вашем терминале и выполнив команду vagrant ssh. Вы получите доступ к виртуальной машине, и сможете сделать на ней все необходимое.

Подключиться к базе можно используя пользователя homestead и пароль secret. Если вы находитесь в терминале, то можете воспользоваться командой mysql -u homestead -p и введя свой пароль получить доступ к командой строке базы.

Если вы используете приложение на подобии Sequel Pro, то используйте хост 127.0.0.1, вашего пользователя и пароль, и 33060 в качестве порта.

Установка Laravel

Нашей первой задачей будет скачать установщик Laravel. Выполните следующую команду в терминале:

Теперь вы можете использовать команду laravel в командной строке для доступа к множеству функций Laravel. Если это не сработало, то нужно поместить директорию ~/.composer/vendor/bin в ваш path. Чтобы сделать это, откройте ваш ~/.bashrс или ~/.bash_profile файл - в зависимости от ваших настроек. В нем добавьте следующую строчку:

Чтобы задействовать изменения, наберите source ~/.bashrc, или закройте и откройте окно терминала и снова попробуйте набрать laravel. Если вы пользователь Windows, то для вас доступны следующие инструкции.

Помните папку store, которую мы настраивали, и которая содержит код нашего будущего магазина? Я вернулся, удалил эту папку и воспользовался терминалом, чтобы перейти в родительскую директорию ~/websites/Homestead/Code. В ней набрал laravel new store и эта команда создаст и настроит проект. Теперь перейдем на http://store.local и увидим это:

Laravel InstalledLaravel InstalledLaravel Installed

Следующие шаги

В следующих статьях о Laravel я покажу вам, как новичку начать писать сайты. Laravel строго построен на объектно-ориентированном PHP, поэтому я рекомендую вам взглянуть на прекрасную статью ООП для начинающих от Джейсона Ленгсторфа. Я постараюсь объяснить все что cмогу, но если вы ознакомитесь сначала с концепциями из этой статьи, то затем всё будет идти более гладко.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.