Сайт о телевидении

Сайт о телевидении

» » Как выучить PHP или любой другой язык программирования. С чего начать изучение PHP

Как выучить PHP или любой другой язык программирования. С чего начать изучение PHP

Reg.ru: домены и хостинг

Крупнейший регистратор и хостинг-провайдер в России.

Более 2 миллионов доменных имен на обслуживании.

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

Более 700 тыс. клиентов по всему миру уже сделали свой выбор.

*Наведите курсор мыши для приостановки прокрутки.

Назад Вперед

20 способов изучить PHP и спасти котят

Есть старая поговорка, восходящая еще к началу 1700-х годов. Она гласит: "Каждый раз, когда PHP-программист не следует лучшим практикам кодирования, погибает один котенок."

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

Начало работы с PHP может быть непростым опытом. Учитывая это, 20 хороших советов научат вас тому, как следовать лучшим практикам и сохранять жизни... жизни котят.


0. Пишите код так часто, как только можете.

Вы изучали в школе иностранный язык? Учили все части речи, глаголы и то, как их спрягать, постоянно слушая при этом речь учителя, построенную из простейших фраз и конструкций?

Много ли знаний, полученных в то время, вы действительно используете?

"Частое программирование с конкретной целью приведет к прочному усвоению знаний".

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

Какова бы ни была причина, вы сохранили его только потому, что использовали его в реальных жизненных ситуациях, в личностном контексте, что позволяет в будущем легко воскресить в памяти основные моменты.

"PHP - это незнакомый язык, такой так испанский или французский. Чтобы чувствовать себя свободно при работе с ним, вам нужно практиковать его за пределами "классной комнаты" .

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

Поэтому не волнуйтесь, если вы "не знаете всего, что нужно" до начала реализации проекта. Когда вы определились с проектом, у вас есть весомая причина научиться всему, что нужно и реализовать его на практике. Частое программирование с конкретной целью приведет к прочному усвоению знаний.


1. Ознакомьтесь с документацией по PHP

Каждый список полезных советов почему-то содержит этот пункт. И точно не зря.

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

Если вы посмотрите на историю сайтов в моем браузере, то самым часто посещаемым будет именно руководство по PHP. И я подозреваю, что ситуация не изменится до тех пор, пока я программирую на PHP.

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

Возможно, одно из полезных знаний о руководстве - это то, что большинство функций можно найти, используя шаблон http://php.net/function-name в адресной строке. Например, для поиска функции strpos() используйте адрес http://php.net/strpos , а для array_key_exists() - http://php.net/array-key-exists . Обратите внимание на отсутствие скобок в адресе и изменение нижнего подчеркивания на символ дефиса.


1а. Читайте комментарии!

Очень легко упустить комментарии из виду, однако сделайте себе одолжение и изучите их. Если в результате работы какой-то функции вы получаете неожиданный результат, то, вполне возможно, кто-то это заметил и объяснил, что к чему в комментариях.

Кроме того, читая чужие комментарии, вы можете почерпнуть множество полезных идей от других разработчиков.


2. Воспользуйтесь преимуществами огромного сообщества PHP

В дополнение к руководству PHP, есть еще много замечательных сообществ разработчиков по всему интернету. Среди моих любимых: StackOverflow.com и форум W3Schools.com .

Кроме того, Twitter является на удивление отличным местом для размещения вопросов о PHP. Если вы проставляете для твита тэг "PHP", то, скорее всего, кто-то в сообществе заметит это и протянет вам руку помощи.

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


3. Не откладывайте хорошие практики на потом

В процессе обучения вы наверняка услышите про полезные привычки и стандарты кодирования, вроде подготовленных выражений и стандартов от PEAR. Не откладывайте изучение этих моментов "на потом" просто из-за того, что это кажется сложным.

"Если что-то является хорошей практикой, то это не потому что мы (другие PHP-программисты) собрались вместе и сказали: "А как бы нам усложнить жизнь новичкам?"

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

Время, которое вы потратите на изучение mysql_query() сопоставимо со временем на изучение PDO или MySQLi . Поэтому, если вы начнете сразу со второго варианта, то можете быть уверены, что вы начинаете с фундаментальных основ работы с базой данных и, в конечном счете, тратите на это меньше усилий и времени.


4. Не откладывайте хорошие практики на потом!

Я просто хотел убедиться, что вы обратили на это внимание.

"Серьезно, ребят. Не откладывайте в долгий ящик. Каждый раз, когда вы нарушаете лучшие практики из-за того, что они кажутся "слишком сложными", компания BP топит в сырой нефти очередного пушистого котенка."

Так что если вы не будете делать это для себя, своих проектов, своих коллег, или для сообщества в целом, то, по крайней мере, помните про котят.


5. Сделайте код самодокументируемым

На ранних стадиях, конечно, может быть заманчиво "поиграться" с именами переменных и фукнций. Может быть, вы читали статьи о производительности или видели фрагмент кода, который выполняет тонну работы всего в двух строках кода (но ооооочень длинных:)), или вы хотите создать свой собственный "фирменный стиль" кодирования?

"Если вы хотите выжить из имен переменных все символы для сокращения общего времени работы скрипта на 0.2 мс., то, скорее всего, столкнетесь с большими проблемами."

Каково бы ни было искушение, нужно устоять любой ценой.

Рассмотрим следующий фрагмент кода:

Вы понимаете сходу, что здесь происходит?

Конечно, вы разберетесь с тем, как это работает, но зачем заставлять других людей, изучающих ваш код, тратить лишнюю минуту на то, чтобы понять, что же содержит в себе переменная с "говорящим" именем "c"?

Давайте возьмем этот код и сделаем его самодокументируемым:

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

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


6. Добавляйте комментарии ко всему, над чем вам пришлось задуматься

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

Если ваш код самодокументируемый, то вам не понадобится много комментариев. Однако, какими бы очевидными и понятными ни были имена ваших функций и переменных, всегда найдутся некоторые "белые пятна", когда совершенное действие на совсем очевидно.

"Комментарии - это признак компетентного веб-программиста."

Когда это происходит, комментируйте код. "Будущий Вы" скажем "Нынешнему Вам" огромное спасибо, когда придет время модифицировать скрипт.

"Как правило, если вы призадумались на несколько секунд о том, что нужно сделать для того, чтобы скрипт работал как надо, - это верный знак того, что стоит сделать пометку."

Давайте посмотрим:

$pieces = explode(".", $image_name); $extension = array_pop($pieces);

Что здесь происходит? Вам пришлось остановиться и подумать над кодом? Вы все еще не уверены относительно того, что находится в переменной $extension ?

Посмотрите на сниппет ниже снова, всего лишь с одним кратким комментарием:

// Получаем расширения файлов изображений $pieces = explode(".", $image_name); $extension = array_pop($pieces);

Теперь, даже если вы не знаете, как именно работает какой-то код, вы, по крайней мере, будет знать, что в переменной $extension находится расширение изображения. Если это поможет "Будущему вам", либо сохранит несколько секунд времени другому разработчику, то есть смысл потратить 7 секунд для того, чтобы добавить комментарий.

Как и всегда, ключевым моментом является умеренность.

Слишком малое количество комментариев - и вы рискуете оставить другого разработчика (и "Будущего вас") озадаченным по поводу тех или иных фрагментов кода. Это может привести даже к случайному нарушению кода, т.к. если нет объяснений, то код может показаться глупым или избыточным.

"Умеренность - ключ ко всему."

Слишком большой объем комментариев - и ваш код становится трудно "просканировать", что тоже очень мешает работе.


7. Изучите Docblock и используйте его

Docblock - это стандарт комментирования (подробнее ).

У меня есть несколько доводов в пользу применения этого стандарта:

1. Он заставляет нас думать о том, "что" и "почему" для каждого файла, функции, метода, и т.д.

2. Он дает ясные описания ожидаемых параметров и возвращаемых значений для функций / методов.

3. Он дает краткое описание того, что делает тот или иной код.

4. В сочетании со средой разработки (IDE), поддерживающей Dockblock, мы имеем подсказки для кода (которые позволяют нам видеть описания, ожидаемые параметры и возвращаемые значения для функций и методов, которые мы используем).

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

Не стесняйтесь пропустить этот этап, но помните о котятах.

Docblock показывает свою универсальность, когда используется для документирования классов:

/** * Простой класс для подсчета суммы или разности переменной $_foo и некоторого значения * * @author Jason Lengstorf * @copyright 2011 Copter Labs * @license http://www.opensource.org/licenses/mit-license.html */ class CopterLabs_Test { /** * Значение, используемое для сложения и вычитания * @var int */ private $_foo = 0; /** * Прибавляет значение к $_foo и возвращает сумму * @param int $add_me Значение, прибавляемое к $_foo * @return int Сумма $_foo и $add_me */ public function add_to_foo($add_me=0) { return $this->_foo += $add_me; } /** * Вычитает значение из $_foo и возвращаеть разность * @param int $subtract_me Значение, вычитаемое из $_foo * @return int Разность $_foo и $subtract_me */ public function subtract_from_foo($subtract_me=0) { return $this->_foo -= $subtract_me; } }

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

Вышеприведенный Docblock при использовании в Netbeans даст нам такие подсказки для кода:


8. Не будьте настолько суровым кодером, чтобы отказываться от IDE

Если вы еще не знаете, то есть такое поверье: жесткие кодеры, думающие как настоящие программисты, не используют IDE .

Теперь смотрите: если вы хотите произвести впечатление на людей, то лучше научитесь жонглировать.

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

Не будьте "Странным парнем".

"Нет ничего плохого в том, чтобы использовать софт, который дает подсветку синтаксиса на лету, проверку ошибок и подсказки по коду".

Насколько мощную IDE использовать - полностью зависит от вас. Лично мне очень нравится Netbeans . Я слышал тонны похвал в адрес Coda для Mac (хотя это не совсем IDE), а сам ранее использовал Eclipse (до переезда на Netbeans).

Независимо от того, какую IDE вы используете, вы увидите увеличение скорости работы и снижение количества мелких ошибок. Позже, когда ваши библиотеки кода пополнятся, вы будете иметь подсказки по коду для всех своих приложений (потому что вы используете Docblock, верно? Верно?!)

Не думайте, что IDE - это не круто - неважно, что вам говорит "Странный парень".


9. Группируйте повторяющийся код в функции

Когда вы только начинаете писать приложение, вы можете легко работать, двигаясь сверху вниз и добавлять в нужных местах необходимый код.

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

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

Рассмотрим следующий пример:

$unclean1 = "Click Me!"; $detagged1 = strip_tags($unclean1); $deslashed1 = stripslashes($detagged1); $clean1 = htmlentities($deslashed1, ENT_QUOTES, "UTF-8"); $unclean2 = "Let"s call Bjorn!"; $detagged2 = strip_tags($unclean2); $deslashed2 = stripslashes($detagged2); $clean2 = htmlentities($deslashed2, ENT_QUOTES, "UTF-8"); echo $clean1, "
", $clean2;

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

Это тот случай, когда использование фукнции гораздо желательнее:

$unclean1 = "Click Me!"; $unclean2 = "Let"s call Bjorn!"; $clean1 = sanitize_input($unclean1); $clean2 = sanitize_input($unclean2); echo $clean1, "
", $clean2; function sanitize_input($input) { $detagged = strip_tags($input); $deslashed = stripslashes($detagged); return htmlentities($deslashed, ENT_QUOTES, "UTF-8"); }

После внесения повторяющегося кода в функцию, гораздо проще ориентироваться в происходящем и редактировать те шаги, которые вы предпринимаете для очистки входящих данных.


10. Группируйте сходные фукнции в классы

Знакомство с ООП (объектно-ориентированное программирование) - еще один момент, который можно отнести к категории "освоить как можно раньше".

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

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


11. Используйте константы, а не глобальные переменные.

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

Я хранил неизменные данные (вроде названия сайта и максимальной ширины картинки) а также учетные данные для подключения к базе данных в переменных, что приводило к тому, что я вынужден был использовать массив $GLOBALS для доступа к нужной информации.

Потом я осознал, что PHP позволяет определять константы, используя функцию define() .

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

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


12. Не бойтесь использовать Includes

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

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

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

Например, на сайте с множеством страниц, типичный шаблон может иметь вид, вроде:


13. Не сходите с ума из-за производительности

Это серьзный камень преткновения для некоторых разработчиков, что не есть хорошо. Есть очень тонкая грань между написанием эффективного кода и пустой тратой времени на попытки снизить время выполнения скрипта на 5 мс.

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

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

Никто не сможет заметить разницы при загрузке страницы за 25 или за 40 мс. Убедитесь, что это не 700 мс. и занимайтесь более важными вещами.


14. Не "жените" HTML на своих скриптах.

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

Рассмотрим следующий пример:

Echo "

Здесь идет контент.

";

Действительно ли необходимо оборачивать параграф тэгом div ? Можно ли изменить код так, чтобы он включал в себя только тэги параграфов для содержания текста? Давайте посмотрим на альтернативный вариант:

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

В большинстве случаев вы можете отделить HTML от PHP, что сделает ваши скрипты более удобными для чтения и поддержки.


15. Попробуйте использовать хотя бы одну незнакомую концепцию в каждом новом проекте

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

Речь не о том, чтобы быть излишне амбициозным - просто намеренно заставляйте себя выйти за пределых своей зоны комфорта.

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


16. Не будьте слишком горды для того, чтобы меняться

Вы будете неправы. Причем часто. Но это не так уж плохо.

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

Здесь очень важно не привязываться к коду, который вы написали. Не думайте, что ваш код лучше просто потому, что его написали вы. Если вы наткнетесь на классное решение какой-то задачи, используйте его! Обратите внимание на то, как сделано у других, и что вы можете улучшить у себя.

"Никогда не позволяйте себе думать, что непрофессиональное решением является приемлемым, поскольку оно ваше. Это высокомерие (которое, как правило не приводит ни к чему хорошему)."


17. Проводите валидацию

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

Помните: Валидация (validation) - это совсем не то же самое, что очистка (sanitization).

"Валидация входящих данных - это проверка факта соответствия этих данных определенному формату, вроде проверки того, является ли введенное значение корректным email-адесом, либо содержит ли поле для ввода логина от 8 до 20 символов латинского алфавита или цифр."

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


18. Что не запрещено - разрешено?

Во многих ситуациях вам нужно избавиться от определенных символов, фрагментов текста, тэгов и т.п.

Типичным решением является создание так называемого "блэклиста": подборки запрещенных тэгов, символов и т.д.

"Если вы постоянно не пополняете и не мониторите свой черный список, то это чревато возникновением уязвимостей."

Это, однако, создает дополнительные трудности. Вам нужно быть умнее тех, кто хочет сделать что-то "противозаконное". К примеру, для отключения JavaScript в комментариях, вы могли бы запретить использование события OnClick и ему подобные, но что делать, если вы что-то упустили? Что делать, если какие-то новые события будут добавлены в спецификацию в будущем?

Если вы постоянно не пополняете и не мониторите свой черный список, то это чревато возникновением уязвимостей.

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

Например, в функции strip_tags() , вы можете явно указать, какие теги разрешены в строках:

Strip_tags($string, "");

Теперь ваша проблема, скорее всего, будет заключаться в том, что вы сделали меньше, чем хотели:) Однако такой подход намного безопаснее и спровоцирует меньше неприятных ситуаций в будущем.

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


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


Подводя итог

Если вы новичок, советы, рассмотренные выше, помогут вам значительно продвинуться в сторону применения хороших практик в вашей деятельности.

Не пугайтесь, если все, что здесь написано для вас в диковинку: просто делайте за один раз один шаг (см. пункт 15).

Удерживая за собой "первый номер", PHP один из самых популярных языков среди разработчиков. Хотя многие предпочитают и другие языки. Например, многие предпочитают работать в ASP.NET. Однако, из-за большой популярности Wordpress, все больше и больше разработчиков решают, расширить свои горизонты и выучить еще один язык.

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

Мои Планы

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

А зачем же вам учиться у новичка? Постараятесь не думать, что я учу вас. Думайте об этих статьях, как о сообществе, в котором все помогают друг другу. Я так же многому научусь у вас, так же как и вы у меня.

Что такое PHP?

PHP - означает Гипертекстовый Препроцессор (Hypertext Preprocessor). В то время, как другие языки, такие как Javascript, работают на клиентской части, ваш PHP код, будет работать на серверной части. Он работает без проблем с нашим HTML. Кроме того, ваш PHP может быть встроен в ваш HTML и наоборот. Важно помнить, что независимо от сложности вашего PHP это в конечном итоге будет выводиться как простой HTML.

Почему Мне стоит использовать PHP?

HTML на 100% статичен. Используя код на PHP, мы можем делать динамические сайты, которые могут меняться в зависимости от условий. С сообществом, которому нет равных, этот язык с открытым исходным кодом зарекомендовал себя на протяжении многих лет как один из лучших вариантов для динамических веб-приложений.

Абсолютно. Я был приятно удивлен в начале обучения. Ели у вас есть базовые знания в области ASP.NET, Perl, Javascript, или C#, вы быстро освоитесь с синтаксисом языка.

Что мне нужно чтобы начать Заниматься?

Для начала, вам нужно установить на компьютер следующие компоненты.

  • Apache
  • MySQL
  • Браузер
  • Текстовый редактор или редактор кода
WAMP, MAMP

Да, я должен извиниться, но вам нужно выучить несколько сокращений. WAMP - означает "Windows-Apache-MySQL-PHP". Это открытый проект, который позволит нам загрузить все, что нам нужно, чтобы начать работу. Если вы пользователь Windows, то я рекомендую вам зайти на WampServer.com . А если вы пользуетесь Mac (MAMP), то тогда вам нужно будет зайти на Mamp.info

Видео Уроки

Наша первая остановка - это . Возможно больше чем какой либо ресурс Linda.com, дала мне много ценных знаний за который я всегда буду благодарен. За цену эквивалентную паре пицц, вы получите доступ к базе из видео, где детально рассматривается все, начиная от ASP до SEO - и так же все другие сокращения между ними. Если клиент спрашивает с меня работу с каким-то софтом с которым я мало знаком, первое куда я обращаюсь - это Linda.com. Если вы до сих пор сомневаетесь, то почему бы вам не нагуглить "Lynda.com free trial". Я вас уверяю, вы обязательно для себя что-то найдете. Просто убедитесь, что вы более чем удовлетворены тем, что они предлагают, и тогда подписывайтесь.

После того как вы создадите себе там подписку, или подпишитесь на бесплатный пробный период, зайдите на сайт, и в выпадающем меню по Предметам, пролистайте до PHP. Для этого урока, мы сосредоточимся на видео "PHP with MySQL Essential Training". Постарайтесь посмотреть первые три урока на этой неделе. Это подготовит вас к нашим урокам на следующей неделе.

Основы

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

Мы начинаем и заканчиваем каждый php блок с "" соответственно. Посмотрите свой код и вставьте в него следующее:

Обратите внимание, что во втором примере, мы все записали в одну строчку. Помните, что PHP, не обращает внимание на пропуски. Здесь мы говорим обращаемся к серверу с командой о выводе “echo”, чтобы он вывел на экран фразу "This is PHP in action". Каждая команда в нашем коде должна заканчиваться точкой с запятой в конце. Хотя HTML, может простить вам, если вы случайно забудете закрывающую скобку, PHP, вам этого не простит. Если вы не будете корректно использовать эти правила синтаксиса, вы получите сообщение об ошибке. В этом случае, когда у нас есть только одно объявление,то возможно нам сойдет с рук и мы можем пропустить точку с запятой. Но с самого начала надо учиться писать правильный код.

Объявление переменных

Объявление переменных делается достаточно просто. Вместо того, чтобы использовать “var” (как в C# или Javascript), или “dim” (VB), мы можем объявить переменную использовав символ $. Например, предположим, что я хочу предыдущую строку присвоить переменной с именем “myVariable”. Я могу написать...

В результате этого примера, мы получим тот же результат что и ранее. Однако, в данном случае, мы присвоили переменной строку, и вывели на печать переменную. Теперь, посмотрим, что будет, если я захочу объединить (конкатенировать) переменную и строку?

Используя такую запись, мы можем комбинировать переменные и/или строки.

Вставляем Комментарии в Ваш Код

Если вы знакомы с CSS и Javascript, вы увидите, что комментирование в PHP, такое же.

Объединяем HTML с Нашим PHP

Как я уже говорил, вы должны помнить, что php и html могут работать в связке. То, что мы находимся внутри PHP кода, не означает, что мы не можем с вами вставить разрыв или тэг strong.

Создаем Нашу Первую Функцию()

Создание функции в PHP похоже на объявление функции в Javascript. Основное правило записи следующее...

Если мы хотим создать функцию, которая будет выводить-"echos" 10 плюс 5, мы должны записать так..

Мы создали простую функцию, которая выводит “15”. Мы назвали функцию addNumbers(). В данном случае, мы не используем аргументов. Давайте посмотрим теперь, как мы можем их использовать, чтобы сделать нашу функцию более гибкой.

Теперь наш код стал более универсальным. При создании нашей функции addNumbers(), мы добавили ей два аргумента $firstNumber и $secondNumber. И функция просто выводит сумму этих двух аргументов. При вызове функции, на нужно подставить в нее два числа addNumbers(10, 5). В реальной ситуации, это могли бы быть значения из текстовых полей.

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

Необходимые Ресурсы

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

Зачем изучать php и MySQL?

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


Хотя в наше время значение PHP немного уменьшилось. И все из-за большого количества движков, которые (по иронии ) также построены на основе этого языка.

В современном веб-мире под движками понимают любую систему управления контентом (Content management system, CMS). Большая часть из них написана на PHP и MySQL.

Каждая CMS представляет собой программную основу, снабженную пользовательским интерфейсом. Его инструментарий во многом облегчает процесс администрирования сайта. Но тогда зачем заниматься изучением PHP с нуля? Ведь можно просто зайти в административную часть ресурса и произвести все манипуляции с помощью встроенных в нее средств.

Начнем с того, что не у многих хватает терпения, времени или сил заниматься изучением PHP и MySQL . К этому человек должен прийти сам. Но тот, кто решится постигнуть эти дисциплины, получит:

  • Востребованную профессию – на рынке труда толковые программисты всегда были нарасхват. Но даже неопытные новички с хорошими теоретическими знаниями PHP и небольшим опытом в веб-программировании смогут найти работу с достойной оплатой;
  • Удаленную работу – для того чтобы заниматься программированием не обязательно рано вставать, добираться на работу и соблюдать дресскод. Все это можно оставить за порогом, и создавать программный код, сидя дома в комнатных тапочках;
  • Экономию денег – если вы являетесь владельцем сайта, то конечно знаете, что услуги профессиональных веб-программистов стоят дорого. А для начинающего свое дело в интернете дорога каждая копейка. Самостоятельное обучение MySQL и PHP позволит сэкономить средства и пустить их в нужное русло.

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

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

  • Интересное хобби – веб-программирование это не только средство зарабатывания денег или их экономии. Это еще и увлекательное занятие, которое совмещает в себе как техническое начало, так и творческую составляющую.

Изучение PHP и MySQL для многих может стать средством самовыражения.

Что такое PHP

PHP относится к скриптовым языкам программирования. Чаще всего он применяется для создания веб-приложений и веб-сервисов. Данный язык поддерживается большинством хостингов в интернете. На его основе написана основная часть динамических сайтов.

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


Популярность PHP объясняется его следующими характеристиками:

  • Поддержка большинства популярных СУБД (Систем Управления Базами Данных );
  • Автоматическая отправка заголовков HTTP ;
  • Встроенная поддержка работы с сессиями и cookies;
  • Средства работы с удаленными файлами;
  • Поддержка XForms (формы, созданные на основе XML );
  • Приближенность синтаксиса PHP к языку C;
  • Отсутствие строгой типизации – типизация переменных осуществляется динамически.

Типы данных – это то, с чего начинают изучение PHP

  • Поддержка ООП (объектно-ориентированного программирования );
  • Большой набор суперглобальных (предопределенных) массивов, предназначенных для работы с веб-пространством.
Что такое MySQL?

MySQL – это свободно распространяемая СУБД от компании Oracle . Вместе с бесплатной версией ведется разработка и коммерческих выпусков под заказ. Именно благодаря этому все новые разработки корпорации обязательно внедряются и в бесплатные выпуски СУБД :


Особенности СУБД MySQL :

  • Поддержка механизма репликации данных, начиная с первых выпусков MySQL .

Репликация – процесс синхронного копирования всех изменений источника сразу на нескольких его экземплярах. То есть любое действие над данными одной копии объекта отразиться и во всех остальных его образцах.

  • Поддерживается работа, как с локальными источниками, так и с удаленными;
  • Встроенная поддержка большого количества типов таблиц. Причем благодаря открытому коду список поддерживаемых типов таблиц увеличивается;
  • Широкий диапазон кроссплатформенности;
  • Размер таблиц баз данных MySQL ограничивается лишь возможностями операционной системы, на которой развернута СУБД ;
  • Поддержка большинства популярных языков программирования с помощью API (интерфейса прикладного приложения ).

Более подробную информацию о возможностях СУБД можно узнать из любого самоучителя или справочника по MySQL.

С чего начать?

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


Несколько оптимальных вариантов:

  • Apache HTTP Server – можно скачать на официальном сайте разработчика;
  • Денвер – наиболее оптимальный вариант для установки и дальнейшего использования. Пакет инсталляции включает в себя сервер Apache, PHP и MySQL . В первом варианте вам бы пришлось все это скачивать и устанавливать по отдельности.


  • XAMPP – набор, включающий в себя PHP и MySQL . А также встроенный самоучитель по PHP :


Оба набора включают в себя утилиту для создания и изменения баз данных на основе MySQL с помощью запросов на T-SQL . Но для написания кода на PHP понадобится редактор с поддержкой синтаксиса этого языка. Несколько наиболее подходящих вариантов:

  • PHPEdit ;
  • Microsoft WebMatrix ;
  • Kantharos PHP IDE ;
  • Adobe Dreamweaver .

» С чего начать изучение PHP?


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

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

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

Также для хранения используемой на сайте информации разрабатывается база данных, поэтому программист должен обладать соответствующими знаниями. Для управления базами данных используется структурированный язык запросов SQL.

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

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

На локальных компьютерах для установки данного программного обеспечения зачастую применяются специальные пакеты программ. Одним из популярных пакетов для веб-разработчиков является Денвер. Данный набор программ работает под управлением операционной системы Windows. Существуют наборы программного обеспечения и для пользователей Linux.

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

После установки набора программ Денвер можно приступать к разработке интернет-проекта. Для управления базами данных MySQL используется удобный инструментарий phpMyAdmin. Все действия с базами данных в phpMyAdmin выполняются при помощи понятного графического интерфейса и сводятся к выбору нужных пунктов меню.

Изучение синтаксиса языка программирования PHP.

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

Для изучения синтаксиса языка программирования PHP понадобится прочитать соответствующую литературу. Можно воспользоваться книгой на нашем сайте. Для тех, у кого есть доступ в глобальную сеть, также предоставлено множество информации размещенной на тематических сайтах. Существует большое количество форумов и сообществ, где можно при необходимости получить ответы на возникшие при обучении вопросы.

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

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

Завершающий этап обучения: На завершающем этапе обучения, когда решены все вопросы о том, с чего начать изучение PHP , производится перенос сайта на сервер. Как правило, на серверах хостинг провайдеров уже установлено все необходимое программное обеспечение и внесены базовые настройки. Разработчику остается лишь скопировать файлы с программным кодом на сервер.

RSS Твиттере , комментариях или на почте.

Как я выучил PHP

В 2006-ом году мне для одного из моих сайтов потребовался один скрипт. Скрипт был достаточно уникальным, поэтому в поисковиках я найти его не смог (его и сейчас нет в свободном доступе). Лишь на одном сайте я встретил подобный скрипт, который продавался за 20$. Потратить на него столько я тогда не мог себе позволить.

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

Основная сложность была в том, мой скрипт требовал где-то хранить данные. Я выбрал базу данных MySQL. Поэтому, кстати, я до сих пор плохо работаю с текстовыми файлами.

Сейчас при просмотре на написанный код нельзя не улыбнуться. Я тогда даже не знал какая разница между $_GET[‘id’] и $id (программисты поймут). И на момент окончания работы не знал. Но главное — скрип работал. Самое интересное в том, что он до сих пор висит и работает на моем СДЛ.

Скрипт надо полностью переписывать, но легче написать его заново. А делать это в лом (да и не вижу особого смысла). Единственно, что я сделал спустя все эти годы, поправил безопасность.

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

Практика

Переходите сразу же к практике. Ставьте мини задачи и пытайтесь их решить. Для начала, поставьте совсем маленькую. Например, вычислить и вывести на экран сколько будет 3+2.

$chislo1 = 3;
$chislo2 = 2;
$otvet = $chislo1 + $chislo2;
echo $otvet;

Этот код можно сократить в несколько раз (до одной строки), но в написанном мною виде уже что-то становится понятно. Например, что фигня echo выводит ответ на экран. Догадайтесь теперь, как посчитать такой пример — 3+7*2 (можете написать в комментариях).

Можно начать с таких вот примеров. А можно с посложней. С гостевой книги, например. Кстати, кто-нибудь помнит, что это? 🙂 Скрипт на самом деле очень простой, поэтому очень хорошо подходит для изучения языка.

Как написать гостевую книгу

В базе MySQL будем хранить сообщения. Для этого нам нужно создать в ней всего одну таблицу со следующими полями: имя пользователя, e-mail, дата сообщения и само сообщение.

Остается только написать на PHP вывод сообщений из базы и добавление новых. Решение ищем в учебниках, примерах и т.д. Можно вбить в Яндексе или Гугле запрос «как вывести данные из MySQL».

Или спросить на форумах — «Пишу гостевую книгу. Данные храню в базе MySQL. Поля следующие: имя пользователя, e-mail, дата сообщения и само сообщение. Подскажите, как на страницу вывести все сообщения?». На самом деле вопрос очень простой и ответ него можно найти и самому.

Предлагаю примерно такую схему изучения:

Нужный скрипт -> Разбиение на задачи и их постановка -> Решение задач с помощью учебников, примеров, форумов и т д. -> Чтение теории, понимание написанного кода и его изменение при необходимости -> Скрипт готов

Могу посоветовать вот эти ресурсы для изучения языка:

На форумах не задавайте общих вопросы по типу «Как написать гостевую?». Задавайте конкретные вопросы вида «Я пишу такой-то скрипт. Вот, что я набросал. Почему вот здесь не выводится то-то? А как сделать так? Объясните это» (пример вопроса приводил в пункте про гостевую).

Если есть какие-то вопросы — задавайте!

———————-

Были мысли написать пару уроков по PHP для начинающих. Но будет ли вам это интересно, уважаемые читатели?

Прошу в комментариях ответить на два вопроса:

1. Знаете ли вы какие нибудь языки программирования и какие?
2. Было бы вам интересно читать о PHP?

P.S. Выучив PHP сможете написать сервис по типу TopSape

Внимание! Мини-конкурс! Первые трое отписавших в комментариях к следующему посту, получат по 5$! Чтобы стать первым, подпишитесь на RSS . Победители конкурса ретвитов прошлого поста: lexnevermind, arshi13rus и voeslav. Жду WMR-кошельки в