Задать вопрос

Как упростить разработку на php новичку?

Начальник сказал нужно срочно сделать заказчику статистику из БД на сайте. Я в php новичок(раза два писал Hello World).
Пишу в Notepad++ по ftp заливаю на хост и тестирую. Не очень удобный способ. Как можно упростить разработку? Ставил NetBeans и Aptana Studio — сильно долго разбираться.
Посоветуйте что-то.
  • Вопрос задан
  • 6368 просмотров
Подписаться 28 Оценить Комментировать
Решения вопроса 1
ValdikSS
@ValdikSS
Рекомендую в качестве IDE использовать phpstorm, в нем есть все нужное и ненужное.
Ответ написан
Пригласить эксперта
Ответы на вопрос 18
@step307
Ну ваще жесть. Человек может только программировать начинает, а ему тут уже насоветовали и энтерпрайзные методологи разработки и кучу фреймворков и т.д.

Это знаете, если в 3 классе объяснить человеку комплексное исчисление, то большинство теорем доказывать не придется. Только такой подход не работает.

Мой совет — от простого к сложному. Написали hello world, переходите к более сложному. Какую-нить страничку кому-нить намутить, простенький сайтик. Только сделав несколько более-менее нетривиальных сайтов вы поймете сами зачем вам нужны фреймворки и VCS, вот тогда и начинайте их использовать.

Надо пройти весь этот путь, наступить на грабли. Понять почему надо логику отделять от представления, чем ООП лучше процедур, как добиться повторного использования кода и т.д. и т.п.

А окунать человека сразу в дебри MVC — он может вообще только программировать начал!

По существу: если сервер такой шустрый, почему только ftp? Расшаривайте папку себе на машину и не устраивайте себе костылей. Если он не на столько хорош — тестируйте локально, как уже сказали (только следите чтобы версии продуктов на всех машинах совпадали)
Ответ написан
@Jazzist
1. Убедиться в том, что знакомы с ОИВТ
2. Изучить теорию программирования, от типов данных до приемов работы, алгоритмы и паттерны
3. Позависать недельку тут php.su/learnphp и тут phpfaq.ru/debug
4. Проанализируйте код свободных CMS
5. Фреймворки и IDE

По опыту отвечания на форумах, по статистике вопросов, по темам выше расклад такой:
1. 30%
2. 80%
3. 80%
4. 20%
5. 10%

Проценты не суммируются, потому как один и тот-же вопрос зачастую порождается пробелами в голове у ТС сразу по нескольким темам.
Ответ написан
Прежде всего начните использовать VCS (системы контроля версий), например Mercurial. Git тоже пойдёт. :) Чтобы когда сервер упадет судорожно не вспоминать что и где исправляли в последний раз, а просто откатиться почти моментально на последнюю рабочую версию, а потом спокойно разбираться.

Организуйте минимум двухступенчатую систему разработки — окружение разработчика (локально или на отдельном сервере/поддомене) и продакшен окружение, куда скрипты заливаются после хоть какого-то тестирования — правка файлов на рабочем сервере (или заливка их туда без тестирования хотя бы на синтаксис основного потока) очень плохая практика.

Откажитесь от использования ftp, да и других методов ручного деплоя, используйте ssh/scp/rsync и скрипты деплоя (самописные или, например, Capistrano). Как вариант, используйте средства VCS — с рабочего каталога коммитите изменения в репозиторий, на сервере мержите их оттуда с веб-каталогом, главное не забыть закрыть доступ из веба к служебным файлам VCS. Можно использовать хуки для второго процесса, но лучше все же контролировать его.

Используйте хотя бы примитивные миграции БД, не изменяете структуру БД «ручками» в phpmyadmin, а запускайте sql скрипты. Потом сможете хотя бы восстановить последовательность действий приведших к краху. И бэкапы БД даже перед незначительными изменениями схемы. То же к настройкам сервера (их тоже лучше хранить в VCS).

Современные IDE почти всё это позволяют делать через GUI, но сначала, имхо, лучше разобраться как оно работает в консоли.

Всё вышеизложенное написано на основании собственного горького опыта.
Ответ написан
shushu
@shushu
Разрабатывать локально?

Поставить xampp, например, слить нужные данные и вперед )
Ответ написан
powder96
@powder96
> Пишу в Notepad++ по ftp заливаю на хост и тестирую. Не очень удобный способ.
Можно настроить локальный сервер, либо если нет желания ковыряться установить Денвер. Тогда заливать по FTP не придется — одним шагом меньше.

> Я в php новичок
Поставьте себе задачу — сделать какой-нибудь средний по размеру проект (простенькая CMS, движок блога, социалка), главное чтобы Вам было интересно его делать. Напишите TODO-лист, и постепенно его выполняйте. Пока Вы будете придумывать архитектуру своего проекта, рисовать структуру БД, да и просто кодить, Вы очень многому научитесь.
Ответ написан
Комментировать
Если есть опыт программирования то, настоятельно советую установить и настроить профилирование xdebug. Это сэкономит Вам очень много времени на отладку и поможет понять работу системы. С остальным, я думаю, сами по ходу дела разберётесь.
Ответ написан
Комментировать
@mkoreshkov
Денвер же в руки. Проще всего и можно сразу себя почувствовать «крутым прогером» ;)
Ответ написан
@YourChief
а вы знаете, что ftp передаёт пароли открытым текстом? что дисковое пространство на сервере можно примонтировать к локальной ФС, как на никсах так и винде?
Ответ написан
kotomyava
@kotomyava
Системный администратор
Всё же поставить IDE, например тот же Netbeans, освоить в минимальном объёме для начала:
— Разобраться с созданием проекта с исходниками на удалённом сервере, настроить ftp соединение.
— Разобраться с автодополнением.
Это требует пары часов времени от силы, и позволит сильно облегчить и ускорить работу, спасая от огромного количества лишних действий, так что это время очень быстро окупится… =)

Далее идёт момент не технический — надо начать системно изучать PHP, а не просто подглядывать в справочник по функциям/гуглить готовые решения.

Совет по поводу фреймворков тоже дельный. Особенно учитывая большое количество документации по CI и её качество.
Но до этого надо всё же разобраться с собственно PHP.
Ответ написан
Комментировать
@segaman
Посмотрите в сторону Yii Framework`a.
yiiframework.com
Ответ написан
Вот зря вы написали, что опыт имеете. Сразу затухло. А очень интересная тема была
Ответ написан
soulburner
@soulburner
1. настроить локальную систему для тестинга. apache + php + mysql. не бойтесь, тут все настраивается просто и мануалов — кучи. есть еще автонастраиваемый комплект всего вышеперечисленного, называется «денвер», но сам я не юзал, сказать ничего не могу. но говорят, что он устанавливает все это добро в 2 клика

2. использовать нормальное IDE для написания PHP. например, PHP Designer. он, к тому же, автоматом настраивает xdebug, что позволяет запускать и дебажить пхп код прямо в IDE.

3. по поводу фреймверков — тут надо быть аккуратным. сначала познать азы, а не пытаться сразу прикрутить хрен знает что
Ответ написан
krovatti
@krovatti
Я лично пользуюсь Netbeans. Относительно недавно открыл для себя Microsoft Webmatrix. Вторым проще пользоваться, подходит под ваши требования. Советую попробовать.
Ответ написан
Комментировать
krovatti
@krovatti
Да и в Notepad++, насколько я помню, можно открывать файл в браузере и отсылать с помощью FTP. Могу и ошибаться.
Ответ написан
Комментировать
krovatti
@krovatti
Подуразумевается, что у вас на ПК уже установлены Apache + PHP + MySQL
Ответ написан
@zoOB
Работаю на Zend Studio 8 (или бесплатный Eclipse PDT), как и в NetBeans можно работать через SFTP. Если интернет позволяет то отличный вариант.
Ответ написан
Комментировать
markoffko
@markoffko
Netbeans/phpstorm настраиваете на удаленный сервер, дел на три минуты, выкаиваете исходники, правите, сохраняете, тестируете. На первое время лучше так. Ну и еще бекап базы делайте как можно чаще, шанс что потрете что нибудь крайне высок.
Ответ написан
Комментировать
@garfik
Я бы вам посоветовал бесплатный редактор Komodo Edit. Он отлично работает с FTP, есть автодополнение, подсветка, настраиваются табы\пробелы, кодировка и тд и тп. Очень нравится!

Если есть деньги, то можно и Komodo IDE, там как помнится еще и отладчик есть.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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