Изучаем php с нуля: план действий
Содержание:
- Изучение php с нуля | Уроки php для начинающих
- Условный оператор if
- Базовые понятия
- С чего начать обучение PHP, чтобы стать сильным программистом
- Добавление методов в класс
- Параметры функции: передача аргументов по ссылке и по значению
- Как создать класс в PHP?
- Изучение php с нуля | Уроки php для начинающих
- С чего начать и как правильно учить PHP?
- Приоритет операций
- Что такое объектно-ориентированное программирование?
- 5 последних уроков рубрики «PHP»
- Некоторые основные понятия
- Операторы цикла
- Объединения типов (Union Types 2.0)
- Установка и использование
- Для чего нужен PHP начинающему программисту
- Выводы
Изучение php с нуля | Уроки php для начинающих
Урок 1. Первая программа на PHP
В этом начальном уроке мы напишем первую программу на PHP, узнаем, каким образом код PHP внедряется в разметку HTML и с помощью каких тегов, рассмотрим разделение выражений и виды комментариев.
Установка локального сервера Денвер
Для чего нужен Денвер? Когда ми пишем сайты на php или php скрипты у нас появляется необходимость проверки кода, а для этого нужно загружать данные файлы на хостинг. Загрузка файлов усложняет нашу работу, замедляет ее. Для того чтобы облегчить работу с кодом и существует Денвер, набор дистрибутивов…
Урок 2. Типы данных в php: вещественные, целые числа, строки, массивы, объекты, логические величины
Во втором уроке по php мы рассмотрим различные типы данных в php: вещественные числа (real), целые числа (integer), массивы (array), строки (string), объекты (object) и логические величины (boolean). Автор дает определения этим понятиям, рассказывает на примерах об особенностях их использования в языке программирования php.
Урок 3. Переменные, константы и операции с ними
Что такое переменная в php? Как и в других языках программирования переменной называется именованная область памяти, в которой содержаться данные, которые, как правило, используются при выполнении программы. Переменная в php начинается со знака доллара — $ и состоит из цифр, букв и знака подчеркивания.
Урок 4. Операторы, операнды и выражения в php
В данном небольшом уроке речь пойдет об операторах, операндах и выражениях в php. Материалы урока очень важны для дальнейшего понимания учебных материалов.
Урок 5. Условная конструкция if в php
В очередном уроке по программированию на php речь пойдет об условной конструкции if: что представляет собой условная конструкция if, когда используется, синтаксис записи, примеры использования.
Урок 6. Дополнительно об условных выражениях
В шестом уроке представлена дополнительная информация об условных выражениях в php: отрицательное сравнение операндов, оператор ! (not), встроенные функции isset() и empty(), комбинирование условных выражений с помощью операторов AND, OR и XOR.
Урок 7. Условная конструкция switch() в php
В седьмом уроке по изучению php рассматривается условная конструкция switch(). Материалы урока дают общее представление о конструкции switch(), представлен ее синтаксис, наводится пример практического использования при написании сайта на php.
Урок 8. Использование циклической конструкции while
В восьмом уроке мы познакомимся с циклическими конструкциями в языке php. В частности, детально рассмотрим конструкцию while: запись цикла while, особенности применения, реальный пример с объяснениями.
Урок 9. Циклические конструкции: цикл for
В девятом уроке мы изучим следующую циклическую конструкцию — цикл for. Здесь представлены материалы о способах записи цикла for, практического использования в php скриптах, конечно же, есть примеры.
1
Условный оператор if
- Условный оператор используются для управления выполнением сценария. Синтаксис оператора условия:
if(условие) {операторный блок}
- Схема выполнения: если условие истинно, то выполняется операторный блок, если условие ложно, то выполняется следующий за if оператор.
- При следующей схеме выполнения, если условие истинно, то выполняется операторный блок1, а если условие ложно, то выполняется операторный блок2:
if(условие) {операторный блок1} else {операторный блок2}
- Вместо ключевого слова else можно использовать elseif(условие), чтобы установить проверку еще одного условия:
if(условие1) {код, который выполняется если условие1 истинно} elseif(условие2) {код, который выполняется, если условие1 ложно, а условие2 истинно} else {код который выполняется, если условие1 и условие2 ложны}
- Конструкций elseif в операторе if может быть несколько или не быть вообще. Пример:
< ?php $x=52; if($x>50) {echo $x;} elseif($x==50) {echo $x+12;} else {echo "привет";} ?>
Базовые понятия
Предназначен для начинающих, не имеющих опыта в программировании и создании сайтов. Начинается с вводного урока, посвящённого основам HTML и строению сайта. В дальнейшем устанавливают локальный сервер Denwer и узнают особенности работы в нём.
Знакомство с теоретическими основами даёт возможность приступить к практическим занятиям. Последующие занятия посвящены изучению синтаксиса, написанию первой программы «Hello, world!», выполнению простых арифметических операций. Здесь узнаете про условные операторы (стандартными наборами команд) и циклы (конструкциями, позволяющими многократно выполнять определённые команды).
Со временем уровень сложности повышается. На выходе научитесь не только создавать сайты, но и определять их особенность, ограничивать права доступа, создавать редиректы и формы обратной связи, дающие возможность потенциальным клиентам связаться с владельцем проекта.
С чего начать обучение PHP, чтобы стать сильным программистом
Если Вы их знаете, значит, Вы на правильном пути, можете смело заниматься серьёзной практикой. А если вдруг что-то не знаете, то найдите информацию по этой теме, и изучите её.
А для новичков — это как карта по изучению PHP. Им я рекомендую распечатать её и постепенно изучать каждую тему из этого списка.
Для придания «игрового обучения» напротив каждой темы стоит чекбокс, в который Вы можете поставить галочку, после того, как изучите данную тему. Так будет изучать гораздо проще и интереснее.
Ещё раз дублирую ссылку: http://files.myrusakov.ru/free/files/checklist.rar. Очень хочется, чтобы теперь Вы изучали PHP и MySQL правильно: только то, что нужно и в правильном порядке.
А после этого изучить какую-то тему, которая Вам потребовалась (например, cURL), не составит никакого труда, если Вы знаете всё, что находится в этом файле.
И именно по этим шагам проходит обучение в курсе «PHP и MySQL с Нуля до Гуру«: http://srs.myrusakov.ru/php. Поэтому если у Вас нет времени по крупицам собирать всю необходимую информацию, то приобретите данный курс. После данного курса Вы уже будете отлично знать PHP и MySQL, а, главное, сможете создавать свои сайты и скрипты.
Приятного обучения!
Добавление методов в класс
Что скажете насчет создания методов? Как я ранее упоминал, методы — это обычные функции, являющиеся частью класса. Так что вы, возможно, не удивитесь тому, что и создаются они с помощью того же ключевого слова function. Единственное отличие от создания обычных функций заключается в том, что вы также можете добавить один из идентификаторов доступа (public, private, protected) в ее объявлении. В этом методы схожи с переменными класса:
class ClassName { public function methodName() { // (код) } private function methodName() { // (код) } protected function methodName() { // (код) } }
На заметку: так же, как и в случае с переменными класса, методы public могут быть вызваны откуда угодно, методы private могут вызываться только в пределах класса, а методы protected — из самого класса и его наследника.
Давайте попробуем добавить в наш класс некоторые методы и переменные класса:
- переменная класса private $loggedIn для идентификации пользователя, т.е. зашел он или нет,
- метод login(), который будет осуществлять вход на форум, устанавливая значение переменной класса $loggedIn в true,
- метод logout(), который будет осуществлять выход из форума, устанавливая значение переменной класса $loggedIn в false,
- метод isLoggedIn(), который будет возвращать значение переменной класса $loggedIn.
Вот наш код:
<?php class Member { public $username = ""; private $loggedIn = false; public function login() { $this->loggedIn = true; } public function logout() { $this->loggedIn = false; } public function isLoggedIn() { return $this->loggedIn; } } ?>
Вы наверное заметили, что мы использовали новое ключевое слово $this. В контексте методов объекта специальная переменная $this ссылается на сам объект. Используя $this в методе объекта, метод может получить доступ к любой переменной класса и методу объекта.
Например, метод login() может получить доступ к переменной класса $loggedIn объекта через $this->loggedIn.
Кстати, наша переменная класса — частная (private), поэтому ее нельзя вызывать из любой части скрипта, а только из методов login(), logout() и isLoggedIn(). Это хороший подход, так как внутренняя часть объекта (например, то, как именно записывается, авторизовался ли пользователь или нет) находится отдельно от остального кода. По возможности старайтесь использовать именно переменные класса private, чтобы ваши объекты были автономными, мобильными и защищенными.
На заметку: переменная класса $username в нашем примере — public. Я это сделал только для того, чтобы продемонстрировать, как можно получать доступ к переменным класса объекта. В реальных проектах скорее нужно сделать эту переменную частной и создать специальные переменные класса public для задания значений имени пользователя, если это необходимо.
Параметры функции: передача аргументов по ссылке и по значению
До сих пор в рассматриваемых нами случаях аргументы в функцию передавались по значению. Это значит, что при вызове функции, значение, передаваемое в качестве аргумента, просто копировалось в локальную переменную.
Результат:
То есть для значения переменной $a внутри функции появилось ещё одно имя — $x. Сейчас оба этих имени указывают на одно и то же значение. И если мы изменим значение переменной внутри функции, то оно изменится также и снаружи!
А если бы мы передали переменную в функцию по значению, без использования знака &, то получили бы другой результат.
Будет выведено:
Здесь при вызове функции значение переменной $a было просто скопировано в локальную переменную $x. Внутри функции мы изменили $x, прибавив к нему число 5, а затем работа функции была завершена. Локальная переменная $x перестала существовать, а мы никак не повлияли на переменную $a.
Функции, в которых все аргументы передаются по значению, называются чистыми. Стоит по возможности использовать их, так как в абсолютном большинстве случаев передача значений по ссылкам не требуется и приводит к запутанности кода.
Как создать класс в PHP?
Теперь, когда вы уже знаете, что такое классы, методы, переменные класса и объекты, пришло время создать пару классов и объектов в коде PHP.
Для начала посмотрим, как собственно нужно создавать класс. В принципе, скрипт по созданию класса выглядит так:
class ClassName { // (определение класса) }
К примеру, если вы создаете класс Member для вашего форума, вы напишите так:
class Member { // (определение класса) }
Это достаточно просто. Естественно, класс этот ничего не сделает, пока вы не добавите в него переменные и методы. Тем не менее, приведенный выше код создает валидный класс на PHP, который можно использовать.
Правило хорошего тона: каждый класс помещайте в отдельный файл с названием, совпадающим с именем класса. Например, поместите класс Member в файл Member.php и храните его в папке, допустим, classes.
Изучение php с нуля | Уроки php для начинающих
Урок 10. Циклическая конструкция do…while в php
Небольшой урок по циклу do…while в языке php. Автор указывает на различия по сравнению с циклом while, объясняет особенности конструкции на примере.
Урок 11. Досрочное прерывание итераций с помощью команд break и continue
В данном уроке изложены материалы о двух командах break и continue, с помощью которых можно досрочно прерывать итерации в php. Детально рассматриваются способы записи и применения обеих команд, наводятся примеры использования break и continue.
Урок 12. Подключение внешнего кода в php
В уроке описываются способы подключения внешнего кода в php, приводятся примеры для чего и каким образом осуществляются такие включения.
Урок 13. Команды включения файлов: require, require_ once, include, include_once
В этом уроке подробно рассматриваются 4 команды включения файлов в сценарии php: require, require_ once, include и include_once. Автор наводит примеры подключения файлов с помощью каждой команды, указывает на нюансы их использования и различия.
Урок 14. Массивы в php
В этом уроке мы познакомимся с особенностями использования массивов в языке программирования php, узнаем, что такое массив, как получить доступ к элементам массива, наводится пример простого массива.
Урок 15. Создание массивов в php
В уроке рассматриваются основные способы создания (инициализации) массивов в php, что такое элементы массива, каким образом осуществляется индексация массива, учебные материалы построены на реальных примерах.
Урок 16. Индексные и ассоциативные массивы
В этом кратком уроке речь пойдет об индексных и ассоциативных массивах: определения, различия между ними, создание индексных и ассоциативных массивов, практические примеры использования.
Урок 17. Одномерные и многомерные массивы
В семнадцатом уроке рассматриваются одномерные и многомерные массивы: что такое многомерный массив, пример многомерного массива пользователей сайта, синтаксис многомерного массива, доступ к элементам многомерного массива, уровни вложенности.
Урок 18. Способы перебора элементов массивов в php
В этом уроке Вы узнаете о способах перебора элементов массивов с помощью циклических конструкций for, while и foreach,а также их комбинирование, увидите реальные примеры перебора элементов массивов.
Урок 19. Функции в языке php
В этом уроке представлена общая информация о функциях в языке php: определение понятия функции в php, роль функций, виды и основные свойства.
2
С чего начать и как правильно учить PHP?
В таблице представлен план, по которому можно выучить язык самостоятельно с нуля. Начать рекомендуется с верстки, так как это азы, которые требуется знать. Освоив HTML и CSS, вы сможете быстрее изучить другие технологии.
Шаг |
Описание шага |
1. Освоить HTML и CSS – чтобы уметь верстать макеты |
Основные теги для верстки и их атрибуты, селекторы CSS, позиционирование элементов, оформление текстов, блочная модель, адаптивная верстка. |
2. Изучить основы PHP |
Синтаксис и основные команды, базовые операторы и функции, циклы, основы работы с объектами, файлами, формами, протокол HTTP, заголовки, куки, сессии. |
3. Углубить знания PHP |
Понятие класса и объекта, что такое наследование, полиморфизм, инкапсуляция, работа с базами данных My SQL, тестирование кода. |
4. Узнать, как работает CMS (система управления сайтами) |
Самые популярные – 1C Битрикс, WordPress. Можно освоить любую, которая вам понравится, т.к. изучив одну систему, вы сможете разобраться в других. |
5. Посмотреть, как работают фреймворки на PHP, и изучить один из них |
На выбор – Laravel или Symfony. Есть и другие, но перечисленные более популярны. |
6. Получить дополнительные знания |
Принципы ООП, MVC, система контроля версий Git, ОС Linux, работа в командной строке, планировщик cron, JavaScript. |
Чтобы стать Junior PHP developer, достаточно знать HTML, CSS, PHP, базы данных MySQL, принципы ООП и MVC, систему контроля версий Git и популярную CMS на выбор. С таким багажом вас могут взять на работу в веб-студию. Для позиции Junior опыт работы может не требоваться. Главное знать ПХП и успешно пройти собеседование.
По мере набора опыта вы станете Middle PHP developer. Это программист с опытом работы от 2 лет, который участвовал в больших проектах, хорошо знает язык PHP и фреймворки, способен решать задачи средней сложности и работать самостоятельно без постоянного контроля со стороны старших коллег.
Уровень Senior предполагает экспертные знания в области программирования, владение широким стеком технологий, умение решать сложные задачи, управлять командой и опыт разработки от 5 лет. Зарплата такого специалиста может превышать 300 тыс. рублей в месяц.
Приоритет операций
С наивысшим приоритетом:
- ( ) – вызов функции
- – индексирование (обращение к элементу массива)
Одноместные операции
- ! – логическое отрицание
- + – одноместный плюс
- — – одноместный минус
- ++ – инкремент префиксная запись
- –– – декремент префиксная запись
Мультипликативные
- * – умножение
- / – деление
- % — деление по модулю
Аддитивные
- + – двуместный плюс
- — – двуместный минус
Отношения
- < – меньше
- > – больше
- <= — меньше либо равно
- >= — больше либо равно
Эквивалентность
- == – проверка равенства
- != – проверка неравенства
- === — тождественно равно
- !=== — не равно тождественно
Логические
- && или and – логическое И;
- || или or – логическое ИЛИ;
Присвоения
- =
- *=
- /=
- %=
- +=
- -=
Постфиксный инкремент и декремент
Что такое объектно-ориентированное программирование?
Если вы когда-то создавали собственные функции в PHP и использовали их, то вы использовали такой стиль программирования, как процедурный. В процедурном программировании вы обычно создаете структуры данных — числа, строки, массивы и т.д. — для хранения каких-то данных, а затем обрабатываете эти структуры специальными функциями, которые манипулируют этими данными.
Объектно-ориентированное программирование, или ООП, пошло вперед, так как здесь мы храним структуры данных и функции, их обрабатывающие, в одной сущности, называемой объектом. Вместо того, чтобы обработать данные какой-либо функцией, вы загружаете эти данные в объект, а затем вызываете его методы для манипулирования ими и получаете желаемый результат.
Чаще всего объекты, создаваемые с помощью ООП, отражают реальные сущности. Например, если вы создаете форум для своего сайта, вам следовало бы создать объект Member, который будет хранить информацию о каждом участнике форума (имя, логин, электронный адрес, пароль и др.), а также методы, которые будут обрабатывать эту информацию (регистрация, авторизация, выход из системы, бан и т.д.).
5 последних уроков рубрики «PHP»
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак
В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение
В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
Некоторые основные понятия
Перед тем, как начать писать скрипты, необходимо хорошо разобраться с такими понятиями, как класс, объект, переменная класса и метод.
Классы
Класс — это каркас для объекта. Это кусок кода, который определяет:
- Типы данных, которые будут содержать созданные объекты класса
- Функции, которые будут содержать эти объекты.
Когда вы создаете приложение на ООП, вы обычно будете создавать несколько классов, которые будут представлять различные типы сущностей вашего приложения. Например, для создания форума вы можете создать классы Forum, Topic, Post и Member.
Объекты
Объект — это переменная специального типа, которая создается через класс. Он содержит действительные данные и функции для манипулирования ими. Вы можете создавать сколько угодно объектов от одного единственного класса. Каждая функция объекта не зависит от другого объекта, даже если они созданы от одного и того же класса.
Для сравнения с реальными сущностями:
- Класс — это каркас для автомобиля: он определяет, как автомобиль будет выглядеть и действовать, но это все же абстрактная сущность
- Объект — это настоящий автомобиль, созданный из каркаса: у него есть настоящие свойства (например, скорость) и поведение (например, ускорение или торможение).
На заметку: Объект часто называют сущностью класса, а процесс создания объекта класса — реализацией.
Переменные класса
Значения данных, которые хранятся в том или ином объекте, записываются в специальные переменные, называемые переменными класса. Переменные класса тесно связаны с его объектом. Несмотря на то что все объекты класса имеют одни и те же переменные, их значения могут отличаться.
Методы
Функции, определяемые в классе и применяемые для объектов этого класса, называются методами. Они не во многом отличаются от обычных функций — вы можете передавать им значения, они могут содержать локальные переменные и возвращать значения. Однако, методы чаще работают с переменными объекта. К примеру, метод login() для авторизации пользователей в вашем форуме может устанавливать значение переменной класса loggedIn в true.
Операторы цикла
- Операторы цикла обеспечивают многократное выполнение блока программного кода до тех пор, пока не выполнится некоторое условие. В РНР предусмотрены четыре оператора цикла: while, do-while, for и foreach.
- Цикл while называется циклом с предварительным условием, поскольку сначала проверяется условие, а затем, если условие истинно, выполняется код цикла. Синтаксис:
while(условие) {код;}
< ?php //Пример цикла: $i=10; while($i>0) { echo "$i "; $i--; } //Сценарий выведет: 10 9 8 7 6 5 4 3 2 1 ?>
- Принцип работы цикла, думаю, понятен. Сначала мы проверяем, больше ли переменная $i нуля. Если это так, то мы выводим ее значение и уменьшаем его на 1.
- Цикл do-while называется циклом с последующим условием, поскольку сначала выполняется код цикла, а затем уже проверяется условие. Синтаксис:
do {код;} while(условие);
< ?php //Пример использования цикла $i=1; do { echo "$i "; $i++; } while($i<=10); //Цикл выведет: 1 2 3 4 5 6 7 8 9 10 ?>
- Цикл со счетчиком for полезен, когда мы знаем точно, сколько итераций нам нужно. Синтаксис цикла for:
for(инициализатор; условие; оператор_после_итерации) {код;}
- Сначала выполняется инициализатор. Как правило, он устанавливает начальное значение счетчика цикла. Условие проверяется при каждой итерации цикла. Если оно истинно, то выполняется код цикла. После каждой итерации выполняется оператор, указанный после условия. Пример:
< ?php for($i=l; $i<=10; $i++) echo "$i "; //Цикл выведет: 1 2 3 4 5 6 7 8 9 10 ?>
- Оставшийся цикл foreach сейчас нет смысла сейчас рассматривать, поскольку он специально предназначен для работы с массивами. Вместо него рассмотрим два специальных оператора break и continue.
- Оператор break — прерывает выполнение цикла.
- Оператор continue — прерывает выполнение текущей итерации цикла.
- Оператор break можно использовать для принудительной остановки цикла, a continue — для пропуска текущей итерации. Например, этот цикл выводит только нечетные числа в диапазоне от 1 до 10 (если $i четная, то мы с помощью continue переходим на следующую итерацию):
< ?php for($i=0; $i<=10; $i++) { if ($i % 2 == 0) continue; else echo "$i "; } ?>
На сегодня все. Можно сказать, программа минимум — закончена! Описание других конструкций языка PHP уже выходит за рамки одной статьи. Такие области знаний, как массивы — требуют отдельного повествования.
Объединения типов (Union Types 2.0)
Рассмотрим код:
Здесь тип переменной контролируется только соглашениями программистов. На самом деле, туда может попасть что угодно, и выйти отсюда может также что угодно, так как проверки на тип не обеспечиваются ядром языка.
Теперь же, можно прописать тип (или любой другой) явно, чтобы обеспечить корректность работы модуля:
А также, код становится немного чище, так как мы можем избавится от излишних комментариев.
Типы-объединения имеют синтаксис и могут быть использованы во всех местах, где можно прописать type-hints с некоторыми оговорками:
- Тип не может быть частью объединения.
- Чтобы обозначить отсутствие результата, можно объявить «Nullable union type», который имеет следующий синтаксис: .
- Тип не может быть использован вне объединения. Вместо него стоит использовать .
- Существует также псевдотип , который по историческим причинам уже используется некоторыми функциями в php. С другой стороны, не существует тип , так как он нигде не использовался ранее.
Типы полей класса инвариантны, и не могут быть изменены при наследовании.
А вот с методами всё немного интересней:
- Параметры методов можно расширить, но нельзя сузить.
- Возвращаемые типы можно сузить, но нельзя расширить.
Вот как это выглядит в коде:
То же самое происходит при типах, которые получились как результат наследования:
Интереснее становится когда установлен в , то есть по умолчанию. Например, функция принимает , а мы передали ей . Что в результате должно быть в переменной? Пустая строка, или ноль? Есть набор правил, по которым будет производиться приведение типов.
Так, если переданный тип не является частью объединения, то действуют следующие приоритеты:
- int;
- float;
- string;
- bool;
Так вот, будет перебираться этот список с типами, и для каждого проверяться: Если тип существует в объединении, и значение может быть приведёно к нему в соответствии с семантикой PHP, то так и будет сделано. Иначе пробуем следующий тип.
Как исключение, если должен быть приведён к , то сравнение идёт в первую очередь в соответствии с семантикой «числовых строк». К примеру, станет , в то время как станет .
Таблица неявного приведения типов:
Original type | 1st try | 2nd try | 3rd try |
---|---|---|---|
Типы полей и ссылки
Здесь проблема в том, что тип устанавливаемого значения не совместим с объявленными в полях класса. Для — это могло быть , а для — . Так как эти значения не эквивалентны, то невозможно обеспечить единую ссылку, и будет сгенерирован.
Установка и использование
На нашем курсе мы будем работать с версией PHP 7.1
Где скачать PHP?
Мы рекомендуем использовать программную сборку OpenServer. После загрузки и установки на вашем компьютере появятся свежая версия PHP, веб-сервер, база данных, и много других программ и инструментов для удобной работы. Подробнее об установке и использовании мы рассказываем на первой лекции.
Как выглядит PHP-сценарий
Типичный PHP-сценарий — это набор выражений. Каждое выражение начинается с новой строчки и заканчивается точкой с запятой.
Выражение — это инструкция, которая приказывает PHP-интерпретатору выполнить одно действие, например, сложить два числа или вывести на экран информацию. Давайте посмотрим на самый простой сценарий. Он будет выводить на экран одну строку: «Привет, Мир!»:
Важно отметить, что любой PHP-сценарий обязательно начинается с такой строки: — так мы сообщаем веб-серверу, что дальше в файле находится код на языке PHP. В нашем примере сценарий состоит из всего одной инструкции:
В нашем примере сценарий состоит из всего одной инструкции:
Здесь мы просим функцию вывести на экран наш текст — «Привет, Мир!». Это можно рассматривать как подлежащее и сказуемое в русском языке, где функция — это сказуемое, а «Привет, Мир!» — подлежащее.
Как мы уже знаем, PHP можно встроить в статичные HTML-файлы и модифицировать их с помощью инструкций. Вот как будет выглядеть тот же пример с выводом текста, но расположенный внутри HTML:
Обратите внимание, что в этом примере мы использовали дополнительный фрагмент —. С его помощью мы сообщаем серверу, где заканчивается наш PHP-сценарий
В случае, если наш код последний в документе, и после него ничего не следует, этот фрагмент не обязателен.
Потренироваться вставлять код на PHP в разметку можно в этом задании.
Для чего нужен PHP начинающему программисту
С помощью одного только языка разметки HTML, который вы можете изучить в нашем бесплатном курсе HTML для начинающих, любой желающий может научиться создавать простейшие сайты, например, одностраничные лендинги или сайты-визитки. Однако, если вы захотите создать более сложный сайт хотя бы с несколькими десятками страниц, вскоре вы столкнетесь с проблемами. Например, если вы захотите добавить в меню сайта ещё один элемент, придётся изменять каждую HTML-страницу, производя одни и те же действия — только в таком случае этот пункт меню появится на всех страницах сайта. Кроме того, если вы захотите отредактировать текст какой-нибудь статьи, вам придется открывать исходный код странички в редакторе кода и менять его, а после этого ещё и загрузить обновленный вариант страницы на хостинг. Согласитесь, это не самый удобный вариант.
Все описанные выше проблемы можно решить с помощью скриптового языка программирования PHP. С его помощью такой компонент сайта как меню можно вынести, к примеру, в отдельный файл и подключить его автоматически на всех страницах. Если потребуется добавить новую ссылку в меню, достаточно будет добавить её лишь в одном месте, и после этого на всех страницах сайта будет новое меню.
Кроме того, можно сделать для всех страниц сайта одну единственную страницу на PHP — что-то вроде шаблона, в который нужно будет подставлять только разный текст, в зависимости от того, по какому адресу на сайте сейчас находится посетитель. А тексты статей будут храниться отдельно — или в виде файлов, или в базе данных. Если мы захотим изменить текст какой-нибудь статьи или добавить новый материал на сайте, мы можем создать ещё одну PHP-страничку, которая будет заниматься именно этим. Это позволит управлять материалами сайта прямо в браузере, хоть с телефона, из любой точки мира (где есть интернет, разумеется).
Выводы
В этом уроке вы познакомились с основами ООП в PHP. Вы узнали о таких вещах, как:
- что такое ООП и почему его полезно применять
- понятия классов, объектов, переменных класса и методов
- как создавать классы и объекты
- как создавать и использовать переменные классов
- понятия идентификаторов доступа public, private, protected
- как создавать и применять методы классов
Вы уже много о чем узнали и еще много чему научитесь в следующих уроках. Тем не менее, если вы отработали хорошенько все примеры, приведенные мной, у вас есть крепкая основа. Можете приступать к созданию приложений на ООП.
До новых встреч!