Учебные материалы
Содержание:
- Гибкость
- Советы начинающим разработчикам
- Что это за язык программирования
- Файловые расширения PHP
- Пару слов об учебнике
- Пару слов об истории создания PHP
- Основы за полтора часа
- Базовые понятия и принципы
- Видеокурс по пхп
- Главное в пхп
- Курс от Дмитрия Лаврика
- Изучаем константы
- Занятия по PHP 7
- 5 последних уроков рубрики «PHP»
- С чего начать и как правильно учить PHP?
- Доступ к переменным класса
- Бесплатные курсы для новичков
- Изучение php с нуля | Уроки php для начинающих
- Использование методов
- Как создать класс в PHP?
- Открытие файлов
- Что нужно для работы
- Формирование страниц «на лету»
- Стоит ли учить PHP? Какие у него перспективы?
- Зачем использовать ООП?
- Выводы
Гибкость
Поскольку РНР является встраиваемым (embedded) языком, он отличается исключительной гибкостью по отношению к потребностям разработчика. Хотя РНР обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, WML, XML и другие языки. Кроме того, хорошо структурированные приложения РНР легко расширяются по мере необходимости (впрочем, это относится ко всем основным языкам программирования).
Нет проблем и с зависимостью от браузеров, поскольку перед отправкой клиенту сценарии РНР полностью компилируются на стороне сервера. В сущности, сценарии РНР могут передаваться любым устройствам с браузерами, включая сотовые телефоны, электронные записные книжки, пейджеры и портативные компьютеры, не говоря уже о традиционных ПК. Программисты, занимающиеся вспомогательными утилитами, могут запускать РНР в режиме командной строки.
Также в PHP включена поддержка DBX для работы на абстрактном уровне.
Модуль DBX — это уровень абстракции базы данных (db ‘X’, где ‘X’ — это поддерживаемая база данных). Функции dbx позволяют получить доступ ко всем поддерживаемым базам данных, используя единые договоренности по синтаксису вызовов. Сами эти функции не взаимодействуют с базами данных, а предоставляют интерфейс к расширениям конкретных баз данных. Кроме того, PHP поддерживает ODBC (Open Database Connection standard), таким образом, вы можете работать с любой базой данных, поддерживающей этот всемирно признанный стандарт.
PHP также поддерживает «общение» с другими сервисами с использованием таких протоколов, как LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (на платформах Windows) и многих других. Кроме того, вы получаете возможность работать с сетевыми сокетами «напрямую». PHP поддерживает стандарт обмена сложными структурами данных WDDX
Обращая внимание на взаимодействие между различными языками, следует упомянуть о поддержке объектов Java и возможности их использования в качестве объектов PHP. Для доступа к удаленным объектам вы можете использовать расширение CORBA
Socket (разъём) — название программного интерфейса для обеспечения обмена данными между процессами. Процессы при таком обмене могут исполняться как на одной ЭВМ, так и на различных ЭВМ, связанных между собой сетью. Сокет — абстрактный объект, представляющий конечную точку соединения.
PHP включает средства обработки текстовой информации, начиная с регулярных выражений Perl или POSIX Extended и заканчивая парсером документов XML. Для парсинга XML используются стандарты SAX и DOM. Для преобразования документов XML вы можете использовать расширение XSLT.
Последним по порядку, но не по значению, является поддержка многих других расширений, таких, как функции поисковой машины mnoGoSearch, функции IRC Gateway, функции для работы со сжатыми файлами (gzip, bz2), функции календарных вычислений, функции перевода и многое другое.
Советы начинающим разработчикам
- Составьте план, как вы планируете выучить PHP с нуля. Определите стек технологий, которые требуется освоить. Например, для работы веб-разработчиком нужно знать HTML, CSS, JavaScript.
- Чтобы лучше разобраться, что стоит учить и в какой последовательности, посмотрите каталог профессий на сайте Kadrof.ru. Там собрана информация о профессиях программистов и их специализациях.
- Практикуйтесь. Например, можно сделать персональный сайт на WordPress и устанавливать новые плагины, дорабатывать готовые скрипты из интернета и писать свой код с нуля.
- Если у вас что-то не получается, не спешите бросать обучение. Вначале может быть сложно ориентироваться в терминах. Это нормально. По мере погружения в тему вам станет проще.
- Программирование – это постоянное развитие. Поэтому учиться нужно постоянно, т.к. технологии не стоят на месте. Освежайте знания своевременно.
- Новичкам бывает сложно найти первую работу. Пока вы ищете вакансию в офисе, можете зарабатывать на фрилансе. Например, на сайте Кворк можно продавать услуги по установке готовых скриптов и их доработке. Посмотрите, какие услуги пользуются спросом, и попробуйте предложить аналогичные, но немного дешевле.
- Если вы пришли на собеседование и вам отказали, обязательно спросите, каких знаний и навыков вам не хватило для получения работы. Обычно работодатели дают эту информацию. Устраните пробелы в знаниях и попробуйте пройти собеседование еще раз. Бывает, что в компанию берут со второго и даже третьего раза – это нормально.
-
Новичку проще устроиться в небольшие веб-студии и стартапы. Там платят не самые большие зарплаты, зато дают возможность набрать опыта и в дальнейшем устроиться в более крупную компанию.
Мы рассказали, как быстро выучить PHP самостоятельно с нуля, где можно найти бесплатные курсы и уроки. Если вас интересуют вакансии в сфере ИТ, рекомендуем посмотреть обзор 36 сайтов для поиска удаленной работы.
Удачи вам!
Рекомендуем
Как научиться создавать сайты с нуля? Бесплатные уроки и курсы
Многие люди хотят научиться делать сайты для себя или чтобы заниматься разработкой на коммерческой основе. В этой статье вы найдете подробную …
Издательства для начинающих авторов
Ниже представлен список издательств, предлагающих сотрудничество молодым и начинающим авторам. Среди них есть издательства художественной и …
Что это за язык программирования
Php переводится как гипертекстовый препроцессор. Он выполняет команды на уровне сервера, которые встраивается html-код. Почему стоит начать изучение именно с этого языка программирования? Одна из причин заключается в популярности Вордпресс. Сегодня большая часть интернет-проектов создается именно на нем, а он разрабатывался на php.
Хотелось бы немного отойти от темы и рассмотреть вопрос. Где разместить созданный сайт? Это важный момент, так как от него напрямую зависит работоспособность созданного интернет-проекта. Предлагаю вам пять хостингов, которые подойдут для создания блога любой сложности.
Следующая не менее важная причина успеха в том, что php позволяет создавать динамические интернет-проекты. Этого не получится сделать на чистом html потому–что он статичен.
Файловые расширения 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-кода как выражения. Они оканчиваются точкой с запятой (;). Если у вас будет только одно выражение, то точку с запятой можно опустить. Если выражений больше одного, то каждая строка должна завершаться точкой с запятой.
Пару слов об учебнике
Наш
учебник (самоучитель) по основам языка программирования PHP в первую очередь
предназначен для начинающих веб-программистов, которые занимаются разработкой сайтов и веб-приложений. Поэтому,
перед чтением учебника желательно хотя бы бегло ознакомиться с оновами HTML, CSS
и JavaScript. В то время, как данные технологии являются клиентскими (их интерпретаторы встроены в браузер) и
отвечают за функциональность веб-приложений на компьютере пользователя, PHP в основном предназначен для управления
приложениями на стороне сервера (практически все серверы мира имеют интерпретатор PHP).
Учебник написан довольно просто и максимально последовательно, а изложение материала учебника сопровождается большим числом примеров, многие из
которых можно посмотреть в браузере. Для закрепления теории к учебнику также прилагается
задачник с решениями. Все это позволит новичкам самостоятельно изучить
основы PHP с нуля и за максимально короткие сроки.
Отметим, что для начинающих программистов изучение PHP будет чрезвычайно полезным еще и потому, что язык имеет
хоть и похожий, но все таки отличный от JavaScript и более сложный синтаксис. Так что, после прочтения обоих
учебников, у читателя должно сложитmся вполне ясное представление не только о веб-программировании, но и программировании в целом.
Чтобы посмотреть результат выполнения исходного кода примеров учебника во фрейме кодового блока, нажмите кнопку
«Результат».
Пару слов об истории создания PHP
Этот язык существует больше 25 лет. Он создавался датчанином Расмусом Лердорфом, и произошло это в далёком 1994 году. Тогда это была просто надстройка, показывающая число посещений персональной странички (Personal Home Page).
За прошедшие годы язык существенно эволюционировал. От версии к версии возможности его расширялись, устаревший код перерабатывался и убирался, скорость работы увеличивалась, количество потребляемой памяти при обработке запросов снижалась, появлялись синтаксические улучшения. Можно с уверенностью сказать, что PHP развивался и развивается до сих пор, поэтому он и продолжает быть востребованным среди современных web-разработчиков.
Основы за полтора часа
Основы PHP в рамках полуторачасового мастер-класса. Сможете разобраться в теоретических знаниях веб-программирования, познакомиться с редакторами кода и серверами, получает первое представление о синтаксисе. Видео поможет получить начальные знания. Опытным программистам ролик позволяет освежить ранее полученные знания, а студентам-первокурсникам – достойно выглядеть на экзамене при начальном уровнем подготовки.
Базовые понятия и принципы
Первая сложность в обучении – столкновение со сложной терминологией и скучные лекции. В данном курсе учли ошибки предшественников и поменял форму подачи информации: упор сделан на метод ассоциаций и наглядность. Объясняют нюансы, используя понятные новичку сравнения и примеры из жизни. Подобный подход позволяет быстро усвоить базовые понятия.
Пройти курс бесплатно
Видеокурс по пхп
Перед практическими занятиями веб-разработчик Александр Шиллинг предлагает выбрать подходящую программную оболочку, рассказывает о нюансах основных редакторов кода и локальных веб-серверов, их плюсах и минусах. Несколько вводных занятий позволяют избежать ошибок и понять особенности написания PHP кода. Отличается удобным для новичков форматом мини-уроков. Зритель получает всю необходимую ему информацию об операторах, массивах и циклах в лаконичной форме.
Пройти бесплатно
Главное в пхп
Приступают к объяснению материала, минуя тему HTML и установку необходимой программной оболочки. Упор сделан исключительно на язык PHP. Курс рассчитан на знающих базовую веб-разметку. В рамках десяти коротких лекций изучите основы синтаксиса, узнаете нюансы написания кода на локальном хостинге Timeweb. Автор делится полезными советами об основных ошибках, учит писать комментарии в коде и упрощать многострочные задачи, рассказывает об операторах и их предназначении, как работать с массивами и базой данных. Требует выполнение практических заданий.
Пройти видеокурс
Курс от Дмитрия Лаврика
Вебинары от программиста Дмитрия Лаврика. Изначально устанавливают локальный сервер Xampp, изучают основы синтаксиса, пишут первую программу, работают с переменными. Позже автор объясняет нюансы работы с операторами, циклами и массивами. Лаврик делился материалом в режиме реального времени, зрители имели возможность обратной связи. Открытость лекций позволила автору учитывать начальные знания новичков, объяснять материал доступным языком и идти по теме плавно. Каждое занятие предусматривает закрепление знаний с помощью домашнего задания. Изучение завершается несколькими уроками по основам безопасности созданного с нуля проекта.
Посмотреть все уроки
Изучаем константы
Автор обучает языку PHP при помощи NetBeans. Среда разработки удобна для новичков, универсальна и подходит для изучения других языков программирования. В рамках курса зритель учится создавать статические и динамические сайты, исправлять сбитую кодировку. Курс предусматривает лекции о синтаксисе языка, переменных, операторах, циклах и управлении базой данных.
Смотреть занятия онлайн
Занятия по PHP 7
Посвящены новой версии пхп. Зрители знакомятся с особенностями современного языка. Обучение предусматривает переход к начальному уровню знаний, достаточному для самостоятельного создания сайтов. Вас научат создавать проекты, делать их практичными за счёт добавления формы обратной связи и возможности пользователям загружать собственные файлы. В видео объясняют особенности создания перенаправлений, позволяющих собирать посетителей через разные запросы в адресной строке.
Смотреть все уроки
Онлайн-курсы и видео-уроки по программированию
5 последних уроков рубрики «PHP»
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак
В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение
В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
С чего начать и как правильно учить 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 тыс. рублей в месяц.
Доступ к переменным класса
Для получения доступа к переменной того или иного объекта используется оператор ->:
$object->propertyName
Давайте попробуем. Напишем скрипт, который объявляет класс Member и переменную класса, создает объект этого класса, а затем задает значение переменной класса и выводит его на экран:
<?php class Member { public $username = ""; } $member = new Member(); $member->username = "Fred"; echo $member->username; // Выведет "Fred" ?>
Запустите данный код, он выведет на экран строку “Fred”, значение переменной класса $member->username. Как видите, вы оперируете переменной объекта так же, как обычной переменной — вы можете задать ей значение и прочитать его.
Бесплатные курсы для новичков
Поскольку язык популярен, в интернете есть много бесплатных уроков, курсов и статей для новичков, которые позволяют выучить 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 для начинающих
Урок 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
Использование методов
Чтобы вызвать метод объекта, воспользуйтесь оператором ->, с которым вы уже успели подружиться.
$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?
Теперь, когда вы уже знаете, что такое классы, методы, переменные класса и объекты, пришло время создать пару классов и объектов в коде PHP.
Для начала посмотрим, как собственно нужно создавать класс. В принципе, скрипт по созданию класса выглядит так:
class ClassName { // (определение класса) }
К примеру, если вы создаете класс Member для вашего форума, вы напишите так:
class Member { // (определение класса) }
Это достаточно просто. Естественно, класс этот ничего не сделает, пока вы не добавите в него переменные и методы. Тем не менее, приведенный выше код создает валидный класс на PHP, который можно использовать.
Правило хорошего тона: каждый класс помещайте в отдельный файл с названием, совпадающим с именем класса. Например, поместите класс Member в файл Member.php и храните его в папке, допустим, classes.
Открытие файлов
Чтобы начать работу с файлом, его нужно открыть. Для этого обычно применяют функцию fopen() — листинг 11.1.
Листинг 11.1. Открытие файла для чтения.
В качестве входных параметров функции fopen() выступает строка с именем файла и специальный признак, по которому определяется режим открытия файла (об этом чуть позже). В данном случае если файла не существует, то выведется сообщение об ошибке. Функция возвращает дескриптор файла, который имеет значение типа source. В случае неудачной попытки открытия файла она возвратит FALSE.
Вернемся ко второму параметру, который, как мы говорили, указывает режим открытия файла. В приведенном примере r означает то, что файл открывается только для чтения, то есть мы не сможем его изменять. Описания основных режимов открытия файлов смотрите в таблице ниже.
Режим | Описание |
r | Файл открывается только для чтения. При попытке открыть несуществующий файл выводится сообщение об ошибке. Если файл открылся удачно, то указатель текущей позиции устанавливается в начало. |
r+ | Файл открывается одновременно для чтения и записи. Указатель текущей позиции устанавливается в начало файла. При этом запись в файл будет происходить поверх уже существующих данных, поэтому будьте осторожны при работе в этом режиме. |
w | Файл открывается для записи. При этом все данные, которые были в нем, уничтожаются. Если файла с таким именем не существует, то он создается. |
w+ | Действия аналогичные режиму w, но файл открывается для чтения и для записи. |
a | Файл открывается для записи. При этом его указатель устанавливается в конец файла. Если файла не существует, то выводится сообщение об ошибке. |
a+ | Файл открывается для чтения и записи. При этом его указатель устанавливается в конец файла. Если файла не существует, то он создается. |
Рассмотрим более подробно параметр, указывающий имя файла. В приведенном примере подразумевается, что файл info.txt, находится в одной папке с файлом PHP-сценария. Если файл имеет иное расположение, то нужно задать соответствующие папки (листинг 11.2).
Листинг 11.2. Открытие файла для чтения и записи.
Также вы можете задать абсолютный путь к файлу, хотя это не рекомендуется (листинг 11.3).
Листинг 11.3. Открытие файла для чтения и записи с указанием абсолютного пути
Заметьте, что для корректного задания пути символ \ должен удваиваться.
Также функция fopen () позволяет открывать файлы, находящиеся на других серверах. Происходит это посредством протоколов HTTP и FTP (листинг 11.4).
Листинг 11.4. Открытие файла для чтения посредством протоколов HTTP и FTP
При работе через HTTP и FTP протоколы нужно учитывать несколько особенностей. Например, если используется HTTP-соединение, то файл можно открыть только для чтения, а при FTP — нельзя одновременно открыть файл для чтения и записи.
Что нужно для работы
Вы не сможете программировать, если на вашем ПК не будет установлен специальный софт. Рассмотрим, что для этого понадобится:
- Сервер Apache;
- База данных MySQL;
- Браузер;
- Текстовый редактор, или специализированный софт, в котором будет писаться исходный код. Их выбор огромен. Чтобы вам было легче определиться прочитайте мою статью «Лучшие утилиты для верстки».
Хотелось бы отметить, что устанавливать отдельно локальный сервер, php и базу данных сложно. Нужно разбираться в тонкостях серверного программирования. Поэтому используйте Денвер. Эту программу бесплатно скачайте и установите на ваш ПК. Если вы незнакомы с ним, посмотрите статью «Как установить Денвер». В ней подробно, описано процесс загрузки и установки локального сервера. Все что необходимо для работы находится в одном дистрибутиве и вам останется только установить его на свой ПК.
Но только одного софта для программирования будет недостаточно. Вы должны иметь хотя бы первоначальные навыки по html и css. В этом вам поможет моя статья «Лучшие способы создания сайта».
Перед изучением вы должны уметь разрабатывать простые статические интернет-страницы. Как это сделать посмотрите я уже рассматривал в моей статье «С чего начать изучение HTML».
Формирование страниц «на лету»
Предположим, у нас есть библиотека с тысячей книг, и мы хотим сделать для неё сайт. По задумке, на каждой странице нужна информация о книге: имя автора, описание и фотография обложки. Если бы книг было десять, то ничего страшного — можно вручную сделать страницу для каждой. Но для библиотеки из тысячи книг нужно создать тысячу разных статичных страниц.
«Всегда выбирай шаблон.»
Возможно, у нас есть достаточно времени, чтобы создать тысячу файлов с уникальным содержимым. Но если после создания последней страницы мы решим добавить везде каталожный номер книги или режим работы библиотеки, то придётся повторно отредактировать все файлы. Получается, любое изменение структуры или информации на страницах потребует изменений во всех созданных файлах.
PHP помогает решить эту задачу — мы можем создать одну страницу и показывать на ней информацию о той книге, которая нам нужна прямо сейчас. Такой способ называется динамическим формированием страниц на бэкенде.
Бэкенд (back-end) — это часть сайта, которая находится на сервере, получает запрос от браузера, выполняет запрошенные действия и отправляет информацию обратно. Такой подход применяется повсеместно в клиент-серверном программном обеспечении, и PHP тоже может решать такие задачи. Язык прекрасно справляется с ролью бэкенда для мобильных, десктопных или веб-приложений.
Как формируются страницы
PHP как раз нужен для динамического формирования страниц на основе информации из базы данных.
Представим, что информация о нашей тысяче книг хранится в базе данных. Тогда мы можем легко сформировать страницу конкретной книги (допустим, мы ищем «Тёмную башню» Стивена Кинга).
- Мы пишем в поиске на сайте «Тёмная башня» и отправляем запрос на сервер. PHP получает запрос, соединяется с базой данных и находит нужную информацию.
- Полученную информацию PHP может обработать до нужного формата. Например, добавить теги или преобразовать в другой вид.
- PHP вставляет обложку, автора и описание книги в заранее подготовленный шаблон страницы. Шаблон — это почти полностью готовая страница или часть страницы, на которой не хватает только данных из базы. После того, как информация добавлена в шаблон, у нас есть полностью готовый код страниц.
- Этот код отправляется в браузер, и пользователь видит страницу с информацией о «Тёмной башне».
«Сервер всегда даст то, что нужно.»
Для пользователя страница будет выглядеть как обычно, но с точки зрения PHP — это динамически сформированная страница на основе шаблона. Если нам потребуется что-нибудь поменять: добавить блок информации, изменить вёрстку или отобразить ещё что-то из информации о книге, нужно будет изменить не тысячу файлов, а один, с шаблоном страницы. И когда мы будем заходить на сайт, все изменения сразу будут видны на всех страницах.
Стоит ли учить 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. Вы узнали о таких вещах, как:
- что такое ООП и почему его полезно применять
- понятия классов, объектов, переменных класса и методов
- как создавать классы и объекты
- как создавать и использовать переменные классов
- понятия идентификаторов доступа public, private, protected
- как создавать и применять методы классов
Вы уже много о чем узнали и еще много чему научитесь в следующих уроках. Тем не менее, если вы отработали хорошенько все примеры, приведенные мной, у вас есть крепкая основа. Можете приступать к созданию приложений на ООП.
До новых встреч!