Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 21.06.2017 20:23:12

Вопрос по локальной разработке

Доброго времени суток!
На протяжении всего времени, что имею дело с веб, поднимал на локальной машине веб-сервер и все остальное. С некоторых пор знаю (ну, читал), что так поступать не комильфо (вроде бы), а тут как раз случай удобный - Linux переустанавливаю. Вот и склоняюсь в сторону Homestead.
Вопрос - стоит ли?
Может, что альтернативное кто посоветует?

Не в сети

#2 21.06.2017 21:03:16

Re: Вопрос по локальной разработке

  1. С некоторых пор знаю (ну, читал), что так поступать не комильфо (вроде бы), а тут как раз случай удобный — Linux переустанавливаю.

О! Всё, пакуем чемоданы, я 15 лет оказывается всё делал неправильно :D

В статье хоть были какие-то аргументы или просто заразился «модой на Docker»?

Лично я не использую VM для серверов. VM отлично подходят если нужны именно разные ОС (например, у меня стоит Win XP/7/10 и несколько *nix, плюс периодически создаю 2-3 копии этих систем). Но весь стёк доступен как на Windows, так и на Linux — если веб-разработка для тебя основная деятельность, то nginx/Apache/PHP/MySQL и всё это — твои каждодневные инструменты. Стал бы ты выносить IDE в VM? Нет, так и зачем эти выносить?

Если дело в стандартизации, типа у каждой команды своя настройка среды — это тема для холивара. ИМХО, лучше уметь настраивать всю среду самому, чем перекладывать это на Vagrant/Homestead и т.п. — тогда ты в случае чего всегда сможешь поднять идентичную среду там, где нужно (в production), и одновременно будешь знать, как инструменты настраиваются изнутри.

Кроме того, если ты долгое время работаешь над одним проектом в одной команде, то ценность преднастроенной среды тоже уменьшается, ведь это настраивается один раз в самом начале. Тем более такие вещи, как настройки пакетов под конкретный проект делаются средствами package manager’ов (npm, Composer и пр.).

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

Не в сети

#3 21.06.2017 21:19:03

Re: Вопрос по локальной разработке

Может и "модой заразился", кто знает... Так оттого и спрашиваю, как говорится, на берегу, чтобы потом локти не кусать :-) Так, стало быть, рекомендуешь таки развернуть полный сервер? Ну, это даже проще, привычнее, по-крайней мере, "порог вхождения" и все такое. 
"Ну, значитца, так тому и быть" (С)

Не в сети

#4 21.06.2017 21:30:13

Re: Вопрос по локальной разработке

  1. Так, стало быть, рекомендуешь таки развернуть полный сервер?

Я рекомендую сделать свою обычную систему «полным сервером», только смотрящим вовнутрь (127.0.0.1). Если у тебя Linux — так это проще. На Windows нужно пакеты собирать по частям или использовать сборки типа XAMPP, но на той же Ubuntu или Mint всё есть в пакетах. Когда ничего не разрабатываешь — останавливаешь сервер (systemctl stop nginx) и всё, получается обычная пользовательская машина.

Для тестирования полезно также иметь и отдельный сервер — либо железный, либо на твоей же машине, только в VM. Это полезно, чтобы тестировать код в отдельной среде, желательно с ПО других версий, т.к. очень много багов на машине разработчика просто нет, т.к. он всё для себя отладил и получается, что «уменявсеработает». Но тестирование это не разработка, ты это делаешь раз в день/неделю/месяц, здесь нет проблем залить куда-то файлы и отлаживать на другом хосте.

Например, у меня локально стоит PHP 5.4, а на сервере — 7.1. Если работает и локально, и на тестовом — то с большой долей вероятности будет работать и на версиях между этими. Аналогично с MySQL и другими зависимостями (например, локально я использую Apache+mod_php, а на серверах практически всегда nginx+php-fpm).

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

Не в сети

#5 21.06.2017 21:40:26

Re: Вопрос по локальной разработке

Спасибо! :-)

Не в сети

#6 25.09.2017 15:38:28

Re: Вопрос по локальной разработке

Доброго времени суток, уважаемые!

В продолжение темы.

Так получилось, что товарищу нужно помочь настроить среду разработки под Windows. Какой из вариантов самый простой, с точки зрения развертывания? Пока что склоняюсь к Vargant + Homestead.
Трудность в том, что "помогать" придется по телефону, и сейчас на первое место выходит простота установки и настройки (например, "ковырять" BIOS, что, возможно, придется делать при установке виртуалки, было бы нежелательно).
Может быть, кто-нибудь подскажет, какие могут быть варианты?

С уважением.

Не в сети

#7 25.09.2017 19:34:13

Re: Вопрос по локальной разработке

Пока что склоняюсь к Vargant + Homestead.

Если у товарища есть хоть какой-то опыт в ИТ (командная строка, Composer, всякие конфиги и т.д.) - то на мой взгляд ничего проще XAMPP нет. Я даже сам использую его, хотя по-хорошему могу настроить и Apache/PHP по отдельности. В XAMPP все компоненты (есть даже сборки с Java/Tomcat и Perl) собраны в одну кучу, она даже не требует установки, "просто работает". Отличный проект, рекомендую на замену всяких Денверов, OpenServer, тем более VM...

https://downloads.sourceforge.net/project/xampp/

Конечно, Laravel она не установит, но он уже ставится стандартно через Composer, и через него же ставятся нужные пакеты.

Не в сети

#8 25.09.2017 20:40:02

Re: Вопрос по локальной разработке

Большое спасибо, обязательно гляну! А то уж было решил задействовать OpenServer.

Не в сети

#9 27.09.2017 10:03:20

Re: Вопрос по локальной разработке

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

ещё очень простой и универсальный вариант – докер. с недавних пор пользуюсь практически только им, множество проектов, сборная солянка из версий чего бы то ни было и разных расширений – через docker-compose собирается наиболее близкий к продакшену конфиг и каждый проект разрабатывается и дорабатывается в среде, практически идентичной той, в которой он в итоге работает. когда среда не нужна docker-compose down удаляет всё нахрен и освобождает ресурсы, снова понадобился – docker-compose up -d и проект снова в работе. нужно немного повозиться с настройкой, но потом конфиги переносятся из проекта в проект с минимальными изменениями…

Не в сети

Подвал раздела