Изучить язык php с нуля. Не будьте слишком горды для того, чтобы меняться. Почему Мне стоит использовать PHP

Удерживая за собой "первый номер", 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. Пожалуйста не стесняйтесь и задавайте вопросы, а так же давайте дельные советы в комментариях. Я постараюсь учесть ваши замечания во второй части, которая должна будет появится в следующую среду. Если вам понравилась статья, пожалуйста сделайте на нее ссылку в соц. сетях!

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

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).

На первые несколько пунктов попробую написать рекомендации в свободной форме.

Первое и самое главное - чтобы хорошо изучить программирование на РНР, надо хорошо изучить программирование. Это очень важная вещь. Большая часть людей, пишущих на РНР, не имеют ни малейшего представления о программировании. Даже о таких базовых вещах, как форматирование кода, отладка, профайлинг, обработка ошибок, файловые операции. Можно заметить, что я не говорю об ООП. Это совсем отдельная тема, ООП надо учить специально. К сожалению, из 100 человек, которые говорят, что знают ООП, 90 являются банальными копипастерами, выучившими синтаксис, но не понимающими смысла объектов. Но чтобы играть в шахматы, недостаточно знать, как ходят фигуры.

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

  • Можно склепать гостевую или сайт-визитку на «голом» РНР - и ничего плохого или позорного в этом нет. Наоборот - это плюс языка, который годится и для таких целей, не таща за собой пару миллионов строк кода ради сайта из пятисот.
  • Можно написать профессиональный портал, взяв за основу какой-то из существующих фреймворков, и заниматься его развитием.
  • Можно написать кастомный хайлоад проект, для которого нужно будет писать собственный фреймворк опять на голом РНР.
  • Можно, как уже говорилось, клепать сайты на основе какой-нибудь ЦМС.
Вариантов масса! поэтому нужно определиться сначала, чего хочется.

Там выше говорили про JS+CSS - не надо слушать, это полная ерунда. Фронтенд программирование - совсем отдельная вещь, куда больше визуальная, чем абстрактная. И, слава богу, все больше работодателей начинают понимать это. Хотя опять же - если фрилансишь и на все руки мастер - то без этого никуда.
Но если работать хардкорным серверным программистом в команде, то об HTML/JS/CSS нужно иметь только общее представление (поскольку тексты на этих языках являются, вообще-то, практически единственным результатом работы РНР).

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

Теперь по остальным
Mysql всё ещё является краеугольным камнем хранения данных в вебе. Нужно знать и понимать джойны, индексы
Фреймворки - обязательно. Тут, правда, стоит проблема выбора, но принципиальной разницы между ними нет. Yii - неплохой выбор.
Гитхаб тебе не нужен, знать его не обязательно. А вот что является обязательным для веб-программиста - это умение пользоваться гуглем. Хотя бы на уровне умения скопипастить в поисковую форму сообщение об ошибке или написать вопрос «Что такое git» ;-)
Но для работы в коменда какую-либо систему контроля версий знать надо. Наиболее распространённой является Subversion. Понимать принцип работы и базовые команды - коммит, апдейт и чекаут.

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

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

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

Для чего нужен PHP

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

Оптимизировать администрирование сайта позволяет использование PHP (акроним для PHP: Hypertext Preprocessor «гипертекстовый препроцессор») – скриптового языка программирования, позволяющего создавать динамически наполняемые веб-страницы. Его применение дает возможность сделать ресурс действительно интерактивным, а процесс управление сайтом – простым и менее затратным в плане приложенных усилий. Онлайн курсы PHP от WebShake помогает овладеть основами скриптового языка с нуля, научиться создавать динамические ресурсы, которые легко модифицировать и поддерживать.

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

Преимущества скриптового языка

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

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

Высокая скорость выполнения сценариев повышает эффективность и востребованность PHP, а способность интегрироваться с другими языками (в частности, HTML, JavaScript) позволяет подстраивать Hypertext Preprocessor под потребности конкретного веб-разработчика.

Возможности PHP

Разработка сайта с использованием этого скриптового языка позволяет:

  • Уменьшить потребности интернет-страницы в ресурсах. Веб-приложение занимает меньше места, становится «легче», а значит – быстрее открывается.
  • Значительно упростить процесс управления интернет-страницей, внесения изменений. Статичные сайты не отвечают реалиям сегодняшнего дня, так как попросту не успевают за происходящим вокруг. Невозможность идти в ногу со временем в конечном счете сказывается на посещаемости.
  • Обеспечить эффективный анализ работы сайта (вести статистику посещаемости и т. д.).

Эффективность Hypertext Preprocessor по достоинству оценена крупнейшими компаниями. Наш курс по PHP для начинающих позволяет не отвлекаясь от работы или учебы приобрести необходимые навыки и знания для успешного построения карьеры в сфере веб-разработки.

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

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

Что же такое PHP?

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

Говоря простыми и доступными словами, php это язык программирования, специально разработанный для создания сценария веб-приложения, который исполняется на web-сервере. Это достаточно востребованный язык программирования, так как 85% веб-сайтов используют его.

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

Обучаемся эффективно

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

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

Наиболее распространенный компилятор это denver – простой и бесплатный пакет нужных программ, с помощью которых вы сможете писать скрипты. Если вы спросите мое мнение, то я бы посоветовал вам скачать Open Server. Он сейчас набирает обороты. Он на голову выше денвера и в нем вам будет удобнее работать.

Что делают эти пакеты? Они позволяют и работать на нем как на сервере. Скачивать что-либо прямо сейчас необязательно. Вы еще не раз услышите о полезном софте из этой серии в любом обучающем курсе, а он вам понадобится.

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

Книги для обучения

Скажу сказу, я не фанат книг. Когда речь идет о интернет-технологиях. Это все равно что объяснять человеку из племени Масаи что такое wi-fi. Никакие рисунки не помогут нормально все понять. И тем не мене, я хочу предоставить вам небольшой список книг по php для чайников, которые котируются среди профессионалов.

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

PHP и MySQL. Разработка Web-приложений – отличная книга которая подойдет новичку. Первым делом автор покажет как настроить Apache (HTTP-сервер), PHP и MySQL (база данных), затем подскажет, как выбрать редактор кода. В книге рассматривается: синтаксис языка, самые полезные функции, создание собственного движка и ряда других функций.


В общем, ничего удивительного не правда ли? Но тем не менее это настоящий учебник с уникальной информацией, которую вы больше нигде не найдете. Это уже пятое издание, то есть никаких устаревших сведений не будет. Книга выпущена в 2015 году. Для того, чтобы начинать самому знакомиться с кодом – самое оно.

HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера – Это более детальный учебник по изучению php. В нем затрагиваются несколько других полезных , без которых полноценное создание веб приложений невозможно.

Читается достаточно легко, подходит для самостоятельного изучения и обучения студентов. Автор затрагивает такие темы как: основы php, динамическое формирования страницы при помощи CSS (каскадная таблица стилей), администрирование баз данных, создания динамических страниц при помощи JavaScript.


Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5 – данную книгу я бы посоветовал более продвинутым читателям, которые уже обладают основными навыками HTML верстки. Если вы когда-либо изучали это, и еще помнете основные принципы тогда эта книга для вас.


PHP и MySQL. От новичка к профессионалу – и завершает наш обзор книга Кевина Янка, в ней автор делает сильный уклон на создание веб-приложений с базой данных.


Книга очень легкая, отлично подойдет для самостоятельного обучения.

Видео с YouTube

По своему опыту скажу что, обучатся php по роликам из ютуба достаточно сложно. Хоть они и кажутся простыми. В отличии от уроков по фотошопу, которые я обожаю, изучать языки программирования в ютубе просто невозможно. Даже видео длиной всего в 15 – 20 минут вызывает массу неудобств.

Такие видео могут отбить желание самому набирать код. Зачем, если за вас уже все сделал автор: набрал, запустил, показал на конкретном примере как все работает? В результате запомнить что-то практически невозможно.

Обучающий курс

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

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

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

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

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


Если вы мечтаете о том, чтобы научиться создавать сайты без , сами и на php, то это лучший для вас вариант.




Top