Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_PO_KS.docx
Скачиваний:
24
Добавлен:
21.08.2019
Размер:
645.14 Кб
Скачать
  1. Начальные сведения php. Возможности и особенности php.

Основные сведения о РНР

PHP - это широко распространённый Открытый ресурс - язык скриптинга (сценариев) общего назначения, который создан специально для Web и который можно внедрять в HTML.

Изначально аббревиатура РНР означала Preprocessor of Home Pages — препроцессор домашних страниц. Это язык внедряемых в HTML-страницы сценариев, исполняемых на сервере. По большей части его синтаксис заимствован из таких языков, как С, Perl, Java, и при этом добавлена масса возможностей, которых этим языкам недостает. Проще говоря, синтаксис РНР — это разумная альтернатива и строгости С, и «беспредельности» Perl.

РНР наделен практически полным набором функциональности, о которой (до появления РНР) мог только мечтать web-программист. Его цель — позволить максимально быстро создавать динамически генерируемые web-страницы.

Основными конкурентами РНР являются технологии JSP (Java Server Pages и Java Scriptlets), ASP (Active Server Pages), Perl, SSI (Server Side Includes), Cold Fusion Server Pages. Рассмотрим те недостатки, которые присущи указанным технологиям. JSP — достаточно сложный для изучения и использования язык. ASP, основанный на синтаксисе VBScript (Visual Basic), имеет всего несколько десятков собственных функций и поэтому вынужден использовать СОМ-объекты; кроме того, он ориентирован исключительно на работу под Windows. Perl — язык головоломный, и его вольности затрудняют его понимание. SSI позволяет всего лишь компоновать HTML-страницу из нескольких файлов. CF — коммерческий продукт, что является его основным недостатком.

Основные достоинства РНР: бесплатен; постоянно совершенствуется; работает на UNIX и Windows платформах; допускает работу с большинством СУБД; имеет широкий набор функций (более 3 тыс.); допускает объектно-ориентированное программирование; способен использовать протоколы HTTP, FTP, ШЛР, SNMP, NNTP, POP3, net sockets и другие; позволяет выполнять все операции, что и перечисленные его конкуренты, и даже работать с файлами графики. Можно также запускать PHP-скрипты как интерпретируемые файлы и компилировать исполняемые приложения.

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

Дополнительное ПО

Для того чтобы исполнять серверные сценарии, необходим, естественно, сам web- сервер, а также любой браузер для просмотра результатов исполнения сценария. Но возможен и вариант запуска сценария из командной строки, с помощью CGI интерпретатора php.exe в консольном окне MS-DOS, при этом ни браузер, ни сервер не требуются.

Поскольку одной из наиболее широко используемых возможностей РНР является работа с базами данных, полезно установить сервер БД, например MySQL или любой другой (PostgreSQJL, InterBase, MS SQL). Нелишней может оказаться и установка драйверов ODBC для имеющихся баз данных.

Пример 1. Вводный пример

<html>

<head>

^й^Пример^Ш^

</head>

<body>

<?php

echo "Hi, I'm a PHP script!";

?>

</body>

</html>

Перейдём к подобному рассмотрению представленной программы. Обратите внимание на конструкцию <?php ...?>, которая очень похожа на HTML- тег. С её помощью выделяется PHP- код. Слово echo используется для вывода строки, которая находится в кавычках сразу после него. Символ точка с запятой (;) выполняет такие же функции, как точка в конце предложения.

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

PHP отличается от других подобных языков, типа клиентского JavaScript, тем, что код выполняется на сервере. Если вы имеете скрипт, аналогичный вышеприведённому на сервере, то клиент получит результат работы этого скрипта, не имея возможности определить, каков был исходный код. Вы также можете сконфигурировать ваш web-сервер таким образом, чтобы он обрабатывал все ваши HTML-файлы с помощью PHP, и реально пользователь не будет иметь способа определить, что у вас "в_рукаве".

PHP в основном сориентирован на серверный скриптинг, поэтому может делать всё то, что делают CGI-программы: сбор данных форм, динамическую генерацию содержимого страницы или приём и отправку. Но PHP может намного больше.

PHP может использоваться на всех крупных операционных системах (ОС), включая Linux, многие варианты Unix (HP-UX, Solaris и OpenBSD), Microsoft Windows, Mac OS X, RISC OS и, возможно, другие. PHP имеет поддержку для большинства существующих web-серверов. Это Apache, Microsoft Internet Information Server, Personal Web Server, Netscape и iPlanet-серверы, Oreilly Website Pro, Caudium, Xitami, OmniHTTPd и многие другие. Для большинства этих серверов PHP имеет модули. В других, поддерживающих стандарт CGI, PHP может работать как CGI-процессор.

В PHP вы не имеете ограничений в выводе HTML. PHP может выводить изображения, PDF-файлы и даже клипы Flash (используя libswf и Ming), генерируемые на лету. Вы также легко можете выводить любой текст, включая XHTML, и любой другой XML-файл. PHP может автоматически генерировать эти файлы и сохранять их в файловой системе, вместо их распечатки, формируя серверный кэш для вашего динамического содержимого.

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

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

PHP поддерживает сложный обмен данными WDDX между практически всеми языками программирования Web.

При использовании PHP в области электронной коммерции вы можете использовать функции Cybercash-платежей, CyberMUT, VeriSign Payflow Pro и CCVS для ваших online-программ платежей.

Наконец, но не окончательно, у нас имеются многие другие интересные расширения, функции машины поиска mnoGoSearch, функции IRC Gateway, утилиты сжатия (gzip, bz2), конвертации календарей, перевода ...

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

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

Только два из них (<?php. . .?> и <script language="php">. . .</script>) всегда доступны; другие можно включать и отключать из файла конфигурации php.ini. Хотя сокращённые тэги и тэги в стиле ASP могут быть удобны, они не так переносимы, как их длинные версии. Также, если вы предполагаете внедрять PHP-код в XML или XHTML, нужно использовать форму <?php. . .?> для соответствия XML.

Помимо уже известного тега <?php. ? > встречаются ещё три разновидности:

<?...?>

<%...%>

<script language=”php”>.. ,</script>

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

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

Переменная — средство языка для хранения данных.

Пример переменной.

<?php

$number = 5; // присваиваем переменной значении 5 echo $number; // вывод значения переменной $number

?>

В этом примере переменная имеет имя $number, а с помощью знака равенства её значение становится 5.Теперь вместо этого значения можно использовать имя $ number, как это делается во второй строчке. В результате выполнения этой программы в окне браузера выведется число 5.

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

PHP поддерживает четыре скалярных (Integer, Double, Boolean, String) и два смешанных (Array, Object) типа данных.

Помимо скалярных и смешанных, PHP поддерживает два специальных (resource,NULL) типа данных, а также несколько псевдотипов (mixed, number, callback).^ на практике они применяются очень редко.

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

Оператор- конструкция языка, предназначенная для получения нового значения. Операторы бывают различных типов в зависимости от класса решаемых задач(сравнения, логические, поразрядные, строковые и др.)

Значения, к которым применяют операторы, обычно называют операндами. Сочетание операторов и операндов называется выражением.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]