Подтвердить что ты не робот

Стать профессиональным программистом PHP. Как?

Я работаю над своим первым профессиональным проектом. Дело в том, что я не знаю, какие из лучших инструментов для создания чего-то серьезного (я говорю о веб-разработке через PHP):

  • Является ли шаблонный движок наподобие Smarty обязательным? Какой из них "лучший" (наиболее используемый, полный, документированный).
  • В настоящий момент я разрабатываю Notepad ++ (в основном потому, что считаю его полезным и полным) есть ли лучший инструмент для разработки? Или это просто вопрос личного вкуса?
  • На данный момент я изучаю JQuery и углубляю свои знания в отношении CSS, какие другие "обязательные" темы вы можете мне предложить?

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

EDIT: Как-то я заметил, что вопрос немного неоднозначен. Я знаю основы (HTTP-протокол, Java Script, CSS, HTML, ООП-теория и практика и т.д.). Я изучаю компьютерную науку в университете (и проект, о котором я говорю, является моим тезисом). Мне нужно посоветовать, как работает "реальный мир" (вне моего подвала).

4b9b3361

Ответ 1

В частности, для PHP я бы рекомендовал:

Изучите хорошие рамки. В зависимости от размера проекта вы можете использовать Zend/Symfony или CodeIgniter/others для небольших. Есть тонн. Я буду придерживаться Zend/Zymfony для чего-то среднего и/или "реального мира".

В целом эти рамки поставляются с базовым движком шаблонов, или вы можете подключить другие, такие как Smarty или Twig. Я бы сказал, что это улучшает код. Итак, да к вашему первому вопросу.

Кроме того, notepad ++ поражает, но я рекомендую использовать IDE, если вы работаете над проектом, а не просто 2,3 файл script. Я настоятельно рекомендую Netbeans. У этого есть много teatures и это действительно активно. Проверьте это: http://netbeans.org/features/php/

Поскольку вы программируете на PHP, я бы сказал, что вы знаете SPL (стандартная библиотека PHP): http://php.net/manual/en/book.spl.php

Подводя итог:

Настоятельно рекомендуется сохранить код чистым и поддерживаемым.

Yes.Netbeans.

Да. SPL, и многое другое, о котором я не могу сейчас думать.

Ответ 2

Не сосредотачивайтесь на том, чтобы стать профессиональным программистом PHP. Сосредоточьтесь на том, чтобы стать профессиональным веб-разработчиком и проверить Что должен знать разработчик перед тем, как создать общедоступный веб-сайт?.

Говоря "Я хочу стать профессиональным программистом PHP", это похоже на высказывание "Я хочу быть профессиональным художником "когда вы на самом деле имеете в виду" Я хочу быть профессиональным художником". Конечно, в конце дня оба могут рисовать и получать за это деньги, но то, что их клиенты ожидают от них, очень разные;)

Ответ 3

Система шаблонов, такая как Smarty, не является обязательной, поскольку PHP является технически системой шаблонов. Однако это не очень хорошо. Это неуклюже, очень легко совершить ошибки, и вы часто оказываетесь в непостижимом беспорядке.

Есть лучшие альтернативы, чем Smarty. Я как бы частично отношусь к Твигу.

Использование рамки в наши дни является довольно обязательным. Разработка с помощью фреймворка, как правило, намного проще и быстрее, чем использование необработанного PHP, как только вы узнаете, как это работает. Code Igniter неплохо, хотя и минимальный. CakePHP неплохо, хотя время от времени кажется очень тяжеловесным. Kohana, Symfony и Zend Framework тоже очень уважают.

Ответ 4

1 - механизм Smarty очень полезен и, вероятно, самый популярный в разработке PHP-приложений.

2 - Я использую студию Aptana для разработки PHP. Он довольно полный и имеет хорошие инструменты вместе с ним. Он основан на Eclipse IDE, поэтому он довольно настраиваемый. Главный недостаток заключается в том, что он использует много ресурсов.

3 - Я рекомендую изучить шаблоны разработки, такие как MVC (Model-View-Controller), чтобы получить хорошую базу того, как должны быть организованы данные.

Кроме того, найдите Code Igniter, это потрясающая среда для работы (она использует шаблон MVC). Построение чего-то с ним действительно легко и легко управляемо. Если вам нужны простые учебные пособия, вы можете проверить NetTuts для серии обучающих программ.

Ответ 5

Согласитесь с тем, что подразумевает Pekka, а именно, что важно выбрать еще один язык в дополнение к PHP. Пожалуйста. Кроме того, я не вижу обучения PHP без знания таких вещей, как Smarty. Notepad ++, который заботится о нем, каждый по своему усмотрению. jQuery хорош, хотя я могу выбрать простой ванильный Javascript перед тем, как попасть в библиотеку. Несмотря на то, что jQuery упрощает работу, он абстрагирует много вещей, а то, что вы действительно хотите, это те Механика Javascript.

Я бы также добавил твердое знание протокола HTTP как обязательное, которое, по-видимому, некоторые веб-разработчики, по-видимому, не являются обязательными. Вы должны знать, что такое жесткий 404, и какие кодировки содержимого, а также различные варианты настройки кэширования и т.д. И т.д. И т.д.

Прежде всего, получайте удовольствие!

Ответ 6

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

  • Базовая нормализация таблиц.
  • Понимание транзакций
  • Зная, как избежать ваших ценностей перед вставкой/обновлением/etc
  • write выбирает с объединениями, как избежать вложенная база данных выбирается внутри кода петли
  • различия между базой данных и даты PHP (и как работать с их)

и т.д.

Ответ 7

Моя стандартная рекомендация в вопросах, подобных этому, в дополнение к отличным предложениям, приведенным в других ответах, заключается в том, чтобы по крайней мере оперировать строго типизированным языком, таким как Java, С++, Delphi или С#, с беспощадной компиляцией, обеспечивающей соблюдение дисциплины - правильное объявление переменных, определение полных интерфейсов классов и т.д. и т.д. Я люблю PHP, но он очень разрешительный и иногда все еще показывает свои шаблонные языковые корни и, как правило, соблазняет новичков в плохие практики. (Тем не менее, PHP в настоящее время - прекрасный язык, и в нем можно писать очень качественное программное обеспечение.)

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