Программирование на языке php для чайников. часть 1
Содержание:
- Начало. Введение.
- PHP vs ASP.NET vs JSP vs CFML
- Как создать класс в PHP?
- Бесплатные курсы для новичков
- Где учить PHP с нуля: обзор онлайн-курсов
- Стоит ли учить PHP? Какие у него перспективы?
- Файловые расширения PHP
- Часть II. Расширения PHP
- О курсе — Чему Вы научитесь?
- Что нужно для работы
- Изучение php с нуля | Уроки php для начинающих
- За сколько времени можно выучить PHP с нуля?
- Доступ к переменным класса
- Базовые понятия
- Почему стоит изучать
- План курса
- Зачем учить PHP: плюсы и минусы языка
- Курс от Дмитрия Лаврика
- 5 последних уроков рубрики «PHP»
- Использование методов
- С чего начать и как правильно учить PHP?
- Зачем использовать ООП?
- Установка и использование
- Пару слов об изучении с нуля
- Формирование страниц «на лету»
- Выводы
Начало. Введение.
Возможно тебе знакома уже популярнейшая программа всех времен и народов с 1978 года — hello world . Смысл программы — поздороваться с миром =)
Так поздороваемся же:
Сохраним, файл назовем hello.php и запустим этот файл в браузере. Если все правильно скопировалось, без ошибок, то ты увидишь в браузере надпись «Hello World!». Если нет надписи — значит что-то не то.
Надеюсь у тебя точно установлен веб сервер apache и интерпретатор на нем =)
Чтобы с этим долго не мучатся, я бы порекомендовал воспользоваться отличным пакетом, в котором есть всё вместе и сразу:
Так же убедись что файл сохранился в нужную папку.
Сказать точно где это я не могу, у всех ведь по разному.
Но уверен что если вы смогли перейти на linux то уже давно разобрались,
а на windows и денвере нужная папка будет где то в help
Вернёмся к нашему примеру.
То что мы здесь видим — это скажем так создание текста.
Основное применение php является создание текста, но не просто текста, а текста имеющего знакомое тебе название — HTML . Вот более наглядный пример:
Из чего состоит любой скрипт:
Наша программа начинается с тега <?php и заканчивается ?>.
Все, что помещается между этими двумя тегами — это php код.
Все, что пишут вне этих тегов — обычный html.
После тега <?php идет текст, перед которым стоят два слеша: //.
Это комментарий. Комментарий в программирование отличается от обычного
тем, что это не просто бессмысленная фраза. Это полезная памятка.
Комментарий это обычный текст, который не обрабатывается интерпретатором.
Комментарии писать не обязательно, но считается хорошим тоном комментировать программу. (Примечание редактора: читай как обязательная).
Потом , когда скрипт написан и удачно забыт будет легче вспомнить что к чему.
Всем привет
И сама вишенка: echo «Hello World»; при помощи которой в браузере появляется текст.
echo берет свой параметр и выводит его в браузер. Правда просто?
Видишь сходство? точно так-же как твоя девушка/жена берет и переводит твою зарплату. И поэтому, как любая жена, echo умеет переводить и не одну зарплату.echo «зарплата Мужа»,»зарплата Сына»,»зарплата Соседа»,»зарплата Дяди»;
Запомните этот трюк. Он намного увеличит эффективность ваших программа в будущем =)
Ну и наконец самое главное — точка с запятой ;
Программирование по сути это набор команд которые компьютер исполняет.
Для того чтобы компьютер отделил одну команду от другой — в конце каждой команды
ставится точка с запятой, как в конец каждого предложения точка;
Практика.
Найдите ошибки в коде:
1.
2.
PHP vs ASP.NET vs JSP vs CFML
ASP – Active Server Pages. JSP – Java Server Pages. CFML – Cold Fusion Markup Language.
В таблице ниже язык программирования PHP сравнивается с различными серверными языками.
Свойство | PHP | ASP | JSP | CFML |
Обучаемость | Быстро | Дольше чем PHP | Дольше чем PHP | Дольше чем PHP |
Хостинг | Поддерживается практически всеми хостерами. | Необходим выделенный сервер. | Относительно хорошая. | Необходим выделенный сервер. |
Open Source | Да | Нет | Да | Доступны коммерческая и open source версии |
Поддержка веб-сервисов | Встроенная | Используется фреймворк .NET | Используются дополнительные библиотеки | Встроенная |
Интеграция с HTML | Простая | Достаточно сложная | Достаточно сложная | Простая |
Поддержка MySQL | Нативная | Потребуются сторонние драйверы | Потребуются сторонние драйверы | В текущей версии есть нативная поддержка. В прежних версиях используется ODBC |
Дополнение другими языками | Да | Нет | При помощи Java-классов и библиотек | Да |
Как создать класс в PHP?
Теперь, когда вы уже знаете, что такое классы, методы, переменные класса и объекты, пришло время создать пару классов и объектов в коде PHP.
Для начала посмотрим, как собственно нужно создавать класс. В принципе, скрипт по созданию класса выглядит так:
class ClassName { // (определение класса) }
К примеру, если вы создаете класс Member для вашего форума, вы напишите так:
class Member { // (определение класса) }
Это достаточно просто. Естественно, класс этот ничего не сделает, пока вы не добавите в него переменные и методы. Тем не менее, приведенный выше код создает валидный класс на PHP, который можно использовать.
Правило хорошего тона: каждый класс помещайте в отдельный файл с названием, совпадающим с именем класса. Например, поместите класс Member в файл Member.php и храните его в папке, допустим, classes.
Бесплатные курсы для новичков
Поскольку язык популярен, в интернете есть много бесплатных уроков, курсов и статей для новичков, которые позволяют выучить PHP самостоятельно с нуля. Большой популярностью пользуются мануалы, где за 1-1,5 часа рассказывают про синтаксис и основные команды. Одно из таких видео можно посмотреть ниже:
Также мы собрали для вас популярные курсы с YouTube, в том числе свежие (за 2020-2021 год). По ним можно учиться бесплатно:
- PHP с абсолютного нуля (курс 2020 года, 19 видео)
- ООП для начинающих в PHP 7
- Веб-программирование (ПХП, JavaScript, HTML, CSS, Git)
- Основы управления сайтом в CMS Joomla 4
- Мастер-классы и лекции по PHP
- Работа в панели управления cPanel (на хостинге)
- Обучение PHP 7 для новичков
- Курс по базам данных MySQL
- Интенсив по созданию сайтов на WordPress
- Основы PHP (8 уроков)
-
Уроки PHP для начинающих (курс 2021 года)
Помимо видеороликов, в интернете есть много полезных сайтов для начинающих разработчиков. Они собраны в обзоре 24 сайта для изучения программирования на русском языке. Там вы найдете бесплатные справочники, сборники статей, мануалы, форумы и библиотеки.
Где учить PHP с нуля: обзор онлайн-курсов
В интернете есть онлайн-курсы, на которых обучают программированию, в том числе новичков. Вы получаете системную подготовку, осваиваете теорию и практику, общаетесь с преподавателями. После курсов можно искать работу или выполнять заказы на фрилансе. Примеры таких программ:
Название курса |
Описание |
Курс в университете Нетология. Включает программу помощи с трудоустройством. Позволяет выучить PHP с нуля и освоить другие технологии в области веб-разработки: верстку, JavaScript и многое другое. Вы получите комплексную подготовку, необходимую для работы веб-программистом. |
|
Курс в Skillbox, на котором изучают PHP, базы данных MySQL, фреймворк Symfony и CMS «1С Битрикс». Если вы хотите выучить только язык, это оптимальный выбор. |
|
Курс на сайте Geekbrains. Уровень обучения – с нуля. Включает более 140 часов практики и прохождение стажировки в Geekbrains. В программе – основы программирования, верстка, изучение языка PHP и фреймворка Laravel. |
Стоит ли учить PHP? Какие у него перспективы?
Это один из самых популярных языков для разработки сайтов. На нем написаны бесплатные системы управления (CMS), такие как WordPress, Joomla, Drupal, OpenCart и множество других, а также фреймворки Laravel, Yii2 и Symfony. Если вы хотите заниматься созданием сайтов и веб-приложений, учить PHP имеет смысл.
Сложно ли его освоить? На самом деле нет. Он относительно прост для новичков и востребован на рынке. Найти работу не проблема, так как вакансий – много. Если вы не знаете, нужно ли учить PHP, рекомендуем посмотреть следующий ролик:
Язык создал датский программист Расмус Лердорф. В 1994 году он написал набор скриптов, которые собирали статистику по просмотрам его резюме в интернете. Расмус назвал его PHP Tools (от Personal Home Page Tools – инструменты для персональных страниц). Постепенно набор расширялся. Первую официальную версию ПХП представили 8 июня 1995 года.
В 1997 году вышла вторая версия обработчика. В это время 1% всех сайтов в интернете использовали PHP – это около 50 тыс. ресурсов. Уже через год язык был установлен на 10% веб-серверов. Благодаря открытому коду, простоте и большому сообществу разработчиков популярность технологии быстро выросла.
Сейчас высказываются мнения, что PHP может терять позиции, поскольку сами сайты могут уйти в прошлое и уступить место приложениям. Однако пока эти опасения не подтверждаются, и технология по-прежнему востребована.
Файловые расширения PHP
Чтобы сервер мог распознавать PHP-файлы, сохранять документы нужно с расширением .php. В прошлом к PHP-расширениям также относились:
- .phtml
- .php3
- .php4
- .php5
- .phps
PHP был разработан для работы с HTML, следовательно, его можно встраивать в HTML-код:
В web программировании PHP можно создавать файлы без использования HTML-тегов, и это будет считаться чистым кодом. Сервер выполняет PHP-код и выводит результат в браузер как HTML-код.
Чтобы сервер мог отличить PHP от HTML, код всегда нужно обрамлять соответствующими тегами. PHP чувствителен к регистру. Это значит, что «VAR» — это не то же самое, что «var».
Сами PHP-теги не чувствительны к регистру, но настоятельно рекомендуется использовать нижний регистр:
<?php … ?>
Мы расцениваем строки PHP-кода как выражения. Они оканчиваются точкой с запятой (;). Если у вас будет только одно выражение, то точку с запятой можно опустить. Если выражений больше одного, то каждая строка должна завершаться точкой с запятой.
Часть II. Расширения PHP
- Глава 8. Краткий обзор некоторых встроенных возможностей PHP
-
§49. Предисловие ко второй части учебника
-
§50. Расширения, относящиеся к переменным и типам
-
§51. Обработка текста
-
§52. Математические расширения
-
§53. Возможности для работы с датой и временем
-
§54. Куки в PHP
-
§55. Сессии в PHP
-
§56. PHP и базы данных MySQL
-
- Глава 9. Расширения для работы с файловой системой
-
§57. Файлы в PHP
-
§58. Операции, не связанные с открытием файла
-
§59. Редактирование содержимого файла
-
§60. Работа с каталогами
-
§61. Подключение внешних файлов
-
§62. Определение прав доступа к файлам и папкам
-
- Глава 10. Работа с формами
-
§63. Простая отправка текстовых данных
-
§64. Передача текстовых данных в массивах
-
§65. Загрузка пользовательских файлов на сервер
-
§66. Использование php-скрипта и html-формы в одном файле
-
О курсе — Чему Вы научитесь?
Посмотрите видео об онлайн курсе программирования PHP и MySQL для начинающих. Вы узнаете, как эффективно построить обучение основам Php и научиться самому создавать веб сайты с нуля.В процессе обучения Вы получите знания и навыки:
- Что такое язык PHP и его применение
- Конструкции PHP — переменные, операторы, циклы, массивы, классы, функции
- Написание функций под свои задачи
- Объектно-ориентированное программирование (ООП)
- Полиморфизм, инкапсуляция, наследование, абстрактный класс, интерфейс в ООП
- Веб-сервер APACHE, установка и конфигурирование
- Система администрирования сайта PhpMyAdmin
- Проектирование структуры таблиц базы данных
- Работа с XML и JSON форматами
- Передача данных HTML-формы — методы GET и POST
- Безопасность — как защитить сайт от взлома
- Базы данных MySQL, основные операции
- SQL-запросы, синтаксис, работа с Active Records
- Создание парсеров для сбора информации для сайта
В видео-уроках курса Вы получите полезные советы и рекомендации по разработке собственных сайтов.
Начать обучение
Что нужно для работы
Вы не сможете программировать, если на вашем ПК не будет установлен специальный софт. Рассмотрим, что для этого понадобится:
- Сервер Apache;
- База данных MySQL;
- Браузер;
- Текстовый редактор, или специализированный софт, в котором будет писаться исходный код. Их выбор огромен. Чтобы вам было легче определиться прочитайте мою статью «Лучшие утилиты для верстки».
Хотелось бы отметить, что устанавливать отдельно локальный сервер, php и базу данных сложно. Нужно разбираться в тонкостях серверного программирования. Поэтому используйте Денвер. Эту программу бесплатно скачайте и установите на ваш ПК. Если вы незнакомы с ним, посмотрите статью «Как установить Денвер». В ней подробно, описано процесс загрузки и установки локального сервера. Все что необходимо для работы находится в одном дистрибутиве и вам останется только установить его на свой ПК.
Но только одного софта для программирования будет недостаточно. Вы должны иметь хотя бы первоначальные навыки по html и css. В этом вам поможет моя статья «Лучшие способы создания сайта».
Перед изучением вы должны уметь разрабатывать простые статические интернет-страницы. Как это сделать посмотрите я уже рассматривал в моей статье «С чего начать изучение HTML».
Изучение 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 с нуля?
Основы можно изучить в течение месяца. Вы освоите синтаксис, базовые команды и сможете писать простые программы. Однако для работы программистом этих знаний недостаточно.
Получить подготовку, необходимую для трудоустройства, можно на онлайн-курсах. Обычно они идут от 4 до 12 месяцев. Например, в Skillbox есть курс «PHP-разработчик», обучение на котором занимает 1 год. Если вы хотите выучить язык быстрее, то в Гикбрейнс есть курс по PHP продолжительностью 4 месяца. Его плюс – возможность стажировки и работы над реальными проектами.
Изучить основы языка можно по бесплатным урокам и курсам, размещенным на YouTube. О них расскажем ниже в статье.
Доступ к переменным класса
Для получения доступа к переменной того или иного объекта используется оператор ->:
$object->propertyName
Давайте попробуем. Напишем скрипт, который объявляет класс Member и переменную класса, создает объект этого класса, а затем задает значение переменной класса и выводит его на экран:
<?php class Member { public $username = ""; } $member = new Member(); $member->username = "Fred"; echo $member->username; // Выведет "Fred" ?>
Запустите данный код, он выведет на экран строку “Fred”, значение переменной класса $member->username. Как видите, вы оперируете переменной объекта так же, как обычной переменной — вы можете задать ей значение и прочитать его.
Базовые понятия
Предназначен для начинающих, не имеющих опыта в программировании и создании сайтов. Начинается с вводного урока, посвящённого основам HTML и строению сайта. В дальнейшем устанавливают локальный сервер Denwer и узнают особенности работы в нём.
Знакомство с теоретическими основами даёт возможность приступить к практическим занятиям. Последующие занятия посвящены изучению синтаксиса, написанию первой программы «Hello, world!», выполнению простых арифметических операций. Здесь узнаете про условные операторы (стандартными наборами команд) и циклы (конструкциями, позволяющими многократно выполнять определённые команды).
Со временем уровень сложности повышается. На выходе научитесь не только создавать сайты, но и определять их особенность, ограничивать права доступа, создавать редиректы и формы обратной связи, дающие возможность потенциальным клиентам связаться с владельцем проекта.
Почему стоит изучать
Интернет-проект созданный на php отличается от html более удобными настройками. А именно, возможностью автоматизировать процесс создание страницы. Например, достаточно в шапке блога изменить одно слово и все страницы поменяют свой фон. Попробуйте сделать это на html? Нужно будет открыть исходный код каждой страницы и отредактировать его. Это долго и неудобно. Если же вы создали шапку как подключаемый компонент на php, то вам достаточно произвести изменения только в одном файле.
Если вы читаете эту статью, значит решили серьезно заняться веб-программированием. В таком случае без хорошего учебника и обучающего курса не обойтись
Рекомендую обратить внимание на руководство, написанное Дмитрием Котеровым «PHP7». Используйте его как настольную книгу
Она поможет вам в изучении.
План курса
Программа обучения включает видео уроки по изучению PHP и MySQL с нуля. Благодаря интерактивным тестам и заданиям, Вы сможете закрепить полученные знания по Php программированию веб сайтов на практике.
развернуть все
свернуть все
1. Подготовка к работе. Установка PHP и настройка веб-сервера XAMPP
- 1.1 Установка и настройка XAMPP (PHP, MYSQL, APACHE)10:18
- 1.2 Настройка виртуального хоста (Virtual Host) в XAMPP (опционально)05:59
2. Переменные и константы
- 2.1 Переменные в PHP06:56
- 2.2 Тестирование00:15
- 2.3 Тестирование00:15
- 2.4 Интерактивное задание02:00
- 2.5 Интерактивное задание02:00
- 2.6 Типы переменных и константы03:02
- 2.7 Тестирование00:15
- 2.8 Тестирование00:15
- 2.9 Интерактивное задание03:00
3. Условные операторы и ветвления
- 3.1 Ветвления. Условные операторы if else06:33
- 3.2 Тестирование00:15
- 3.3 Интерактивное задание02:00
- 3.4 Тестирование01:00
- 3.5 Ветвления. Условные операторы. Switch07:41
- 3.6 Тестирование00:15
- 3.7 Тестирование00:15
- 3.8 Интерактивное задание02:00
4. Циклы
- 4.1 Циклы в PHP. Цикл while05:07
- 4.2 Тестирование00:30
- 4.3 Интерактивное задание01:00
-
4.4 Цикл DO WHILE02:40
-
4.5 Тестирование00:30
-
4.6 Цикл FOR01:42
-
4.7 Тестирование00:15
5. Массивы. Функции для работы с массивами
-
5.1 Массивы в PHP07:52
-
5.2 Интерактивное задание05:00
-
5.3 Массивы в PHP. Цикл Foreach04:38
-
5.4 Интерактивное задание03:00
-
5.5 Массивы. Способы создания массивов в языке PHP03:45
-
5.6 Тестирование00:15
-
5.7 Функции для работы с массивами06:50
-
5.8 Тестирование00:15
-
5.9 Тестирование00:15
-
5.10 Тестирование00:15
-
5.11 Интерактивное задание03:00
-
5.12 Интерактивное задание02:00
-
5.13 Функции implode и explode07:28
-
5.14 Интерактивное задание02:00
-
5.15 Тестирование00:15
-
5.16 Многомерные массивы в PHP08:16
-
5.17 Многомерные массивы. Способы создания03:46
6. Функции. Создание собственных функций
-
6.1 Получение данных из HTML формы. Методы GET и POST11:32
-
6.2 Тестирование00:15
-
6.3 Тестирование00:30
-
6.4 Функции для работы со строками. Защита формы сайта09:25
-
6.5 Тестирование00:15
-
6.6 Тестирование00:15
-
6.7 Создание собственных функций. Валидация функций07:37
-
6.8 Тестирование00:15
-
6.9 Функции. Взаимодействие функций между собой05:17
7. Язык SQL. Работа с базами данных. SQL запросы
-
7.1 MySQL и PHPMYADMIN. Начало работы09:57
-
7.2 Вывод данных из MySQL. Оператор SELECT14:39
-
7.3 Вставка данных в MySQL. Оператор INSERT05:04
-
7.4 Обновление данных в таблице MySQL. Оператор UPDATE02:43
-
7.5 Удаление данных из таблицы MySQL. Оператор DELETE05:52
-
7.6 Проектирование базы данных. Хранение данных в разных таблицах08:05
-
7.7 SQL запросы. INNER JOIN05:06
-
7.8 SQL запросы. LEFT JOIN и RIGHT JOIN04:37
8. Работа с XML и файлами
-
8.1 Работа с XML. Чтение XML и вывод в браузер в виде массива 07:43
-
8.2 Работа с XML. Создадим функцию для записи данных из XML в MySQL11:55
-
8.3 Работа с XML. Запишем данные из XML в базу16:36
-
8.4 Работа с файлами с помощью PHP16:16
9. Объектно-ориентированное программирование (ООП)
-
9.1 ООП. Классы, Геттеры и Сеттеры10:54
-
9.2 ООП. Инкапсуляция04:35
-
9.3 ООП. Наследование15:09
-
9.4 ООП. Полиморфизм. Интерфейсы07:35
-
9.5 ООП. Полиморфизм. Абстрактные классы16:19
Завершение курса — Получение Сертификата
Зачем учить PHP: плюсы и минусы языка
Плюсы
Минусы
Широко распространен. Входит в 10-ку самых популярных языков программирования.
Регулярно обновляется и развивается, появляются новые возможности
Растет производительность.
Относительно прост для изучения, что особенно важно новичкам.
Несложный синтаксис. Вы быстро выучите базовые команды и сможете писать простые скрипты для сайтов.
Программисты PHP востребованы на рынке
Нет проблем с поиском вакансий или заказов на фрилансе.
Большое сообщество. Много готовых решений, справочной информации, что упрощает обучение.
Зная ПХП, можно работать как на российские, так и на иностранные компании.
Код, написанный на ранних версиях языка, может не работать в поздних версиях.
Высокая конкуренция среди программистов в силу большого числа разработчиков, владеющих PHP.
Помимо PHP, для работы в области веб-разработки желательно изучить HTML, CSS и JavaScript.
Не самые высокие зарплаты в ИТ, что является следствием конкуренции. В среднем можно рассчитывать на доход до 100-120 тыс. руб. в месяц притом, что в других направлениях зарплата у программистов может быть 150 тыс. рублей и выше.
Резюме: если вы хотите заниматься разработкой сайтов, то PHP – это популярный язык, который относительно просто освоить. Даже если вы раньше не занимались программированием. При этом вакансий на рынке много, и у хорошего разработчика не будет проблем с трудоустройством. Можно работать в веб-студиях или брать заказы на фрилансе.
Курс от Дмитрия Лаврика
Вебинары от программиста Дмитрия Лаврика. Изначально устанавливают локальный сервер Xampp, изучают основы синтаксиса, пишут первую программу, работают с переменными. Позже автор объясняет нюансы работы с операторами, циклами и массивами. Лаврик делился материалом в режиме реального времени, зрители имели возможность обратной связи. Открытость лекций позволила автору учитывать начальные знания новичков, объяснять материал доступным языком и идти по теме плавно. Каждое занятие предусматривает закрепление знаний с помощью домашнего задания. Изучение завершается несколькими уроками по основам безопасности созданного с нуля проекта.
5 последних уроков рубрики «PHP»
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак
В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение
В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
Использование методов
Чтобы вызвать метод объекта, воспользуйтесь оператором ->, с которым вы уже успели подружиться.
$object->methodName()
Это работает как и вызов обычной функции. Вы можете передать аргументы в скобках (если конечно он принимает какие-то аргументы), вызов метода также может возвращать определенные значения, которые вы затем можете использовать.
Мы добавили некоторые методы в наш класс, теперь давайте попробуем их применить для чего-то:
<?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; } } $member = new Member(); $member->username = "Fred"; echo $member->username . " is " . ( $member->isLoggedIn() ? "logged in" : "logged out" ) . "<br>"; $member->login(); echo $member->username . " is " . ( $member->isLoggedIn() ? "logged in" : "logged out" ) . "<br>"; $member->logout(); echo $member->username . " is " . ( $member->isLoggedIn() ? "logged in" : "logged out" ) . "<br>"; ?>
Данный скрипт отобразит следующее:
Fred is logged out Fred is logged in Fred is logged out
Вот, как он работает:
- После описания класса Member мы создали его объект и сохранили в переменной $member. Также мы дали переменной класса $username данного объекта значение “Fred”.
- Затем мы вызвали метод $member->isLoggedIn() для того, чтобы определить, залогинился ли пользователь или нет. Данный метод просто-напросто возвращает значение переменной класса $loggedIn. Так как значение по умолчанию этой переменной класса — false, значит результатом вызова $member->isLoggedIn() будет ложь, поэтому отобразится сообщение «Fred is logged out».
- Затем вызовем метод login(). Он установит в true значение переменной класса $loggedIn.
- Теперь, при вызове метода $member->isLoggedIn() вернется истина, и выведется сообщение «Fred is logged in».
- Вызовем метод logout(), который устанавливает в false значение свойства $loggedIn.
- В третий раз вызовем метод $member->isLoggedIn(). Сейчас он вернет false, потому что значение свойства $loggedIn опять установлено в ложь. Так, снова выведется сообщение «Fred is logged out».
На заметку: на случай, если вы в первые увидели такое: ?:, — это тернарный оператор. Это упрощенная версия блоков if … else. Узнать о такого рода операторах можно здесь.
С чего начать и как правильно учить 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 тыс. рублей в месяц.
Зачем использовать ООП?
Процедурный и объектно-ориентированный — это два разных способа сделать одно и то же. Нельзя сказать, что один из них лучше другого — каждый пишет, как ему нравится, так что вы даже можете легко комбинировать эти два подхода в одном скрипте.
Однако, вот некоторые преимущества ООП для разработчиков:
- Легче отражать реальные ситуации: как я отметил выше, объекты отражают реальные сущности — люди, товары, карточки, статьи в блогах и др. Это во многом упрощает задачу, когда вы только начинаете проектировать свое приложение, так как назначение каждого объекта, как и цель отношений между объектами, будет ясно и понятно.
- Легче писать модульные программы: ООП предполагает написание модулей. Разделяя код на модули, вам будет легче им управлять, дебажить и расширять его.
- Легче писать код, который будет использоваться много раз: написание кода, который можно будет использовать не один раз, сэкономит время при написании приложения, и со временем вы даже можете создать целую библиотеку такого рода модулей, которые вы сможете использовать во многих приложениях. С помощью ООП становится сравнительно легче писать такой код, так как структуры данных и функции инкапсулируются в единственный объект, который можно использовать любое количество раз.
Установка и использование
На нашем курсе мы будем работать с версией PHP 7.1
Где скачать PHP?
Мы рекомендуем использовать программную сборку OpenServer. После загрузки и установки на вашем компьютере появятся свежая версия PHP, веб-сервер, база данных, и много других программ и инструментов для удобной работы. Подробнее об установке и использовании мы рассказываем на первой лекции.
Как выглядит PHP-сценарий
Типичный PHP-сценарий — это набор выражений. Каждое выражение начинается с новой строчки и заканчивается точкой с запятой.
Выражение — это инструкция, которая приказывает PHP-интерпретатору выполнить одно действие, например, сложить два числа или вывести на экран информацию. Давайте посмотрим на самый простой сценарий. Он будет выводить на экран одну строку: «Привет, Мир!»:
Важно отметить, что любой PHP-сценарий обязательно начинается с такой строки: — так мы сообщаем веб-серверу, что дальше в файле находится код на языке PHP. В нашем примере сценарий состоит из всего одной инструкции:
В нашем примере сценарий состоит из всего одной инструкции:
Здесь мы просим функцию вывести на экран наш текст — «Привет, Мир!». Это можно рассматривать как подлежащее и сказуемое в русском языке, где функция — это сказуемое, а «Привет, Мир!» — подлежащее.
Как мы уже знаем, PHP можно встроить в статичные HTML-файлы и модифицировать их с помощью инструкций. Вот как будет выглядеть тот же пример с выводом текста, но расположенный внутри HTML:
Обратите внимание, что в этом примере мы использовали дополнительный фрагмент —. С его помощью мы сообщаем серверу, где заканчивается наш PHP-сценарий
В случае, если наш код последний в документе, и после него ничего не следует, этот фрагмент не обязателен.
Потренироваться вставлять код на PHP в разметку можно в этом задании.
Пару слов об изучении с нуля
Сегодня существует множество ресурсов, позволяющих изучить PHP, что называется, «с нуля». Проблема всегда одна — как начать, ведь выбор настолько велик, что новичку сложно ориентироваться в их обилии.
Материалы по изучению программирования на PHP для новичков есть и в OTUS. Можно почитать эту статью, представляющую собой программу самостоятельного обучения (если уверены в своих силах и усидчивости). Но лучше всего пройти подготовительный видеокурс «РНР для начинающих программистов». На нём даются знания и навыки, которые помогут поступить на уже более продвинутый «Backend-разработчик на PHP» — курс, представляющий собой собой лучшие практики для глубокого понимания процесса разработки:
И кто его знает, всегда есть вероятность, что со временем и вас пригласят работать в Google ))).
Формирование страниц «на лету»
Предположим, у нас есть библиотека с тысячей книг, и мы хотим сделать для неё сайт. По задумке, на каждой странице нужна информация о книге: имя автора, описание и фотография обложки. Если бы книг было десять, то ничего страшного — можно вручную сделать страницу для каждой. Но для библиотеки из тысячи книг нужно создать тысячу разных статичных страниц.
«Всегда выбирай шаблон.»
Возможно, у нас есть достаточно времени, чтобы создать тысячу файлов с уникальным содержимым. Но если после создания последней страницы мы решим добавить везде каталожный номер книги или режим работы библиотеки, то придётся повторно отредактировать все файлы. Получается, любое изменение структуры или информации на страницах потребует изменений во всех созданных файлах.
PHP помогает решить эту задачу — мы можем создать одну страницу и показывать на ней информацию о той книге, которая нам нужна прямо сейчас. Такой способ называется динамическим формированием страниц на бэкенде.
Бэкенд (back-end) — это часть сайта, которая находится на сервере, получает запрос от браузера, выполняет запрошенные действия и отправляет информацию обратно. Такой подход применяется повсеместно в клиент-серверном программном обеспечении, и PHP тоже может решать такие задачи. Язык прекрасно справляется с ролью бэкенда для мобильных, десктопных или веб-приложений.
Как формируются страницы
PHP как раз нужен для динамического формирования страниц на основе информации из базы данных.
Представим, что информация о нашей тысяче книг хранится в базе данных. Тогда мы можем легко сформировать страницу конкретной книги (допустим, мы ищем «Тёмную башню» Стивена Кинга).
- Мы пишем в поиске на сайте «Тёмная башня» и отправляем запрос на сервер. PHP получает запрос, соединяется с базой данных и находит нужную информацию.
- Полученную информацию PHP может обработать до нужного формата. Например, добавить теги или преобразовать в другой вид.
- PHP вставляет обложку, автора и описание книги в заранее подготовленный шаблон страницы. Шаблон — это почти полностью готовая страница или часть страницы, на которой не хватает только данных из базы. После того, как информация добавлена в шаблон, у нас есть полностью готовый код страниц.
- Этот код отправляется в браузер, и пользователь видит страницу с информацией о «Тёмной башне».
«Сервер всегда даст то, что нужно.»
Для пользователя страница будет выглядеть как обычно, но с точки зрения PHP — это динамически сформированная страница на основе шаблона. Если нам потребуется что-нибудь поменять: добавить блок информации, изменить вёрстку или отобразить ещё что-то из информации о книге, нужно будет изменить не тысячу файлов, а один, с шаблоном страницы. И когда мы будем заходить на сайт, все изменения сразу будут видны на всех страницах.
Выводы
В этом уроке вы познакомились с основами ООП в PHP. Вы узнали о таких вещах, как:
- что такое ООП и почему его полезно применять
- понятия классов, объектов, переменных класса и методов
- как создавать классы и объекты
- как создавать и использовать переменные классов
- понятия идентификаторов доступа public, private, protected
- как создавать и применять методы классов
Вы уже много о чем узнали и еще много чему научитесь в следующих уроках. Тем не менее, если вы отработали хорошенько все примеры, приведенные мной, у вас есть крепкая основа. Можете приступать к созданию приложений на ООП.
До новых встреч!