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

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

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

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

Как

  • Каркасы
  • Иды
  • Двигатели шаблонов
  • Ajax и CSS Framework

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

Спасибо

4b9b3361

Ответ 1

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

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

Канал IRC:

На самом деле это не нужно, но я считаю это полезным... Увидимся здесь:)

irc.freenode.net #php

Ручной режим:

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

http://www.php.net/manual/en/

http://dev.mysql.com/doc/refman/5.0/en/apis-php.html

Каркасы:

Убедитесь, что это структура MVC:)

http://www.cakephp.org/

http://www.phpmvc.net/

http://www.codeigniter.com/

http://www.symfony.com/

http://www.laravel.com

http://www.yiiframework.com/

IDE:

Что вам больше всего подходит:)

http://www.eclipse.org/

http://www.vim.org/

http://www.zend.com/en/products/studio/

http://php.netbeans.org/

https://www.jetbrains.com/phpstorm/

Механизмы шаблонов:

PHP - хороший механизм шаблонов

Структуры диспетчера представлений моделей помогают с этим

twig.sensiolabs.org

http://www.smarty.net/

Ajax:

http://jquery.com/

http://www.mootools.net/

http://developer.yahoo.com/yui/

http://www.prototypejs.org/

http://www.extjs.com/

http://code.google.com/webtoolkit/

https://angularjs.org/

CSS

http://www.yaml.de/en/home.html

http://code.google.com/p/blueprintcss/

http://developer.yahoo.com/yui/reset/

Определенно не исчерпывающий список, и вещи постоянно меняются... Но, это начало:)

Удачи!

Chrelad

Ответ 2

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

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

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

Ответ 3

PHP был моим первым языком, который я узнал на стороне, работая младшим офицером в моей первой работе более 10 лет назад. Вот некоторые вещи из моего опыта:

  • Загрузите руководство по PHP, распечатайте его и начните читать со страницы 1. Продолжайте, пока вы не закончите. Скопируйте бит, который вам, вероятно, не понадобится (например, с помощью KADM5 или Hyperwave), но всегда читайте введение, чтобы вы знали, на что способен PHP (это спасет вас от попыток заново изобрести колесо). Документация PHP ударяет по документам практически любого другого языка, с которым я работал, из-за отсутствия воды.
  • Следующий шаг; настроить PHP. Вручную. Не используйте XAMPP или что-то еще, сделайте это самостоятельно. Это всегда помогает узнать, как настроена ваша среда.
  • Не начинайте с IDE в начале. Знакомство с языком означает вставание-близкое и личное. IDE неясные вещи, чтобы помочь вам GetThingsDone, который отлично работает, когда вы знаете, что делаете, и знаете целевую среду, но когда вы начинаете, они просто мешают и скрывают, что важно.
  • Не начинайте с фреймворков в начале. Опять же, они там, чтобы помочь вам GetThingsDone, который работает только тогда, когда вы знаете, что делаете в первую очередь. Начните с основ, иначе вы будете изучать фреймворк, а не PHP.
  • PHP - это, по сути, продвинутый механизм шаблонов. Не попадайте в ловушку чрезмерно раздутых "PHP templating engines". Они просто делают то, что делает PHP, удваивая работу и работая в два раза медленнее, чем PHP. Для начала используйте встроенный html/php. Опять же, это поможет вам понять, что такое PHP, как он работает и когда его использовать.
  • Как и в AJAX и CSS... они не имеют ничего общего с PHP, но с выходом, который вы создаете на PHP (и с AJAX, который получает вход). Не загружайте плиту слишком много, чтобы съесть сразу. Начните с простого PHP + HTML и сделайте свой CSS вручную. Затем, когда вы счастливы, смешайте немного javascript.
  • Лучшее, что вы можете сделать с любым языком, - это изучить среду, над которой вы собираетесь работать, потому что программирование (относительно) похоже на все. Все они имеют петли, структуры данных, ввод/вывод и т.д., Но все они работают совсем по-другому.
  • Не верю в шумиху. Я сейчас перехожу от PHP к Python, и я мог просто подпрыгнуть на фургоне Django в GetThingsDone, но я знаю, что если я столкнулась с проблемой, я не знаю, с чего начать ее исправлять. Поэтому я беру свой собственный совет и начинаю с самого начала; чтение руководства, настройка тестовой системы, разбор простых файлов, получение ввода/вывода, подключение к веб-серверу... вся часть знакомства с моей новой средой.

Ответ 4

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

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

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

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

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

Ответ 5

Прежде всего, этот PHP сам является системой шаблонов

Ответ 6

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

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

Ответ 7

Вам нужно узнать следующее (я бы предложил в этом порядке):

  • Основные Объектно-ориентированные принципы (такие как наследование, полиморфизм и инкапсуляция)
  • Сам язык PHP. В частности, PHP 5.
  • Принципы проектирования баз данных, такие как таблицы, ключи, отношения, нормализация и т.д.
  • SQL - структурированный (или стандарт никогда не помнит, какой) язык запросов. В частности, изучите основы запросов выбора, вставки, обновления и удаления.
  • Хорошие принципы проектирования и методы кодирования (здесь вы можете найти сообщения на StackOverflow для одного), например, разделение представления и бизнес-логики.
  • A Framework, Any Framework - это поможет вам познакомиться с более продвинутыми концепциями объектно-ориентированных шаблонов проектирования и позволит вам следить за учебными пособиями, которые будут способствовать хорошему дизайну и методам кодирования.
  • Объектно-ориентированные шаблоны проектирования, такие как MVC, модели абстракции базы данных и т.д.
  • Расширенный SQL и другие элементы базы данных, такие как триггеры, хранимые процедуры и другие функции.

Ответ 8

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

Ответ 9

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

Ответ 10

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

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

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

Ответ 11

Чтобы каждое значение везде должно быть закодировано соответствующим образом. echo $some_variable_that_seems_innocent является злом девять раз из десяти.

Использовать htmlspecialchars() в HTML/XML, подготовленные операторы или не менее addslashes() при построении SQL-запросов, json_encode() при вставке значений в скрипты, rawurlencode() при добавлении компонентов URL, escapeshellargs() при построении команд оболочки, и др.

Если вы вставляете текст в URL-адрес этой части script в документ XHTML, вам нужно будет кодировать данные три раза.

Ответ 12

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

Ответ 13

Используйте отличную среду IDE (например, Eclipse), которая позволяет вам отлаживать и выполнять некоторое завершение кода. Это сэкономит вам время.

PHP имеет много программистов и очень популярен. Много чего уже сделано для вас, прежде чем писать код, поиск в google всегда является хорошей идеей.

Вы должны использовать некоторые из Framework, если начинаете с нуля. Это ответит на все ваши вопросы об AJax, шаблонах... потому что большинство из них поставляется с этими пакетами. Вот несколько сообщений о том, как начать выбирать структуру: SO 1, SO2, Здесь список PHP Framework.

Вы можете создавать PHP на Windows, Linux или Mac.

Ответ 14

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

Чтобы запустить 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 учебные пособия.

Ответ 15

Я бы сказал, что основным будет HTML.;)

Ответ 16

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

Ответ 17

Вы должны знать, как эффективно использовать хотя бы один Debugger/IDE. Удивительно, что вы можете узнать из своего кода, пройдя через него и наблюдая за его запуском. Это упрощает отслеживание ошибок и улучшает качество вашего кода. Я считаю, что вы никогда не должны передавать код проекту, который вы не видели.

Ответ 18

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

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

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

Ответ 19

Язык PHP

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

Ответ 20

Будьте осторожны с фрагментами кода, которые вы найдете в Интернете. Часто они содержат sql в html, что является плохой практикой, а также уязвимостями безопасности, такими как SQL-инъекция. Я видел мало тех, которые используют подготовленные инструкции, что хорошо для безопасности.