Я хотел бы быть программистом PHP / MySQL
Какие технологии я должен знать?
Подобно:
Скажите, пожалуйста, минимальные требования, которые я должен знать, и расскажите мне свои любимые вещи в предыдущем списке?
благодаря
Во-первых, нет необходимости знать об изучении PHP и MySQL … Вы идете в нее, ничего не зная, и вы выйдете из нее, зная кучу. Если бы это было необходимо, то никто не смог бы проникнуть в PHP и MySQL. Я лично считаю, что у вас есть небольшое преимущество в этом, не зная об этом. Это даст вам свежую перспективу и подумает, что за пределами поля зрения 🙂
Что касается объектно-ориентированного материала в этом потоке, это правда. Но, как говорили другие, полностью программисту (вы) решать, как писать свой код. Вы можете использовать объектно-ориентированные методы, создать спагетти-кодовое соединение или просто вставить кучу функций или что-то еще. В любом случае, как говорили все остальные, это зависит от вас 🙂
Канал IRC:
На самом деле это не нужно, но я нахожу это полезным … Увидимся здесь 🙂
irc.freenode.net #php
Руководство:
Пособие – ваш друг и, вероятно, единственное, что вы должны знать перед погружением.
http://dev.mysql.com/doc/refman/5.0/en/apis-php.html
Каркасы:
Убедитесь, что это MVC-инфраструктура 🙂
IDE:
Что бы вам ни понравилось 🙂
http://www.zend.com/en/products/studio/
https://www.jetbrains.com/phpstorm/
Шаблонные двигатели:
PHP – хороший механизм шаблонов
Структуры диспетчера представлений модели помогают в этом
twig.sensiolabs.org
Ajax:
http://developer.yahoo.com/yui/
http://code.google.com/webtoolkit/
CSS:
http://www.yaml.de/en/home.html
http://code.google.com/p/blueprintcss/
http://developer.yahoo.com/yui/reset/
Определенно не исчерпывающий список, и все меняется постоянно … Но, это начало 🙂
Повеселись!
Chrelad
Безопасность – важная тема, которую каждый веб-программист должен изучить, прежде чем разрешить публиковать код, доступ к которому можно публично публиковать в Интернете.
Примеры проблем безопасности:
Есть больше проблем с безопасностью, которые вы должны знать и иметь в виду при написании приложений PHP. На веб-сайте http://www.owasp.org содержится много полезной информации .
PHP был моим первым языком, который я узнал на стороне, работая младшим офицером в своей первой работе более 10 лет назад. Вот некоторые вещи из моего опыта:
Что должен знать каждый программист PHP?
Вам нужно знать язык, который не является PHP. Я не говорю, что вы не должны разрабатывать свои сайты на PHP, на самом деле это действительно хорошо, но вам действительно нужно знать хотя бы один другой язык, чтобы получить какую-то перспективу.
Зачем? PHP разбит и наполнен плохим дизайном и ошибками. Вы можете написать отличный код на PHP, но вы никогда не сможете обнаружить плохой дизайн и неудачи самого PHP, если вы не знаете ничего лучше.
Я бы предложил python, ruby или C #
PS: Если вы не думаете, что это полезное предложение, то, во что бы то ни стало, отказано в этом ответе, но если вы сбиваете с толку, потому что вы чувствуете себя оскорбленным моим утверждением о том, что PHP сломан и плохо разработан, не стреляйте в посланника, я «Просто говорю правду!
Прежде всего, что сам PHP является системой шаблонов
Безопасность.
Точно так же, как Лукас Оман сказал – вам нужно на PHP писать код хорошо; и это не издевается над вами. Если вы не понимаете, почему вам нужно подтвердить выход из системы или почему вы не можете просто проверить в javascript или почему register_globals плох – ваше приложение будет уязвимым в той или иной форме.
Вам нужно узнать следующее (я бы предложил в этом порядке):
Игнорируйте функции mysql_ *. Они не только не обеспечивают простой способ написания защищенного кода, но и на самом деле делают все возможное, чтобы сделать его болезненным и утомительным, если вы попытаетесь. Вместо этого используйте mysqli или PDO (и у вас нет оправданий сейчас – PHP 4 был конец жизни несколько месяцев назад).
Все хорошие ответы, но есть что-то важное отсутствует: если вы хотите серьезно перейти на PHP, тогда вам следует знать, что есть много программистов PHP, которые ленивы, неумелые, невежественные, ошибочные и, к сожалению, получают свой код, выпущенный публике. История PHP означает, что он поддерживает некоторые сомнительные функции (а не только такие вещи, как register_globals, но также и такие вещи, как автоматическая инициализация), и люди все еще используют их. Ты не хочешь.
Я бы сказал, что самое главное – узнать, как работает весь процесс построения страницы с PHP – в этом запросе приходит клиент (веб-браузер), попадает на веб-сервер, передается через PHP, который затем генерирует ответ который отправляется обратно. Прочное понимание этого поможет вам
Как только у вас это получилось, вам должно быть довольно удобно писать любое приложение. Но если у вас это не получится, вы начнете смешивать вещи, как я видел, как многие новички делают это раньше.
То, что каждое значение везде должно быть закодировано надлежащим образом. echo $some_variable_that_seems_innocent
является злом девять раз из десяти.
Используйте htmlspecialchars()
в HTML / XML, подготовленные инструкции или, по крайней мере, addslashes()
при создании SQL-запросов, json_encode()
при вставке значений в скрипты, rawurlencode()
при добавлении компонентов URL, escapeshellargs()
при построении команд оболочки и т. Д.
Если вы вставляете текст в URL-адрес, являющийся частью скрипта в документе XHTML, вам нужно будет кодировать данные три раза.
Хотя это не технология, я думаю, очень важно, чтобы вы понимали, что при использовании PHP вы полностью должны писать хороший код. PHP способен на это, но он не поощряет его. Вы несете полную ответственность за то, что вы хорошо написаны хорошо написанный код и, если хотите, следуете принципам OO. У вас не будет никакой помощи от языка.
Используйте отличную среду IDE (например, Eclipse), которая позволяет вам отлаживать и выполнять некоторое завершение кода. Это сэкономит вам время.
PHP имеет много программистов и очень популярен – многое уже сделано для вас, прежде чем писать код, поиск в Google всегда является хорошей идеей.
Вы должны использовать некоторые из Framework, если начинаете с нуля. Это ответит на все ваши вопросы об AJax, шаблонах … потому что большинство из них поставляется с этими пакетами. Вот несколько сообщений о том, как начать выбирать структуру: SO 1 , SO2. Вот список PHP Framework.
Вы можете разрабатывать PHP на Windows, Linux или Mac.
Получение настройки веб-сервера
Чтобы запускать 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 .
Я бы сказал, что основным будет HTML. 😉
Вы должны знать, как эффективно использовать хотя бы один Debugger / IDE. Удивительно, что вы можете узнать из своего кода, пройдя через него и наблюдая за его запуском. Это упрощает отслеживание ошибок и улучшает качество вашего кода. Я считаю, что вы никогда не должны передавать код проекту, который вы не видели.
Язык PHP
Перейдите на PHP.net и прочитайте всю документацию. Когда вы закончите, вы не будете знать все, что вам нужно знать о php, но вы будете знать, где искать.
Будьте осторожны с фрагментами кода, которые вы найдете в Интернете. Часто они содержат sql в html, что является плохой практикой, а также уязвимостями безопасности, такими как SQL-инъекция. Я видел мало тех, которые используют подготовленные заявления, что хорошо для безопасности.
Лично я нашел книгу « Создайте свой собственный веб-сайт, основанный на базе базы данных с использованием PHP и MySQL », очень полезный.
Кроме того, одна вещь, с которой мне трудно было привыкнуть с PHP, – это то, насколько она расслаблена, по сравнению с любым другим языком, который я когда-либо использовал. Под этим я подразумеваю отсутствие типов, гибкость в отношении синтаксиса и пунктуации. Лично я думаю, что это хорошо, но я также знаю, что это, вероятно, поощряет довольно плохое поведение.
Вот еще один совет, который у меня есть: попробуйте использовать что-то вроде принципа DRY, т. Е. Вы снова и снова будете писать одни и те же маленькие (или большие) биты кода – запустите их в функции как можно раньше в процессе кодирования, и жизнь будет намного легче позже.