У PHP низкий порог вхождения и он имеет дурную славу среди разрабочиков. Но это не значит, что PHP плох, просто он не требует от вас качества кода и потому многие пхпшники не в состоянии написать ничего, кроме того, что программисты обычно называют "говнокодом". Если вас это не устраивает и вы не хотите работать за еду, готовьтесь к тому что придется изучить множество вещей, о которых не рассказывают в видеокурсах от "гуру веб-разработки". Постарайтесь изучить каждый раздел со всей ответственностью, разобравшись в деталях и поняв зачем всё это нужно. Важно. Прежде чем читать дальше, вы должны разбираться в основах: переменные, циклы, работа с БД, файлами, обработкой форм, выводом данных и тому подобных вещах. Для проверки, попробуйте выполнить задачу, которую предложил Fell-x27. PHP - основы Самые основы. Как работает PHP. - для новичков и тех кто пришел из других языков. Безумный PHP. Фьюри код - грабли на пути пхпшника. PSR-1 PSR-2 - рекомендации к оформлению кода. PHP. Правильный путь. - описание основных направлений для изучения и дальнейшего развития. IDE Теперь вам нужно выбрать IDE - это как Word, но для PHP. Она сделает разработку и использование дополнительных инструментов гораздо более удобной, чем при использовании традиционных редакторов. NetBeans PHP - удобная среда для разработки на PHP. PhpStorm - воплощение совершенства, но за деньги. Git Система контроля версий позволяет отслеживать все изменения в коде, работать с разными версиями проекта одновременно или даже совместно с другими разработчиками, не боясь, что вы запутаетесь в правках. Git How To - пошаговая инструкция на русском. tryGit - песочница, где можно попробовать git прямо в браузере. git-scm.com/book/ru/v1 - документация на русском. Composer и пакеты Менеджер зависимостей даст вам возможность воспользоваться наработками сообщества и использовать уже готовые компоненты, вместо написания своих: роутинг, работа с БД, изображениями, авторизация через соц.сети и множество других вещей. getcomposer.org/ - скачивание и установка composer. Composer — менеджер зависимостей для PHP - инструкция по работе на русском языке. packagist.org - репозиторий пакетов для composer, прежде чем писать свой велосипед ищем нужный функционал тут. thephpleague.com — независимые от фреймворков пакеты высокого качества. Фреймворки Фреймворки - это готовый каркас, где уже решены все основные моменты, что присутствуют в каждом проекте. К тому же они повышают вероятность того, что ваш код поймете не только вы, но и другие разработчики. Symfony/Silex - более академичный, но и сложнее остальных: оф. сайт Symfony, оф. сайт Silex Laravel/Lumen - самый популярный в мире: laravel.com - оф. сайт, laravel.su - документация на русском, Awesome Laravel - большая подборка ссылок, packalyst.com - пакеты для Laravel Phalcon - работает как расширение php, потому быстрее остальных, но и заведется не везде: оф. сайт Phalcon Yii - традиционно самый популярный в России: оф. сайт Yii, русскоязычное сообщество Примечание: Silex, Lumen, а так же Micro Phalcon`а - мини-версии фреймворков с ограниченным функционалом, но при этом как правило работающие быстрее своих старший собратьев и позволяющие в случае чего перейти на них без лишних трудозатрат. Шаблонизаторы Шаблонизаторы позволяют отделить логику от представления наиболее удобным способом, наследовать шаблоны, расширять и изменять их на лету. Twig - оф. сайт шаблнизатора Blade - шаблонизатор от создателей Laravel. Официально отвязать его от фреймворка нельзя, но можно воспользоваться пакетом или даже альтернативной реализацией. Fenom - репозиторий. PHP - сам по себе неплохой шаблонизатор ) Тестирование Если вы уже сталкивались с тем, что при правке одного куска кода отваливается другой, то вам необходимо разобраться с тестированием. Сделав один раз тесты для форм, вывода данных, работы с БД или сложных обработок вы будете уверены, что все работает как нужно. fzaninotto/Faker - пакет для создания фейковых данных, ими можно будет наполнить БД или применить их для тестирования. codeception - невероятно удобный пакет для создания тестов для вашего приложения, имеет человекопонятный синтаксис вроде "я иду туда, ввожу текст в поле, жму кнопку и вижу вот такой текст". Читать до просветления Пока вы изучаете один инструмент, все вокруг уже переключились на другой. Следите за новинками и тенденциями, изучайте новые техники и смежные области. Иначе вы рискуете превратиться в мамонта и сгинуть на очередном витке эволюции ) Блог Zfort Group - еженедельные подборки новинок веб-разработки и php Каталог рефакторинга - сборник основных практик по превращению вашего говнокода в конфетку. ruhighload.com кладезь вселенской мудрости ) Статьи на тему настроек, оптимизации, масштабирования и прочих полезных, но не очевидных моментов. Делимся кодом Задавая вопросы коллегам, постарайтесь облегчить им задачу, дав наглядный пример для решения вашей проблемы. sandbox.onlinephpfunctions.com - песочница, где можно написать кусок кода, сразу его выполнить, увидеть результат и дать ссылку другим. jsfiddle.net - выкладываем сюда html/css/js, можно подключить нужные библиотеки и сразу увидеть результат. sqlfiddle.com/ - для баз данных, можно создать структуру, заполнить тестовыми данными и проверить sql-запрос. Изучив все это вы не станете крутым разработчиком, но будете на уровень выше среднего по больнице. Не останавливайтесь на достигнутом, познавайте новое и не забывайте помогать новичкам. p.s. дополняем )
очень одобряю порыв! хочу только от себя написать: пока новичек не сумеет написать самостоятельно сортировку пузырьком, рекурсивный обход каталогов и поиск методом двоичного деления, ему не стоит читать н и ч е г о про "рефакторинг" и "хайлоад". ))) серьезно! мы каждый день видим таких "обезьян в очках", не надо их плодить.
в IDE надо добавить phpDesigner, я бы не сказал что он удобен, но у него есть одно несомненное преимущество, он может на месте выполнять скрип, без установки интерпретатора, настройки и т.д. просто нажал кнопку Run и тут же получил результат, даже не надо сохранять файл, бывает очень полезным когда надо быстро проверить какую-нибудь мелочь.
ну выучить потом как это работает проще, чем все сразу одновременно. не хочется спорить решайте сами, речь идет не только о новичках, я думаю и у бывалых бывают довольно часто случаи:
Ну, я ориентировался на человека, который уже разобрался с основными моментами и подошел к стадии "как делать правильно". В этом месте есть некоторый провал в интернетах, пишут либо о hello world, либо о конкретных задачах, подразумевая что читатель уже и так все остальное знает. Плюсую. Понимание того как это все устанавливается и собирается в кучу необходимо. Добавлено спустя 1 минуту 47 секунд: Можно. Но на выходе получится "обезьян в очках" ))
Запуск скрипта в IDE не заменит настройку локалхоста для запуска сайта. Алсо, чтобы лишь запустить php-скрипт, не нужно ничего устанавливать. Только скачать zip и распаковать.
Предлагаю модифицировать топ-пост, разбив его на "уровни", по степени продвинутости. Мол какие-то пункты для новичков, чтобы прям вот сразу читали и проникались. А какие-то только, когда опыт есть. А потом можно и прикрепить будет.
Пожалуй конкретно по ларавель можно убрать часть. Либо все фреймворки популярные приводить, либо ни один.
Совсем без фреймворков нельзя, потому добавил остальных тяжеловесов. Будет неплохо, если те кто специализируются на них накидают ссылок по теме.
еще вот такой ресурс стоит упомянуть http://getjump.github.io/ru-php-the-right-way/ также можно отдельно упомянуть шаблонизатор Twig а еще есть вот такой интересненький шаблонизатор https://github.com/fenom-template/fenom
Right Way уже есть. А с шаблонизаторами я даже хз, отдельно твиг добавить нельзя, придется делать подборку всех остальных, к тому же это будет уже отклонением от темы. Была идея создать подборку мастхэв пакетов, которые можно добавить в проект не таща вместе с ними кучу зависимостей, но для начала надо разобраться с тем что есть ) Я вот даже не знаю, стоит добавлять сюда инструменты вроде sphinx-doc или скажем CodeSniffer, которые вроде как полезны, но и не используются повсеместно?
современных шаблонизаторов не так много, в симфони по умолчанию предлагается твиг, в ларавеле блейд, а феном просто интересен за счет внутренней реализации на токенизерах а смарти вроде как всё меньше и меньше используется... притом твиг это отдельный пакет, блейд не знаю как отковыривается от ларавеля, итого для использования отдельно в своих проектах остаётся очень популярный твиг и интересненький феном еще можно вот такую утилитку добавить "PHP Coding Standards Fixer" - http://cs.sensiolabs.org/
Сборник заблуждений на PHP.RU ))) На самом деле Twig это независимый от фреймворков пакет. https://github.com/twigphp/Twig В симфони он подключается через мост. Просто для справки, что именно является частью симфони: http://symfony.com/components — внезапно™ родной для симфони шаблонизатор — "нативный" . Blade как отдельный пакет: https://github.com/PhiloNL/Laravel-Blade Или моя поделка в стиле блейд: viewtopic.php?t=51981
А заблуждение то в чем? В симфони-проектах твиг используется повсеместно, а если говорить о независимости, то там по сути все компоненты независимы от фреймворка точно так же как и твиг )
Друг, мне это пофигу, я не даю оценки сего факта. Просто констатирую: твиг не часть симфони. Он даже не соответствует PSR ))) Добавлено спустя 4 минуты 59 секунд: Заблуждения в том, что "в симфони по умолчанию предлагается твиг" или "отдельно твиг добавить нельзя". Часто путают фреймворк и скелетное приложение в котором демонстрируется фремворк. Добавлено спустя 12 минут 3 секунды: а Зенит лучший футбольный клуб в мире. срыв покровов
1. А какая связь между популярностью и срезом предложений одеска в конкретный момент времени? 2. Идем на symfony/symfony, находим раздел Installation, делаем то что там рекомендовано и получаем твиг в комплекте по умолчанию. Что не так то? ) Мы ж тут не руководство по симфони пишем, а даем ссылки.
1. Сейчас мы начнем обсуждать что такое "популярность". Заказы на oDesk показывают коммерческую востребованность. Тренд до сих пор не переломился, кстати. Примерно те же соотношения остались. Хотя тег в скиллах laravel-framework уже добавили. А oDesk-Elance, ныне Upwork, это самая крупная биржа фриланса, так что это показатель. Лучшего примера я не знаю. 2. Ок, пускай рекомендовано. Не необходимо и не часть. Ты молодец, я уже это говорил ) Ссылки годные.
Закрепить? Это уже не ко мне, это к человеку в самбреро. Я в конкретной ветке не могу подцепить тему. Что странно. Могу подцепить, чтобы было видно везде, но это не совсем то, что нужно.
Нет, мой четвероногий друг, дело не в личных полномочиях. Почему-то конкретно у этого раздела нет опции "прилепить тему". Это загадка. В PHPBB есть такие неочевидные места. update: Так и не нашел где это разруливается, но нашел команду "скопировать права доступа" и скопировал с другого раздела. И прилепил.