eucalipt
@eucalipt
Самоделкин.

PHP Development. Как осовременниться?

Здравствуйте.
Я уже довольно давно занимаюсь вэб-разработкой, экспериментирую как с фронт- так и с бэк- эндом, но в последнее время больший уклон делаю, все-таки, на бэкэнд.

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

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

Вот и я решил "осовремениться".

Во-первых, я составил для себя список (выписал из вышеупомянутой статьи).

Теперь стараюсь этому списку следовать.

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

Как оказалось, для работы Laravel нужен PHP версии не ниже 5.6. Нет, меня это не остановило и не лишило желания использовать именно этот фреймворк. Наоборот.
Дело в том, что я никогда раньше не работал с локальным PHP. Я начинал и вот уже несколько лет работал (создавал, тестировал свои приложения) на одном бесплатном хостинге. Но вот беда: нужной версии PHP для работы с Laravel с нем не оказалось.

Это и стало для меня отправной точкой.

Установил я nginx (решил отказаться от Apache, пишут, что он уже морально устаревает и работает медленнее). Установил PHP последней версии (у меня Ubuntu). Решил разобраться с Composer'ом, потому что
...если у вас в проекте нет файла composer.json, то с вами даже здороваться не будут.


Вот тут и началась чехарда (нет, началась она, конечно, раньше, но наиболее невыносимо стало здесь. Да и раньше гугл помогал)

Во-первых, не понимаю, зачем. Во-вторых, не понимаю, как. Пример: установил этот Composer, ответил на все его вопросы (добрую часть вообще не понял (да и не гуглится)), указал, что нужен Laravel, так эта скотина мне какого-то лешего накидала туда и yii, и symfony, и laravel (инстеллер, с которым вообще не понимаю, что делать) и еще много-много чего.

Вопрос:
Действительно ли все это нужно? И действительно ли это все обязательно знать и обязательно уметь всем пользоваться? И кроме того, что просто уметь, еще и просто пользоваться?

У меня, почему-то такое чувство, что у меня на это уйдет больше времени, чем ушло на то, чтобы я начал писать код своего текущего уровня. Это ужасно.

P.S. Из списка у меня в кармане только первое и четвертое.
  • Вопрос задан
  • 1196 просмотров
Решения вопроса 2
@djay
Композер - это всего лишь утилита, которая достаёт из чужого (или своего) репозитория какой-либо компонент. Затем:

1) скачивает его
2) ложит в папку с вендором
3) автоматически регистрирует автолоадер (PSR-0/PSR-4)

И делается это все одной командой. Можно конечно делать это всё вручную, но очень не удобно (а что если несколько библиотек / компонентов нужно подключить? - волокита и геморой). Причина популярности композера именно в этом. Например Laravel - он использует компоненты Symfony, следовательно при инсталляции он будет брать те самые компоненты с репозитория Симфони.

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

Вдаватся в дополнительные подробности (например в синтаксис composer.json), здесь не имеет смысла, т.к это все есть на официальном сайте.
Ответ написан
sam002
@sam002
Линуксойд, кодер, немного физик.
Раз с composer вам объяснили выше, то облегчу ваш список:
1) Переход полностью прозрачный, главное побольше современных проектов отсматривать.
2) Лучше вычитывайте RFC, играть надо с проектами и демками.
3) Не вместо!!! Про arrays имелся ввиду короткий синтаксис: []
4) В догонку откажитесь от mcrypt и пользуйтесь встроенными решениями для паролей: php.net/manual/ru/book.password.php
5-6) Рекомендую посмотреть на git flow, мне очень нравится для повседневного использования
8-10) Осторожно с выбором инструментов. На мой вкус: netbeans+redmine(с кучей плагинов)+jenkins+bash, но это всё требует долгой и тонкой интеграции в рабочий процесс.
11-12) Вроде бы вы сами всё освоили...
13-14) По БД лучше иметь основательные теоретические знания, чем опыт работы с конкретными реализациями. Но postgresql использовать как дефолтную рекомендую))
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
He11ion
@He11ion
PHP-monkey
Да не учите ничего. "Текущий уровень" вполне позволит вам писать свой лапшекод за миску той же лапши и дальше, в чем проблемы-то?
В середине 2015 года не знать ничего про vcs это сурово.
И да, внезапно можно(а иногда и нужно) жить без миграций, с бэкапами.
Ответ написан
Denormalization
@Denormalization
Конкретно для Laravel:
  • На сайте laravel есть подробная инструкция по установке.
  • На сайте laravel есть инструкция по настройке homestead.
  • По laravel снято миллион+1 видео laracasts


Общее:
По каждой технологии есть куча документации и примеров. Если вы не можете их найти, а тем более осилить - вы никудышный програмист, увольняйтесь и идите работать в макдак.
Ответ написан
leto2015
@leto2015
Веб-разработчик
В конце текста той статьи есть приписка "P.S. Не воспринимайте тест всерьёз, всё-таки пятница!".
Следует пользоваться инструкцией Крылова для прочт...
Ответ написан
Ваш ответ на вопрос

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

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