Введение в php

Введение в PHP

Аннотация: Лекция содержит: историю языка (от PHP/FI до PHP5); описание его возможностей (краткий перечень платформ, протоколов, баз данных, приложений электронной коммерции и функций, которые поддерживаются PHP); области применения (как серверное приложение, в командной строке, создание GUI приложений); способы использования (как PHP встраивается в HTML-код и простейшие примеры.); создание первого скрипта на PHP. Установка и настройка программного обеспечения, необходимого для работы с PHP.

Язык PHP был разработан как инструмент для решения чисто практических задач. Его создатель, Расмус Лердорф, хотел знать, сколько человек читают его online-резюме, и написал для этого простенькую CGI -оболочку на языке Perl, т.е. это был набор Perl- скриптов, предназначенных исключительно для определенной цели – сбора статистики посещений.

Для справки. CGI (Common Gateway Interface – общий интерфейс шлюзов) является стандартом, который предназначен для создания серверных приложений, работающих по протоколу HTTP. Такие приложения (их называют шлюзами или CGI — программами ) запускаются сервером в режиме реального времени.

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

Обратите внимание

Сам шлюз ( скрипт CGI ) может быть написан на различных языках программирования – Cи/C++, Fortran, Perl, TCL, UNIX Shell, Visual Basic, Python и др.

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

Так что скоро PHP превратился в самостоятельный проект, и в начале 1995 года вышла первая известная версия продукта, называвшаяся Personal Home Page Tools (средства для персональной домашней страницы).

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

К середине 1995 года после основательной переработки появилась вторая версия продукта, названная PHP/FI (Personal Home Page / Forms Interpreter – персональная домашняя страница/ интерпретатор форм).

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

Синтаксис PHP/FI сильно напоминал синтаксис Perl, но был более простым.

В 1997 вышла вторая версия Cи-реализации PHP – PHP/FI 2.0. К тому моменту PHP использовали уже несколько тысяч человек по всему миру, примерно с 50 тыс. доменов, что составляло около 1% всего числа доменов Internet.

Число разработчиков PHP увеличилось до нескольких человек, но, несмотря на это, PHP/FI 2.0 все еще оставался крупным проектом одного человека. Официально PHP/FI 2.0 вышел только в ноябре 1997 года, просуществовав до этого в основном в бета-версиях.

Вскоре после выхода его заменили альфа-версии PHP 3.0.

Важно

PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. Он очень сильно отличался от PHP/FI 2.0 и появился опять же как инструмент для решения конкретной прикладной задачи.

Его создатели, Энди Гутманс (Andi Gutmans) и Зив Сураски (Zeev Suraski), в 1997 году переписали заново код PHP/FI, поскольку он показался им непригодным для разработки приложения электронной коммерции, над которым они работали.

Для того чтобы получить помощь в реализации проекта от разработчиков PHP/FI, Гутманс и Сураски решили объединиться с ними и объявить PHP3 официальным преемником PHP/FI. После объединения разработка PHP/FI была полностью прекращена.

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

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

В аббревиатуре PHP больше не было упоминания о персональном использовании, PHP стало сокращением (рекурсивным акронимом) от PHP: Hypertext Preprocessor, что значит » PHP: препроцессор гипертекста «.

К концу 1998 года число пользователей PHP возросло до десятков тысяч. Сотни тысяч web-сайтов сообщали о том, что они работают с использованием этого языка. Почти на 10% серверов Internet был установлен PHP 3.0.

Официально PHP 3.0 вышел в июне 1998 года, после 9 месяцев публичного тестирования. А уже к зиме Энди Гутманс и Зив Сураски начали переработку ядра PHP. В их задачи входило увеличение производительности работы сложных приложений и улучшение модульности кода, лежащего в основе PHP.

Совет

Новое ядро было названо » Zend Engine » (от имен создателей: Zeev и Andi) и впервые представлено в середине 1999 года. PHP 4.

0, основанный на этом ядре и принесший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после своего предшественника, PHP 3.0. Помимо улучшения производительности, PHP 4.

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

В настоящее время ведутся работы по улучшению Zend Engine и внедрению нововведений в PHP 5.0, первые бета-версии которого уже вышли в свет. Одно из существенных изменений произошло в объектной модели языка, ее основательно подлатали и добавили много новых возможностей. (Комментарий пользователя: Пятая версия PHP была выпущена разработчиками 13 июля 2004 года.

Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java.

В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. В последующих версиях также были введены пространства имён, замыкания и целый ряд достаточно серьёзных изменений, количественно и качественно сравнимых с теми, которые появились при переходе на PHP 5.0.

Шестая версия PHP разрабатывалась с октября 2006 года. Было сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, magic_quotes_gpc и register_globals из конфигурационного файла php.ini. Одним из основных новшеств должна была стать поддержка Юникода.

Однако в марте 2010 года разработка PHP6 была признана бесперспективной из-за сложностей с поддержкой Юникода. Исходный код PHP6 перемещён на ветвь, а основной линией разработки стала версия 5.4.)

Сегодня PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов написаны на PHP, что составляет более 20% доменов Internet.

» PHP может все», – заявляют его создатели. В первую очередь PHP используется для создания скриптов, работающих на стороне сервера, для этого его, собственно, и придумали.

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

Всего выделяют три основные области применения PHP.

  • Первая область, как уже говорилось, – это создание приложений ( скриптов ), которые исполняются на стороне сервера. PHP наиболее широко используется именно для создания такого рода скриптов. Для того чтобы работать таким образом, понадобится PHP -парсер (т.е. обработчик php — скриптов ) и web-сервер для обработки скрипта, браузер для просмотра результатов работы скрипта, ну, и, конечно, какой-либо текстовый редактор для написания самого php -кода. Парсер PHP распространяется в виде CGI — программы или серверного модуля. Как установить его и web-сервер на свой компьютер, мы рассмотрим немного позднее. В этом курсе мы будем обсуждать, как правило, создание именно серверных приложений, как пример использования языка PHP.
  • Вторая область – это создание скриптов, выполняющихся в командной строке. То есть с помощью PHP можно создавать такие скрипты, которые будут исполняться, вне зависимости от web-сервера и браузера, на конкретной машине. Для такой работы потребуется лишь парсер PHP (в этом случае его называют интерпретатором командной строки (cli, command line interpreter)). Этот способ работы подходит, например, для скриптов, которые должны выполняться регулярно с помощью различных планировщиков задач или для решения задач простой обработки текста.
  • И последняя область – это создание GUI -приложений (графических интерфейсов), выполняющихся на стороне клиента. В принципе это не самый лучший способ использовать PHP, особенно для начинающих, но если вы уже досконально изучили PHP, то такие возможности языка могут оказаться весьма полезны. Для применения PHP в этой области потребуется специальный инструмент – PHP-GTK, который является расширением PHP.

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

Почему стоит изучать PHP? Что это нам дает? Во-первых, PHP очень прост в изучении.

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

Обратите внимание

Во-вторых, PHP поддерживается почти на всех известных платформах, почти во всех операционных системах и на самых разных серверах. Это тоже очень важно. Вряд ли кому-то захочется переходить, например, от работы под Windows к работе под Linux или от сервера IIS к серверу Apache только для того, чтобы изучить еще один язык программирования.

В PHP сочетаются две самые популярные парадигмы программирования – объектная и процедурная.

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

Уже в первых пробных версиях PHP5 большинство недочетов в реализации объектно-ориентированной модели языка, существующих в PHP4, устранены. Таким образом, можно выбрать наиболее привычный стиль работы.

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

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

PHP поддерживает взаимодействие с различными сервисами посредством соответствующих протоколов, таких как протокол управления доступом к директориям LDAP, протокол работы с сетевым оборудованием SNMP, протоколы передачи сообщений IMAP, NNTP и POP3, протокол передачи гипертекста HTTP и т.д.

Обращая внимание на взаимодействие между различными языками, следует упомянуть о поддержке объектов Java и возможности их использования в качестве объектов PHP. Для доступа к удаленным объектам можно использовать расширение CORBA.

Для работы с текстовой информацией PHP унаследовал (с небольшими изменениями) механизмы работы с регулярными выражениями из языка Perl и UNIX-систем. Для обработки XML -документов можно использовать как стандарты DOM и SAX, так и API для XSLT -трансформаций.

Читайте также:  Robots.txt для wordpress

Для создания приложений электронной коммерции существует ряд полезных функций, таких как функции осуществления платежей Cybercash, CyberMUT, VeriSign Payflow Pro и CCVS.

Источник: http://www.intuit.ru/studies/courses/42/42/lecture/27175

Введение в PHP

Категория: PHP для чайников

Здравствуйте Дорогие читатели!

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

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

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

Важно

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

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

Первоначально язык программирования PHP, созданный Расмусом Лердофом, использовался как средство для создания и разработки Web-страниц (Personal Home Page — персональные домашние страницы). Но благодаря своей популярности, он очень быстро завоевывает статус универсального языка разработки сценариев.

В скором времени он приобрел новое название — Hypertext Preprocessing, которое в своей сущности подразумевает более расширенные возможности по предварительной обработке Web-ресурсов. Свою популярность язык программирования PHP приобрел благодаря следующим преимуществам:

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

Открытость. РНР является открытым универсальным языком разработки сценариев.

Простота. PHP имеет очень простой и достаточно доступный для понимания синтаксис.

Универсальность. Работает практически на всех наиболее популярных операционных системах (Windows, Linux, Mac OS и других семейства Unix).

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

Безопасность. При правильном подходе можно скрыть программный код от других пользователей.

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

РНР являет собой серверный язык, то есть все сценарии выполняются на сервере (компьютер, на котором установлен интерпретатор PHP). Это основное отличие от другого популярного языка для создания динамических Web-страниц — JavaScript, который является клиентским языком и выполняется браузером.

Язык РНР позволяет динамически генерировать HTML-код Web-страницы, и при этом посетителю отправляется именно результат выполнения, а не программный код сценария.

PHP предоставляет практически все возможности, для разработки Web ресурсов: взаимодействие с HTML-формами, создание безопасных Web-страниц, взаимодействие с файловой и операционной системами, ну и конечно же — работа с базами данных — одним из наилучших свойств данного языка.

При использовании PHP для создания Web-узлов, он должен работать совместно с Web-сервером, который являет собой специальное программное обеспечение, предназначенное для обработки запросов пользователя и отправки результата. Лучше всего его использовать вместе с Web-сервером Apache.

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

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

Источник: https://profiphp.ru/php_for_dummies/introduction.html

Введение в PHP

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

Этапы обработки

Обработка PHP-кода сервером называется обработкой на стороне сервера. Запрашивая страницу, вы запускаете целую цепь событий. Это взаимодействие между вашим локальным компьютером и веб-сервером. Рассмотрим, как это все работает:

  1. Вы вводите в адресной строке браузера адрес веб-страницы.

  2. Браузер разбивает адрес на составляющие и отправляет имя страницы веб-серверу. Например, после ввода адреса http://www.puzzleweb.ru/php/00_teacher.php серверу www.puzzleweb.ru будет отправлен запрос на получение страницы 00_teacher.php расположенной в папке php.

  3. Программа на веб-сервере, называемая процессом веб-сервера, принимает запрос на получение страницы 00_teacher.php и находит требуемый файл.

  4. Веб-сервер считывает файл 00_teacher.php с жесткого диска. Определяет по тегам PHP, что там расположен PHP-сценарий, а не простой HTML-код и передает его на обработку другому процессу — интерпретатору PHP.

  5. Интерпретатор PHP исполняет PHP-код, который он обнаружил в тексте, полученном от процесса веб-сервера. После выполнения PHP-кода интерпретатор возвращает полученный результат добавляя и изменяя основной код html.

  6. После этого веб-сервер возвращает готовый результат браузеру в виде HTML-текста.

  7. Браузер формирует разметку веб-страницы на экране вашего компьютера в соответствии с полученным html-кодом и внешний вид на основе CSS.

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

Что из себя представляет файл c PHP-сценарием?

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

Возможности

PHP может практически все, по крайне мере так заявляют его создатели ;). Главной областью применения PHP является написание сценариев, которые работают на стороне сервера.

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

PHP предоставляет великолепные возможности по доступу к базам данных, позволяет интеграцию с различными внешними библиотеками. Это позволит вам делать практически все, что вы захотите — от генерации PDF-документов до подробного парсинга в XML.

Рассмотрим некоторые достоинства PHP:

  • Весь код обрабатывается и исполняется на стороне сервера
  • Поддерживает работу с множеством СУБД (MySQL, Oracle, PostgreSQL и т.д.)
  • Является программным обеспечением с открытым исходным кодом
  • Работает на разных платформах (Windows, Linux, Unix подобных)
  • PHP очень прост для освоения
  • Много возможностей по расширению возможностей языка
  • Поддержка различных веб-серверов

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

Веб-сервер

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

На нашем сайте в разделе «Разное» содержатся следующие описания по веб серверам: пошаговая установка веб-сервера Apache и пошаговая установка веб-сервера IIS, в связке с PHP, MySQL и PhpMyAdmin; выбор сервера мы оставляем за вами.

Заключение

Совет

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

Разработчики сценариев на PHP часто используют СУБД (Система Управления Базами Данных) MySQL.

Можно с уверенностью сказать, что PHP + MySQL — это мощная комбинация, позволяющая существенно упростить разработку веб-приложений и создавать более развитые веб-сайты, способные расширяться и взаимодействовать с пользователями.

Источник: http://laptev-alex.ru/index.php/vvedenie-v-php

PHP Documentation, Документация по PHP, Введение в PHP

<\p>

Этот скрипт выведет:

Hello World

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

Эта программа необычайно проста и вам, на самом деле, не нужно использовать PHP для создания похожих страниц. Единственное, что он делает, это выводит: Hello World, используя выражение PHP echo().

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

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

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

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

Замечание по поводу текстовых редакторов: существует много текстовых редакторов и Интегрированных Сред Разработки (Integrated Development Environments (IDEs)), которые вы можете использовать для создания, редактирования и управления ваших PHP файлов. Если вы хотите порекомендовать редактор, посетите страницу и попросите её создателя добавить редактор в список.

Замечание по поводу текстовых процессоров: текстовые процессоры, такие, как StarOffice Writer, Microsoft Word и Abiword не лучший выбор для редактирования PHP файлов.

Обратите внимание

Если вы хотите использовать один из них, вы должны проверить, что вы сохранили файл в режиме plain text(только текст) иначе PHP не сможет прочитать и выполнить этот скрипт.

Замечание по поводу Блокнота Windows: если вы пишите ваши PHP скрипты, вам необходимо проверить, что ваши файлы сохраняются с расширением .php. (Блокнот добавляет расширение .txt к файлам автоматический, не смотря на то, что вы проделали следующие вещи, что бы предотвратить это.)

Когда вы сохраняете файл, и вас спрашивают имя файла, поместите имя файла в кавычки (например «hello.php»).

Кроме того, вы можете щёлкнуть на выпадающем меню 'Текстовые Документы' и изменить установку на 'Все Файлы'. Теперь вы можете ввести имя файла уже без кавычек. Что-нибудь полезное

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

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

Переменная, которая нам нужна, это $_SERVER[«HTTP_USER_AGENT»].

Замечание по поводу PHP Autoglobals: $_SERVER это специально-зарезервированная переменная, которая содержит все информацию, полученную от веб-сервера. Это известно как Autoglobal. Эти специальные переменные были представлены в PHP 4.1.0. До этого мы использовали старые массивы $HTTP_*_VARS вместо этого. Несмотря на возражения, эти старые переменные всё ещё существуют.

Читайте также:  Криптонатор онлайн кошелек криптовалюты

Для того, что бы показать эту переменную, мы можем просто сделать следующее:

Пример 2. Вывод переменной (Элемента массива)

Вывод этого примера может быть, например:

Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

Существует много типов переменных, доступных в PHP. В примере выше, мы вывели элемент массива. Массив может быть очень полезен.

$_SERVER всего лишь одна переменная, автоматический доступная для вас из PHP. Вы можете увидеть список в списке Зарезервированных Переменных вашего руководства, или получить из полный список, создав файл, похожий на этот:

Пример 3. Вывести все предопределённые переменные с помощью phpinfo()

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

Вы можете вставлять различные PHP выражения внутри PHP тега и создавать небольшие блоки кода, которые сделают больше, чем только одно echo. Например, если мы хотим проверить, использует ли пользователь Internet Explorer, мы можем создать что-то, похожее на это:

Пример 4. Пример использования управляющих структур и функции

A sample output of this script may be:

You are using Internet Explorer
<\p>

Здесь мы представляем две новые концепции. Мы имеем выражение IF. Если вы хорошо знакомы с базовым синтаксисом, используемым языком C, это всё должно казаться вам совершенно логичным.

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

Вы можете найти список книг о PHP по адресу http://www.php.net/books.php.

Следующая концепция, которую мы представляем, это вызов функции strstr(). strstr() это функция, встроенная в PHP, которая ищет строку в другой строке. В нашем случае мы ищем строку «MSIE» внутри $_SERVER[«HTTP_USER_AGENT»]. Если строка найдена, функция возвращает TRUE, и если нет, то FALSE.

Важно

Когда она возвращает TRUE, выражение IF выполняет определённую часть кода, предназначенную для этого случая. Иначе, этот участок кода не выполняется. Найдите свободное время для того, что бы создать похожие примеры с IF, ELSE, и другими функциями, вроде strtoupper() и strlen().

Каждая страница руководства по этим функциям тоже содержит примеры.

Мы получим это дальше и покажем, как можно переходить и выходить из режима PHP даже в середине блока PHP:

Пример 5. Смешивание режимов PHP и HTML

strstr must have returned true

You are using Internet Explorer

strstr must have returned false

You are not using Internet Explorer <\p>

A sample output of this script may be:

strstr must have returned true

You are using Internet Explorer<\p>

Вместо использования выражения echo для вывода, мы выходим из режима PHP и посылаем только HTML. Очень важно заметить то, что логический поток скрипта целостный. Только один из блоков HTML будет отправлен браузеру, в зависимости от того, возвратит ли strstr() TRUE или FALSE. Взаимодействие с формами

Одна из сильных возможностей PHP это способ, которым он взаимодействует с HTML формами. Главное, что надо понять, это то, что каждый элемент формы будет автоматический доступен для ваших PHP скриптов. Пожалуйста, прочитайте раздел руководства про переменные со стороны для дополнительной информации и примеров использования форм с PHP. Здесь пример HTML формы:

Пример 6. Пример HTML формы

Your name: Your age: <\p>

В этой форме нет ничего особого. Это обыкновенная HTML форма, без каких-либо специальных тегов. Когда пользователь заполнит эту форму и нажмёт кнопку отправки, вывозится action.php. Это файл может быть похож на что-то такое:

Пример 7. Вывод данных из нашей формы

Hi . You are years old.<\p>

A sample output of this script may be:

Hi Joe. You are 22 years old.<\p>

Это должно быть вполне очевидно, то, что делает этот скрипт. Больше для этого ничего не нужно. Переменные $_POST[«name»] и $_POST[«age»] автоматический устанавливаются для вас PHP.

раньше мы использовали $_SERVER autoglobal, сейчас мы создали специальную $_POST autoglobal, которая содержит все данные, переданные методом POST. Заметьте, мы использовали метод POST.

Если бы мы использовали метод GET, то информация, полученная от формы, будет располагаться уже в $_GET autoglobal. Вы можете так же использовать $_REQUEST autoglobal, если не уверенны в методе, которым будут передаваться данные.

$_REQUEST autoglobal содержит смесь из данных, полученных методами GET, POST, COOKIE и FILE. Смотри также функцию import_request_variables(). Использование старого PHP кода с новыми версиями

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

Большей частью разработчики PHP старались обеспечить обратную совместимость, т.е.

скрипт, написанный для старой версии PHP должен работать (в идеальном случае) без изменений и в новой версии PHP, на практике, некоторые изменения всё же бывают необходимы.

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

Неодобрение старых $HTTP_*_VARS массивов (которые должны быть указаны, как глобальные, при использовании внутри функции или метода). Следующие глобальные массивы были представлены в PHP 4.1.0: $_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_REQUEST, and $_SESSION. Старые $HTTP_*_VARS массивы, такие, как $HTTP_POST_VARS всё ещё существуют начиная с PHP 3.

Внешние переменные больше по умолчанию не регистрируются как глобальные. Директива register_globals по умолчанию выключена в php.ini. Предпочитаемый способ для доступа к этим переменным состоит в обращении к ним через автоглобальные массивы, указанные выше.

Совет

Старые скрипты, книги и учебники могут работать полагаться на то, что эта директива будет включена. Если включена, например, можно использовать переменную $id из URL http://www.example.com/foo.php?id=42.

Несмотря на то, включена ли эта директива, или нет, переменная $_GET['id'] будет доступна.

Источник: http://byweb.narod.ru/fr/web/docs/2/1.html

Введение в PHP, управляющие операторы, формы

Код РНР может быть включен в страницу одним из трех способов:

Простейший пример РНР-кода:

В PHP имена переменных начинаются с символа $.  $a = 5

Тип переменных обнаруживается автоматически. Например:

$a = 5;   //Заставляет $a стать переменной типа INTEGER.

$a = 5.0;   //Заставляет $a стать переменной типа DOUBLE.

$a = » 5″;  //Заставляет $a стать переменной типа STRING.

$a=1; /* глобальная переменная */

function Test () {    echo $a;/* ссылка на локальную переменную */  } Test();

$a=1; $b=2;

function Sum () {

   global $a,$b;

   $b = $a + $b;}

Sum();

echo $b;

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

function Test ( ) {

  static $a=0;

  echo $a;

  $a++;}

Для создания констант необходимо использовать функцию define():

define(«RED», «#FF0000»);

Кроме этого PHP содержит несколько встроенных констант. Например, определены константы TRUE со значениями «истина»(1) и FALSE со значениями «ложь»(0 или пустая строка). Константа PHP_VERSION указывает на версию анализатора PHP. Константа PHP_OS указывает операционную систему. __FILE__ содержит имя файла и __LINE__ содержит номер текущей строки в файле, который выполняется.

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

 $str = «World»; echo «Hello, «.$str.» !»;

Оператор условий if имеет несколько реализаций в PHP.

Привычная для вас форма if:

if($city == «Odessa»)  {  echo («In Odessa»);}

 else{ echo («In some city»);}

И вторая форма , удобная в том случае, если Вам необходимо вставить HTML-код:

if($s == «guest») :

echo («Be my guest!»);

else if ($s == «admin»):

echo («Hello to me»);

endif;

И еще один пример для того, чтобы показать, как вставить HTML-код

Be my guest!»);

Также можно использовать оператор switch, очень похожий на эквивалентный оператор в C.

 $a=0;

switch($a) {

 case 1:    echo «a is 1»; break;

 case «hello»:  echo «a is hello»; break;

 default:    echo «a is unknown»; break;  }

И еще один пример, который показывает существенное отличие данного оператора в PHP от эквивалентного в С (можно использовать переменные):

$a = 7.8;  $b = 7.2; $res = 7.8;

switch ($res) {

case $a:  echo $res; break;

case $b:  echo «wow»; break;

}

То же самое может быть получено с switch(); endswitch;.

В PHP мы опять встречаем знакомый уже оператор while. Он также имеет два вида:

Привычный вам while() и while(): endwhile;

  $a=0;

  while($a<\p>

Источник: http://ifreestore.net/2736/2/

Лабораторная работа №1: Введение в PHP

Пример 1. Простой html-файл со встроенным кодом на РНР

Это простой HTML-файл, в который встроен с помощью специальных тегов код, написанный на языке PHP.

PHP похож на Cи и Perl. Однако приведенная здесь программа сильно отличается от аналогичных по смыслу программ на языках Cи и Perl. Здесь не нужно писать кучу специальных команд для вывода HTML.

Пишется непосредственно код на HTML, в который можно встраивать PHP -код, осуществляющий какие-либо действия (например, выводящий текст на экран, как в нашем примере).

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

PHP-скрипты – это программы, которые выполняются и обрабатываются сервером. Так что сравнивать его со скриптовыми языками типа JavaScript невозможно, потому что написанные на них скрипты выполняются на машине клиента.

В чем отличие скриптов, выполняемых на сервере и на клиенте? Если скрипт обрабатывается сервером, клиенту посылаются только результаты работы скрипта .

Например, если на сервере выполнялся скрипт, подобный приведенному выше, клиент получит сгенерированную HTML-страницу вида:

Привет, я – скрипт PHP!

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

Обратите внимание

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

Мы отмечали выше, что PHP — скрипты встраиваются в HTML-код. Возникает вопрос, каким образом? Есть несколько способов. Один из них приведен в самом первом примере – с помощью открывающего тега .

Такого вида специальные теги позволяют переключаться между режимами HTML и PHP.

Этот синтаксис наиболее предпочтителен, поскольку позволяет задействовать PHP в XML -совместимых программах (например, написанных на языке XHTML).

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

Затем он выполняет весь найденный код до закрывающего тега, говорящего интерпретатору, что далее снова идет просто текст. Этот механизм позволяет внедрять PHP -код в HTML – все за пределами тегов PHP остается неизменным, тогда как внутри интерпретируется как код.

Заметим также, что php-файл не похож на CGI-скрипт. Php файл не должен быть исполнимым или еще каким-либо образом помеченным.

Читайте также:  Мобильный заработок на андроид

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

В качестве примера решим задачу создания заготовки электронного письма. Ее смысл заключается в следующем.

Важно

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

Разделение инструкций

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

Закрывающий тег » ?> » также подразумевает конец инструкции, поэтому перед ним точку с запятой не ставят. Например, следующие фрагменты кода эквивалентны:

Источник: https://cyberpedia.su/8xdbc6.html

Введение в PHP5

CodeNet / Языки программирования / PHP / Руководства

Примечание от администратора: PHP 5 — не стабилен. Использование допустимо исключительно в тестовых целях

PHP5 ещё официально не вышел, но «рабочие» версии уже трудоспособны (равно как и нестабильны!), так что мы вполне можем начать изучение новых возможностей грядущего релиза PHP и попрактиковать с ними. В этой статье мы поговорим о трёх основных нововведениях в PHP5:

  • Новая объектная модель
  • Исключения
  • Пространства имён

Но сначала пара официальных заявлений:

  • Некоторые из приведённых в данной статье решений воспроизводимы в PHP4, но, тем не менее, их описание присутствует и здесь для большей удобочитаемости и целостности всей статьи.
  • Некоторые из описанных в данной статье особенностей в конечном релизе PHP5 могут быть изменены.

PHP5 ещё не выпущен и мне неизвестно, когда это произойдёт, но уже сейчас вы можете потестировать и изучить новые возможности языка, скачав рабочую версию PHP5 с http://snaps.php.net и установив её. По этой ссылке вы можете найти готовые для установки Windows и Linux версии PHP5. Инсталляция проходит как у любого нормального релиза PHP, так что все бегом за новой игрушкой.

Новая объектная модель

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

  • Конструкторы и деструкторы
  • Объекты как ссылки
  • Клонирование объектов
  • Дескрипторы Private, Public и Protected
  • Интерфейсы
  • Абстрактные классы
  • __call
  • __set and __get
  • Закрытые члены

Конструкторы и деструкторы

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

В PHP5 конструктор класса именуется __construct, а деструктор — __destruct.

Пример 1: Конструкторы и деструкторы

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

Объекты как ссылки

Как вам уже наверняка известно, в PHP4 переменные передаются в функции/методы по значению (передаётся копия), если в объявлении функции не поставлен символ '&', указывающий на то, что переменная должна передаваться как ссылка. В PHP5 объекты передаются всегда как ссылки. Присваивание объектов тоже происходит по ссылке.

Пример 2: Объекты как ссылки

Клонирование объектов

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

Пример 3: Клонирование объектов

В программировании клонирование разрешено, так что всё легально 😉

Дескрипторы Private, Public и Protected

В PHP4 все методы и переменные внутри объекта были доступны извне, другими словами все методы и переменные всегда были открытыми. В PHP5 вводится три дескриптора для осуществления контроля над доступом к переменным и методам: Public, Protected и Private.

  • Public (открытый): Метод/переменная доступны из любого места в коде.
  • Private (закрытый): Закрытые методы или переменные доступны только внутри класса.
  • Protected (защищённый): Защищённые методы или переменные доступны только внутри класса, где они были объявлены и из его производных классов.

Пример 4: Public, protected and private

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

Интерфейсы

Как вы знаете, PHP4 поддерживает наследование классов синтаксисом «class foo extends parent». В PHP4 И в PHP5 класс может наследовать только один класс, то есть множественное наследование не поддерживается.

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

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

Пример 5: Интерфейсы

Использование интерфейсов полезно для более удобного чтения и понимания кода: прочитав объявление класса, мы увидим, что класс реализует интерфейсы displayable и printable; это означает, что класс должен иметь методы display() и doprint(). Как эти методы реализованы — значения не имеет, главное — уже из объявления класса, вы знаете, что можете вызывать эти методы.

Абстрактные классы

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

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

Пример 6: Абстрактные классы

__call

С PHP5 вы можете реализовать в классе специальный метод __call(), как метод для «отлова» всех нереализованных в данном классе методов. Метод __call (если он определён) вызывается при попытке вызвать недоступный или несуществующий метод.

Пример 7: __call

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

Пример 8: Перегрузка методов с помощью __call

__set и __get

Но это ещё не всё, теперь вы можете определить методы __set и __get для «отлова» всех попыток изменения или доступа к неопределённым (или недоступным) переменным.

Пример 9: __set и __get

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

В PHP5 вы сможете «сказать» методу, что он должен получить в качестве аргумента объект определённого типа.

Пример 10: указание типов

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

Статические члены класса

Статические члены и статические методы могут использоваться для реализации того, что в ООП называется «методы класса» и «переменные класса».

«Статическим методом класса» называют метод, который можно вызвать без создания объекта этого класса.

«Переменной класса» называют переменную, к которой можно обратиться без создания объекта этого класса (и метод доступа при этом не потребуется).

Пример 11: методы класса и переменные класса

Исключения

Исключения — это общепринятый подход к обработке ошибок и неожиданных ситуаций в таких языках как Java и C++; в PHP5 перехват исключений реализован с помощью пары «try» — «catch».

Пример 12: Исключения

Как вы видите, «try» используется для обозначения блока, в котором находятся ошибки, обрабатываемые оператором «catch», стоящим в конце блока. В блоке «catch» вам нужно реализовать вашу собственную политику обработки ошибок. В итоге получаем удобочитаемый код и всего один блок обработки ошибок.

Исключения, определённые пользователем

Для обработки непредвиденных проблем в ваших программах вы можете определить ваши собственные исключения. Всё, что вам нужно — это просто дополнить (extend) класс Exception, определив конструктор класса и метод getMessage.

Пример 13: Исключения, определённые пользователем

Потом, для возбуждения определённого вами исключения используйте конструкцию throw new WeirdProblem($foo); если исключение происходит внутри блока try{}, то PHP5 передаст управление в «catch»-блок для обработки.

Пространства имён

В целях удобства классы и функции могут быть сгруппированы в пространства имён (namespaces).

Примечение: разработчики отказались от поддрежки этой возможности.

Пример 14: Пространство имён

Обратите внимание на синтаксис использования именного пространства для обозначения класса, объект которого мы создаём. Пример практического применения: создание одноимённых классов в разных именных пространствах; при этом классы делают отличную друг от друга работу (имея одинаковый интерфейс).

Источник: http://www.codenet.ru/webmast/php/php5.php

Введение в PHP Потоки

Вы здесь: Главная — PHP — PHP Основы — Введение в PHP Потоки

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

Несмотря на то, что PHP 4.3 вышел давным-давно, многие PHP-программисты имеют весьма отдаленное представление о потоках в PHP, и продолжают использовать CURL везде, хотя в PHP для этого существует более удобная альтернатива в виде контекста потоков (Stream Context).

Следующие виды потоков существуют в PHP:

  • Файл на жестком диске;
  • HTTP-соединение с веб-сайтом;
  • Соединение UDP с сервером;
  • ZIP-файл;
  • Файл *.mp3.

Что общего есть во всех этих ресурсах? Все они могут быть прочитаны и записаны, т.е. к ним ко всем могут быть применены операции чтения и записи.

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

Также, если вдруг возникнет такая необходимость, Вы можете написать свою собственную реализацию обработчика потоков «stream wrapper». Помимо чтения и записи, потоки в PHP также позволяет выполнять другие операции, такие как переименование и удаление.

Совет

Программируя на PHP, Вы уже встречались с потоками, хотя возможно не догадывались об этом. Так, функции, работающие с потоками — это fopen(), file_get_contents(), file() и т.д. Поэтому, фактически, Вы уже используете файловые потоки все это время, полностью прозрачно.

Для работы с другим типом потока, необходимо указать его протокол (wrapper) следующим образом: wrapper://some_stream_resource, где wrapper:// — это, например http://, file://, ftp://, zip:// и т.д., а some_stream_resourceURI-адрес, идентифицирует то, что вы хотите открыть. URI-адрес не накладывает каких-либо ограничений на формат. Примеры:

  • http://myrusakov.ru/php-stream-introduction.html
  • file://C:/Projects/rostov-on-don.jpg
  • ftp://user:password@test.com/pub/file.txt
  • mpeg://file:///music/song.mp3
  • data://text/plain;base64,SSBsb3ZlIFBIUAo=

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

Источник: https://MyRusakov.ru/php-stream-introduction.html

Ссылка на основную публикацию