Из чего состоит окружение продвинутого php разработчика?

Со следующей недели хочу начать учить php и хочется начать изучение с настройки окружения.
Поэтому вопрос у меня - из каких современных инструментов сегодня состоит окружение php разработчика?
И наверняка у кого-то возникнет мысль посоветовать продвинутую IDE, которая предлагает массу инструментов из коробки. Но нет. У меня и так уже стоит PHPStorm, но я люблю настраивать все сам.

И да, у меня Windows с которого уходить не хочется. Так же я знаю что прекрасной альтернативой LAMP является OpenServer с которым я давно уже знаком. Но это знакомство было много лет назад и возможно появилось что-то ещё...
  • Вопрос задан
  • 8609 просмотров
Решения вопроса 3
nonlux
@nonlux
Поправил ответ, так будет логичнее.
Ниже приведены инструменты, которые использую лично я и причины почему.

1. docker-окружение
(в 90% случаев для веб-разработки достаточно php -S 0.0.0.0:8000)
виртуальные машину становятся нужны:
- когда надоест переустанавливать хост-систему из-за обилия хлама
- когда работаешь с несколькими проектами имеющие специфические (разные) настройки окружения(php, web-сервер, база)
- когда надоест решать проблемы в команде из-за того что по разному настроено окружение

2. git - система контроля версий
Помнить что ты и когда изменял, должен не человек, а машина.
Это необходимо:
- чтобы не испортить всю работы за прошедший год нажав del
- чтобы определить кто из команды злодей и все испортил
- чтобы не думать как перенести свежую версию проекта с одной машины на другую

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

4. behat + phpspec
Тесты нужны:
- когда хочется почувствовать себя безопасности и для сладко спать ночь, забыв о кошмарах о сломанном коде
- когда в production все снова сломалось
- когда ты написал одну новую фичу, а сломал три

5. zsh
Хорошей консолью приятно пользоваться, работа идет быстрее.
Консоль есть жизнь, жизнь есть shell.

6. tmux
Мало одно окошка в консоли, тогда tmux идет к вам.
В качестве бонуса получите возможность парного программирования совершенно бесплатно

7. tmuxinator
Надоело каждый раз открывать кучу окон для tmux, попробуйте его )
8. vim
- Потянуло на что-нибудь необычное?
- Хочется эффективнее писать код ?
Ну что открыли vim? В первый раз? Поздравляю закрыть вы его не сможете )
Вызывает зависимость при частом потреблении


9. continuous integration сервер
Вообще ci сервер это одушевленная машина. Это твой тамагочи, ты кормишь его хорошим кодом, он радуется и ты видишь приятный зеленый огонек. Если ты дал с код от скажет что не вкусно. Ну а если ты ему, что гнилое он будет долго на тебя орать плохими словами. Со временем он растет и учится делать более серьезные вещи, и начнет помогать тебе:
Его скилы:
- он может сам выполнить 10 минутные тесты
- подготовить и опубликовать проект
- рассказать о твоем коде, даже то что ты не знаешь
Он легко обучается и ты легко сможешь научить его удивительным вещам.

10. куча линтеров на pre commit hook
Чтобы ci не кормить плохими продуктами, хорошо бы проверять что ты сделал до отправки на сервер. Что бы не забыть это сделать git сам работу.

11. gulp
gulp - это еще один твой помощник.
как если использовать, как watcher файлов + livepreview, можно забыть о F5 в браузере

12. bower
Тоже что и composer но для управления ассетами. Это я о всяких jQuery и Bootstrap

666. Линукс
Даже если не хочется ставить как хост-систему, его все равно надо знать. Ваш код будет работать на нем )
Ответ написан
sivabur
@sivabur
Заблокировали просто так!
PhpStorm(IDE)+lamp(сборка сервера)+composer(менеджер пакетоа)+git(контроль версий)
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Docker или Vagrant + Ansible/Puppet для окружения.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 12
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Мышь, клавиатура и чашка кофе.
Ответ написан
Для написания кода в нашей команде все использую Vim (хоть и на PHP проектов уже нет, но когда были — тоже использовался исключительно Vim). Наш техдиректор Кирилл Мокевнин рассказывал про свой любимый редактор в одном из вебинаров.

Ну и Vagrant + Docker (как для локальной разработки, так и для прода и самого процесса деплоя).
Ответ написан
Комментировать
sayber
@sayber Куратор тега PHP
Да, я программирую на PHP и еще асинхронно!
PHPStorm + Atom (для быстрой правки)
MAMP (LAMP Server)
Что еще нужно для счастья ?)

Есть конечно еще кучка софта, для работы с тем или иным. К примеру для работы с БД, для сжатия и генерации twig из jade - Gulp и т.д.
Ответ написан
PhpStorm+плагины (тема - Darcula)
Mercurial + TortoiseHg и Git
Docker (не надо у себя устанавливать LAMP)
ConEmu и Putty (если Windows)
Navicat (или другой удобный phpmyadmin)
Google Chrome
Notepad++ (если Windows)
Evernote (для кусков кода и скриптов)
PHP (для запуска мелких скриптов)
Composer
Filezilla
Microsoft Office / Google Docs
Pocket (для сохранения статей с Хабра)
Foobar (музыка)
f.lux (чтобы не уставали глаза вечером)
PuntoSwitcher
Ответ написан
Комментировать
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Уже много лет испоьзую notepad++
Никаких IDE не надо)))

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

Если приходится писать на линуксах использую geany.

Что касается сервера только впс на линуксе nginx+phpfpm, опять же не сторонник делать это под виндой
Так же в команде все юзают sublime. Вроде устраивает.
Ответ написан
iKapex
@iKapex
Atom
Ответ написан
Комментировать
StenHigh
@StenHigh
php developer
Linux хостовая машина,
PhpStorm (плюсы: интегрируется с БД, sFtp, Vagrant, Composer, Git, Docker, SSH and more...),
Vagrant или Docker зависит от проекта (для своих сконфигурировал LEMP Doсker),
Git -куда же без контроля версий,
Composer - без менеджера пакетов конечно же тоже не обойтись,
Vim для редактирования в консоли или через SSH,
Codeception - для тестирования (мега крутая вещь, есть даже для JS)
CI Server - очень облегчает жизнь,
envoyer.io - деплоер.

Руки не из 5-ой точки, и свежая голова.
Ответ написан
Комментировать
@buryakov_dima
Linux + vim
Ответ написан
Комментировать
customtema
@customtema
arint.ru
Ubuntu или Debian. Обязательно какая-нибудь VCS (git или mercurial).

Редакторов тьма.

Разрабатываю в виртуалке (Ubuntu Server под Xubuntu Desktop), в окружении, приближенном к продакшену.
Ответ написан
Комментировать
@irklan
Руки растущие из нужного места, настроенный Dedic сконфигурированный nginx + php-fpm, git для пула ну и редактор phpStorm более ничего ненужно.
Ответ написан
Phizio
@Phizio
В Вашем перечне отсутствует какая-либо система контроля версий. Если еще не используете Github или Bitbucket - то у них есть виндовые клиенты с визуальным UI, простые в освоении. Поняв и "прочувствовав" логику систем контроля версий, можно уже и через консоль команды отправлять потом.
Ну и Composer, конечно же. В Вашем OpenServer'e он кстати уже есть, "из коробки". Или вариант номер 2 - использовать функционал самого PhpStorm, он тоже поддерживает композер + будет более визуальный интерфейс внутри редактора.
Вообще говоря, можно какие-то свои решения оформлять как пакеты композера, это очень удобно для централизованного обновления сразу во всех проектах.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы