Статьи

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

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

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

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

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

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

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

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

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

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

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

Что еще более важно, все это приводит к предсказуемому и тестируемому коду, который каждый раз дает согласованные, легко предсказуемые результаты.

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

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

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

  • PHP> = 5.5.9
  • Расширение OpenSSL PHP
  • PDO PHP расширение
  • Расширение Mbstring PHP
  • Расширение Tokenizer PHP

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

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

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

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

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

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

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

Чтобы разместить папку на своем пути, просто следуйте этим инструкциям WindowsITPro.

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

В Linux вы, скорее всего, сможете установить его с помощью следующей простой команды.

sudo yum install git-all

В OSX самый простой способ получить поддержку git — это установить инструменты командной строки Xcode или перейти на страницу загрузки Git и получить последнюю версию.

Для Windows зайдите на страницу загрузки Git и запустите последнюю версию установщика.

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

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

vagrant box add laravel/homestead

Загрузка коробки может занять некоторое время, так что не стесняйтесь взять кофе в этот момент.

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

git clone https://github.com/laravel/homestead.git Homestead

Я работаю на OSX, и у меня есть папка в главной домашней папке пользователя, называемая «веб-сайты». В этой папке у меня есть папка «wordpress», которая содержит проекты WordPress, которые запускаются из другого окна Vagrant. Я запустил команду выше из папки «вебсайты». Это создало папку «Усадьба» там, и все мои проекты Laravel будут размещены внутри.

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

git clone -b php-7 https://github.com/laravel/homestead.git Homestead

Чтобы инициализировать Homestead, запустите bash init.sh из папки Homestead, которая создаст соответствующие файлы в каталоге ~/.homestead вашего домашнего каталога.

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

ssh-keygen -t rsa -C "yourname@homestead"

В 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 соответственно.

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

sites: - map: store.local to: /home/vagrant/Code/store/public - map: blog.dev to: /home/vagrant/Code/blog/public

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

192.168.10.10 store.local 192.168.19.10 blog.dev

Наконец, чтобы установить папки (ы), совместно используемые виртуальной машиной и вашей локальной машиной, просмотрите раздел папок. Я настроил это так:

folders: - map: ~/websites/Homestead/Code to: /home/vagrant/Code

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

Если вы все сделали правильно, вы сможете посетить http://store.local и получить сообщение «Входной файл не указан». Это хорошо — это просто означает, что наша папка пуста. Если вы перейдете в папку ~/websites/Homestead/Code и создадите папку store/public и index.php в ней с некоторым содержимым, она будет отображаться очень хорошо. На этом этапе вы можете начать создавать свой сайт там!

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

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

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

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

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

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

composer global require "laravel/installer"

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

echo 'export PATH="$PATH:~/.composer/vendor/bin"' >> ~/.bashrc

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

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

Laravel Установлен

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