Что должен знать каждый программист PHP?


Answers

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

Примеры проблем безопасности:

Есть больше проблем с безопасностью, которые вы должны знать и иметь в виду при написании приложений PHP. На веб-сайте http://www.owasp.org содержится много полезной информации .

Question

Я хотел бы быть программистом PHP / MySQL

Какие технологии я должен знать?

Подобно:

  1. Каркасы
  2. Иды
  3. Шаблоны
  4. Ajax и CSS Frameworks

Скажите, пожалуйста, минимальные требования, которые я должен знать, и расскажите мне свои любимые вещи в предыдущем списке?

благодаря




Что должен знать каждый программист PHP?

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

Зачем? PHP разбит и наполнен плохим дизайном и ошибками. Вы можете написать отличный код на PHP, но вы никогда не сможете обнаружить плохой дизайн и неудачи самого PHP, если вы не знаете ничего лучше.

Я бы предложил python, ruby ​​или C #

PS: Если вы не думаете, что это полезное предложение, то, во что бы то ни стало, отказано в этом ответе, но если вы сбиваете с толку, потому что вы чувствуете себя оскорбленным моим утверждением о том, что PHP сломан и плохо разработан, не стреляйте в посланника, я «Просто говорю правду!




Лично я нашел книгу « Создайте свой собственный веб-сайт, основанный на базе базы данных с использованием PHP и MySQL », очень полезный.

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

Вот еще один совет, который у меня есть: попробуйте использовать что-то вроде принципа DRY, т. Е. Вы снова и снова будете писать одни и те же маленькие (или большие) биты кода - запустите их в функции как можно раньше в процессе кодирования, и жизнь будет намного легче позже.




  1. Нет эксперта в области Php. Как шаблоны, которые делают систему сложнее, чем она.
  2. Понимайте требования бизнес-логики и думайте, что cons / pro.Hoping для SA, чтобы думать, что все для вас не является хорошим программистом.
  3. Нет ajax.I работает с большими данными, рендеринг в один файл js около 4000 к данных очень плохой.
  4. Начните с блокнота или VI
  5. После изучения php от 1 до 2 лет, попробуйте изучить другой язык, например, c # или c ++, чтобы улучшить ваше приложение php.
  6. Php является зависимым языком, а не другим языком. Вы печатаете его. Другой язык, вы печатаете. Это компиляция. Приложение 7.For сложность, php является лучшим для меня, а не другим языком, потому что вы думаете, вы пишете его работает.



Хотя это не технология, я думаю, очень важно, чтобы вы понимали, что при использовании PHP вы полностью должны писать хороший код. PHP способен на это, но он не поощряет его. Вы несете полную ответственность за то, что вы хорошо написаны хорошо написанный код и, если хотите, следуете принципам OO. У вас не будет никакой помощи от языка.




Безопасность.

Точно так же, как Лукас Оман сказал - вам нужно на PHP писать код хорошо; и это не издевается над вами. Если вы не понимаете, почему вам нужно подтвердить выход из системы или почему вы не можете просто проверить в javascript или почему register_globals плох - ваше приложение будет уязвимым в той или иной форме.




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

  • почему вы не можете отправлять заголовки после запуска
  • как работают сеансы и файлы cookie
  • как каждая страница должна быть построена без апатридов (т. е. доставить то, что запросит запрос, не помнить, что произошло в прошлый раз, или угадать, что делает пользователь)
  • Разница между HTML, PHP, JavaScript и CSS и, что более важно, то, что каждый используется в первую очередь и где лежит ответственность каждого.

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




Получение настройки веб-сервера

Чтобы запускать PHP и MySQL локально на вашем компьютере, вам необходимо установить веб-сервер Apache с php-модулем и сервером базы данных MySQL. то есть. веб-сервер LAMP (Linux Apache MySQL PHP).

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

Для Windows:
http://www.wampserver.com

Для OSX: http://www.mamp.info

После того, как веб-сервер LAMP запустит учебники w3schools.com .




Язык PHP

Перейдите на PHP.net и прочитайте всю документацию. Когда вы закончите, вы не будете знать все, что вам нужно знать о php, но вы будете знать, где искать.




Игнорируйте функции mysql_ *. Они не только не обеспечивают простой способ написания защищенного кода, но и на самом деле делают все возможное, чтобы сделать его болезненным и утомительным, если вы попытаетесь. Вместо этого используйте mysqli или PDO (и у вас нет оправданий сейчас - PHP 4 был конец жизни несколько месяцев назад).