МИРОВЫЕ ИНФОРМАЦИОННЫЕ РЕСУРСЫ 1. Недостатки статичных Web-страниц и их преодоление 2. Технологии создания серверных программ 3. Web-серверы.

Презентация:



Advertisements
Похожие презентации
РНР Изучение языка. Программирование интерактивных WEB-сайтов на языке PHP.
Advertisements

Переменные и операторы УРОК 2. Переменные ПЕРЕМЕННАЯ – ?... контейнер для хранения данных. Переменная имеет имя – это….? последовательность букв, цифр.
Троицкий Д.И. Интернет-технологии1 ДИНАМИЧЕСКИЕ WEB-СТРАНИЦЫ СЕРВЕРНЫЕ СЦЕНАРИИ Лекция 9 Кафедра «Автоматизированные станочные системы» Dept. of Automated.
Объектно-ориентированный язык программирования. Переменная - эта поименованная ячейка памяти, хранящая какое-либо одно значение (одно число, один фрагмент.
Практическое занятие 6. Функции. Большинство языков программирования используют понятия функции и процедуры. C++ формально не поддерживает понятие процедуры,
Лекция 4 Программирование на Паскале. Элементы языка Турбо Паскаль 7.0. Типы данных. Управляющие конструкции.
Базы данных База данных – это информационная модель, позволяющая в упорядоченном виде хранить данные о группе объектов, обладающих одинаковым набором.
это десятки миллионов Web-серверов Интернета, содержащих Web-страницы, в которых используется технология гипертекста. Технология WWW позволяет создавать.
Презентация по: информатике Ученицы 8 а класса МКОУ «Линевская СШ» ЛЕМАЕВОЙ ЭЛЬВИРЫ Преподаватель: СУШКОВ АЛЕКСАНДР ИВАНОВИЧ.
Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
Чувашский Государственный педагогический университет имени И.я.Яковлева Тема учебного проекта: Базы данных в сети Интернет Автор: Студент ФМФ 5-го курса.
КУРС «WEB-ДИЗАЙН». Что такое Web-страница? То, что мы видим в окне браузера, когда заходим на какой-либо сайт! Мы видим веб-страницу сайта – ее содержимое!
План-конспект урока (информатика и икт, 9 класс) по теме: Переменные:тип, имя, значение
РНР Изучение языка. Программирование интерактивных WEB-сайтов на языке PHP.
Saint Petersburg, 2012 Java Lecture #12 JSP. JSP 2 Java Server Pages (JSP) – технология разработки веб страниц, поддерживающих динамический контент. Позволяет.
Тема: язык PHP Изучить теоретические основы языка PHP, назначение PHP и MySQL, способы задания переменных, функций. Определить что необходимо для начала.
1. ЧТО ТАКОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ? НАБОР ПРОГРАММ В ПАМЯТИ КОМПЬЮТЕРА 2. ИЗ КАКИХ ЧАСТЕЙ СОСТОИТ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ? КРОССОВЫЕ ТЕСТОВЫЕ СИСТЕМНЫЕ.
База данных (БД) – Совокупность определённым образом организованной информации на определённую тему (в рамках определённой предметной деятельности); Организованная.
Базы данных в электронных таблицах 1. Представление базы данных в виде таблицы и формы.
АЛГОРИТМИЗАЦИЯ. Алгоритм Алгоритм – описание конечной последовательности действий, приводящей от исходных данных к нужному результату. Где встречаются.
Транксрипт:

МИРОВЫЕ ИНФОРМАЦИОННЫЕ РЕСУРСЫ 1. Недостатки статичных Web-страниц и их преодоление 2. Технологии создания серверных программ 3. Web-серверы

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

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

Среди серверных технологий можно назвать такие скрипты и языки программирования, как PHP, Perl, технологии ASP.NET, CGI-BIN к клиентским относятся всевозможные встроенные скрипты, такие как Javascript, VB Script, но также такой мощный инструмент, как Java Applets.

Клиент-сервер (англ. Client-server) вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемыми серверами, и заказчиками услуг, называемыми клиентами. Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением.

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

Последовательность получения информации от программы, работающей на серверном компьютере и применяющей к хранящейся отдельно информации заданные в ней правила представления: 1. Посетитель запрашивает с помощью Web-обозревателя некую информацию. 2. Web-обозреватель (браузер) устанавливает соединение с Web- сервером и посылает ему клиентский запрос. 3. Web-сервер принимает запрос и расшифровывает его. 4. Web-сервер запускает нужную программу и, возможно, передает ей дополнительные параметры запроса. 5. Программа извлекает нужную информацию, записанную в файле или файлах, применяет к ней заданное представление и преобразует в Web-страницу, которую возвращает Web-серверу. 6. Web-сервер отправляет сформированную программой Web- страницу Web-обозревателю. 7. Web-обозреватель получает Web-страницу и выводит ее на экран, после чего разрывает соединение с сервером.

Технологии создания серверных программ Серверные программы делятся на следующие четыре вида. 1. Исполняемые программы, работающие через интерфейс CGI (Common Gateway Interface общий интерфейс обмена), так называемые CGI-npoграммы. Эта разновидность серверных программ самая старая, но не устаревшая.

Программы CGI это обычные исполняемые файлы с расширением ехе либо программы, написанные на языках Perl, Python и т. п. В ответ на клиентский запрос Web-сервер запускает копию такой программы, передает ей данные, принимает результаты, после чего завершает ее.

Программы CGI очень легко создавать и отлаживать, но если Web-сервер получит слишком много клиентских запросов и, следовательно, запустит слишком много таких программ, то ресурсов серверного компьютера может не хватить, и он "зависнет".

2. Расширения Web-сервера (приложения формата ISAPI, NSAPI, модули расширения Apache и т. п.). Способ, позволяющий встраивать серверные программы в сам Web-сервер, делая их его составными частями. Впервые предложен фирмой Microsoft для их сервера Microsoft Internet Information Server (интерфейс ISAPI) и разработчиками популярного бесплатного Web-сервера Apache.

Расширения Web-сервера более новая разновидность серверных программ. Представляют собой библиотеки DLL, в которых реализована вся логика серверной программы. Такие библиотеки встраиваются в программу Web-сервера и работают как ее неотъемлемая часть.

Поскольку библиотеки DLL работают только в среде Windows, для того чтобы создавать расширения в иных ОС, были придуманы и другие форматы. В частности, модули расширения сервера Apache не являются библиотеками DLL. Именно в виде библиотек DLL создаются расширения Web-серверов Internet Information Server фирмы Microsoft и Netscape Web Server фирмы Netscape.

В первом случае расширения имеют формат ISAPI (Internet Server Application Programming Interface интерфейс программирования приложений интернет-сервера), а во втором NSAPI (Netscape Server Application Programming Interface интерфейс программирования приложений сервера Netscape). Формат модулей расширения Apache так и называется модули Apache.

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

3. Активные серверные страницы (ASP, JSP и др.). Фактически это обычные статические Web- страницы, сохраненные в файлах, которые, кроме обычного HTML-кода, включают в себя команды, обрабатываемые либо самим Web- сервером, либо его расширением.

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

Технологии создания активных серверных страниц PHP популярность обусловлена тем, что ПО обеспечение обработчика страниц РНР поставляется бесплатно с открытыми исходными текстами.

Для написания сценариев в Web- страницах РНР используется язык программирования РНР. Он прост для изучения и достаточно развит, чтобы создавать сложные программы. Web- страницы, содержащие код РНР, должны быть сохранены в файлах с расширением php это обязательно, иначе обработчик посчитает их статическими Web-страницами. Обработчик РНР установлен на большинстве Web-серверов.

Примерно в то же самое время (середина 90-х) фирмой Microsoft была разработана технология серверных страниц ASP (Active Server Pages, активные серверные страницы). Изначально она использовалась в Web- сервере MS IIS, но впоследствии появились решения третьих фирм, добавляющие обработчик страниц ASP в другие Web-серверы.

Сценарии в страницах ASP пишутся на языке VBScript, хотя возможно также использование языка JavaScript и некоторых других. Cами страницы должны иметь расширение asp.

ASP.NET это расширение технологии ASP, разработанное также Microsoft в начале XXI века. ASP.NET производительнее, надежнее, чем ASP, и имеет много дополнительных возможностей. В настоящее время ASP.NET поддерживается только сервером MS IIS.

JSP (Java Server Pages, серверные страницы, написанные на JavaScript) разработка Netscape для Web-сервера Netscape Web Server. JSP практически ничем не отличается от ASP за тем исключением, что для написания сценариев используется язык JavaScript.

Технология ColdFusion, разработана фирмой Macromedia в 90-х годах. В этой технологии вместо сценариев используются особые теги, похожие на теги HTML, но предназначенные для обработчика страниц. Встретив такой тег, обработчик выполняет выборку и обработку данных и помещает результат в то место HTML-кода, где встретился этот тег.

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

Достоинства активных серверных страниц : легкость и быстрота написания и простота отладки. Кроме того, поскольку активные серверные страницы - это обычные Web-страницы с "вкраплениями" программного кода, их написание легко освоят все, кто знаком с HTML. Недостаток: относительная медлительность и повышенные требования к системным ресурсам.

4. Серверные сценарии, написанные на интерпретируемом языке (Perl, Python, VBScript, JavaScript и др.). Обычные сценарии, работающие через интерфейс CGI или ISAPI на стороне сервера.

Серверные сценарии подобны активным серверным страницам тем, что являются интерпретируемыми, однако представляют собой "чистый" программный код, без HTML-''примесей". Интерпретатор представляет собой CGI- программу или расширение Web- сервера. Сценарии обычно пишутся на языке программирования Perl, специально предназначенном для обработки текста; также используются языки Python, JavaScript, VBScript.

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

Web-серверы Пакет фирмы Microsoft Internet Information Server. П оставляется в составе Microsoft Windows: NT, 2000, ХР Professional, Server 2003, Vista, 7, Server 2008, Server 2008 R2. Кроме собственно Web-сервера, они содержат также серверы FTP и почты, а также некоторое количество дополнительных программ. По данным компании Netcraft на январь 2011 года, более 57 млн. сайтов обслуживаются web-сервером IIS, что составляет 21 % от общего числа web-сайтов.

Web-сервер Apache. Достоинства: полная бесплатность (более того исходные тексты открыты), легкость настройки, довольно высокая производительность, хорошая поддержка. Для Web-сайтов с небольшой загрузкой это идеальный выбор.

В свое время фирма Netscape разработчик известного Web- обозревателя Navigator создала и Web-сервер, Netscape Web Server. В смысле производительности и поддержки передовых интернет- технологий не уступает своему конкуренту от MS, но не завоевал его популярности.

Установка Apache Скачать соответствующий дистрибутив для используемой операционной системы с сайта распаковать его и настроить сервер. Очень часто возникает ситуация, когда для разработки Apache устанавливается в Windows-системы с уже установленным и работающим сервером IIS. Для того чтобы запустить Apache, необходимо сначала остановить выполнение всех сервисов, которые поддерживаются IIS. Для этого достаточно в командной строке выполнить следующую команду: net stop iisadmin

Обычно Apache устанавливается в каталог usr\local\apache. Для запуска сервера достаточно лишь запустить файл Apache.exe. Но перед этим необходимо настроить сервер. Все настройки сервера Apache хранятся в текстовом файле httpd.conf, который располагается в каталоге conf. Нужно лишь открыть его в любом текстовом редакторе, который поддерживает стандартный текстовый формат, и внести соответствующие изменения.

Конфигурационный файл сервера Apache логически разбит на три части. В первой указываются настройки, управляющие процессом работы самого сервера. Во второй располагаются директивы, задающие параметры основного сайта, обслуживаемого сервером. Третья часть позволяет администратору задавать свойства виртуальных сайтов, которые будут обслуживаться сервером наряду с основным хостом. Все директивы описаны в самом конфигурационном файле. Описания закомментированы при помощи символа «#». Для того чтобы скрыть ту или иную директиву, достаточно перед ней поставить этот символ, и она не будет обрабатываться сервером Apache.

Директива ServerType определяет способ функционирования сервера. Если Apache запущен в системе Windows, то можно использовать только значение standalone Директива ServerRoot предназначена для указания корневого каталога сервера. Значением является путь к тому каталогу, в котором установлен сервер. Если он устанавливался в каталог usr\local\apache, то и выглядеть эта директива будет соответственно; ServerRoot "/usr/local/apache" Директива ServerRoot предназначена для указания корневого каталога сервера. Значением является путь к тому каталогу, в котором установлен сервер. Если он устанавливался в каталог usr\local\apache, то и выглядеть эта директива будет соответственно; ServerRoot "/usr/local/apache"

Время ожидания, по истечении которого сервер отправит пользователю сообщение о тайм- ауте, задается при помощи директивы Timeout. По умолчанию используется значение 300 с. Директива KeepAlive позволяет регулировать использование долгосрочных соединений (т.е. когда обрабатывается более одного запроса на соединение). Если необходимо разрешить их использование, нужно применить следующую директиву: KeepAlive On

Директива MaxKeepAliveRequests позволяет задавать максимально допустимое количество запросов в одном долговременном соединении. Чтобы не ограничивать количество подобных запросов, можно использовать нулевое значение. Время ожидания между запросами одного и того же пользователя в рамках долговременного соединения устанавливается при помощи директивы KeepAliveTimeout. Для того чтобы установить период ожидания 15 с, используется следующая конструкция: KeepAliveTimeout 15

Если сервер Apache устанавливается в системе, которая будет действительно применяться для работы в Интернете, а не только для локальной разработки, следует обратить внимание на директиву Listen. Она позволяет связать сервер с конкретным портом и IP-адресом, например: Listen :80 Если север будет обслуживать еще и виртуальные хосты, следует воспользоваться директивой BindAddress. Она указывает IP-адрес, к которому привязаны виртуальные хосты. Для локальной разработки используется следующая конструкция: BindAddress

Директива LoadModule позволяет подключать к серверу модули, обеспечивающие дополнительную функциональность. Именно при помощи этой конструкции РНР интегрируется с Apache: LoadModule php5_module "/usr/local/php5/php5apache.dll"

Установка РНР Дистрибутив для той или иной операционной системы можно скачать с сайта После того как дистрибутив будет распакован в выбранный каталог, необходимо присоединить РНР к веб-серверу, который установлен в системе. Перед тем как интегрировать РНР в состав сервера, необходимо решить, как именно будет функционировать РНР: как отдельное приложение, которое взаимодействует с сервером через базовый интерфейс CGI, или как модуль самого сервера. Лучше всего использовать второй вариант: намного выше быстродействие системы и ее защищенность.

Для этого потребуются лишь несколько дополнений в конфигурационном файле сервера. Для Windows/Apache/PHP5, в httpd.conf необходимо прописать: LoadModule php5_module C:/php5/php5apache.dll AddModule mod_php5. c AddType application/x-httpd-php.php Надо указывать именно тот каталог, в котором находится распакованная система РНР.

Если все пути указаны правильно, то после перезапуска сервера Apache можно будет использовать РНР.

Конфигурация РНР Система РНР конфигурируется при помощи текстового конфигурационного файла php.ini, который располагается в корневом каталоге РНР (его можно перенести в каталог Apache, но при этом не забыть указать место расположения). В файле php.ini содержатся параметры интерпретации PHP-кода, безопасности системы, способов работы с файлами и данными, а также информация о доступных расширениях PHP. С полным списком директив файла php.ini и их описаниями можно ознакомиться по адресу

ПАКЕТЫ СЕРВЕРНЫХ ПРОГРАММ

Денвер На официальном сайте "Денвер" характеризуется как: "Джентльменский набор Web- разработчика набор дистрибутивов, используемый Web-разработчиками (программистами и дизайнерами) для отладки сайтов на "домашней" (локальной) Windows-машине без необходимости выхода в Интернет".

После установки Денвера будут доступны: Apache PHP MySQL phpAdmin

После запуска Денвера на компьютере будет создан виртуальный диск (если не сменили его имя при установке Денвера, это будет диск Z). На этом диске располагаются папки: - etc хранит скрипты конфигурирования Денвера, здесь же находится его конфигурационный файл CONFIGURATION.txt, все его параметры обозначены русскими комментариями, править его вручную не рекомендуется; - home в этой папке будут сохраняться сайты пользователя (или виртуальные хосты); - tmp для хранения временной информации, такой как пользовательская сессия. В подкаталоге !sendmail будут храниться все письма, отправленные с помощью функции mail ( ). - usr системная папка с Apache, PHP, MySQL и некоторые другими элементами.

Чтобы добавить новый сайт, достаточно создать в каталоге home папку с именем будущего сайта, только ее имя должно быть без www. Например, нужно создавать программы, работая с виртуальным сайтом для этого необходимо создать папку myprogram.ru в каталоге home. Внутри созданной папки нужно создать еще одну с именем www. После этого останется перезапустить Web- сервер и новый сайт будет готов к работе.

TopServer TopServer представляет собой мощный, удобный и простой в использовании сервер приложений (серверный пакет), состоящий из лучших на данный момент серверных компонентов последних версий, таких как веб-сервер Apache, PHP, MySQL, PERL, SQLite, SlimFTPd и других. В состав TopServer также входят средства администрирования серверных компонентов, такие как phpMyAdmin, SQLiteManager, PHPsFTPd, PHPfm и другие.

Сервер приложений TopServer создан преимущественно для установки на локальный компьютер (сервер), устанавливаемый с целью локального тестирования и отладки PHP и PERL скриптов, создания сайтов, содержащих динамические страницы с использованием языка сценариев PHP и PERL, баз данных MySQL и SQLite, организации хостинга в рамках локальных сетей различного уровня, в качестве сервера сети организации и других целей.

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

Состав и структура TopServer Все файлы физически располагаются в выбранном пользователем каталоге, указанной при установке TopServer. Виртуально все основные файлы TopServer размещаются на отдельном виртуальном диске T: Структура каталогов: 1) docs: содержит лицензии на компоненты TopServer; 2) содержит файлы электронных писем, отправленные из PHP скриптов функцией mail();

3) home: основная директория серверных объектов (документов *.html, *.php, *.pl, и прочие). Серверные объекты располагаются в трех основных директориях: localhost - директория объектов основного хоста (localhost). Здесь располагаются серверные объекты (документы, скрипты), доступ к которым осуществляется через HTTP запрос к данному компьютеру по IP адресу или имени хоста, либо с локального компьютера -

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

virtual - директория виртуальных хостов и их серверных объектов. Концепция виртуальных хостов позволяет веб- серверу поддерживать несколько веб- ресурсов (сайтов) на одном сервере. Т.о., существует возможность организовать хостинг множества сайтов, разместив их на одном сервере; errors - директория страниц стандартных ошибок веб-сервера Apache.

4) usr: основная директория (каталог) серверных компонентов. В ее поддиректориях содержатся серверные компоненты TopServer: bin - директория основных компонентов интерпретатора PERL; lib - директория библиотек интерпретатора PERL; local - директория веб-сервера Apache 2.0 (подкаталог Apache), FTP сервера SlimFTPd (подкаталог FTP), сервера баз данных MySQL5 (подкаталог mysql5), интерпретатора PHP (подкаталог PHP), служебных файлов TopServer (подкаталог program), "заглушки" Sendmail (подкаталог sendmail).

Директории расположения основных конфигурационных файлов компонентов TopServer: a) файл конфигурации Apache (httpd.conf): /usr/local/Apache/conf/httpd.conf; б) файл конфигурации PHP (php.ini): /usr/local/Apache/bin/php.ini; в) файл конфигурации MySQL (my.ini): /usr/local/mysql5/my.ini;

Программирование интерактивных WEB-сайтов на языке PHP

PHP (англ. PHP: Hypertext Preprocessor «PHP: препроцессор гипертекста», англ. Personal HomePage Tools «Инструменты для создания персональных веб-страниц») язык программирования, созданный для генерирования HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг- провайдеров.

Пример рнр-сценария Пример <?php echo "Hi, I'm a PHP script!"; ?>

Язык с открытым кодом Прост для изучения Кроссплатформенный, т.е. может использоваться на всех крупных ОС Большая библиотека готовых скриптов

Документация по РНР является бесплатной, и всегда доступна по адресу

Как передается информация от пользователя серверу и обратно

Как работает РНР

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

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

Каждый элемент управления, находящийся в форме, должен иметь уникальное имя. Эти имена используются Web-обозревателем для того, чтобы представить введенные в форму данные в удобочитаемом для серверной программы виде. Например: name1 = Ivan surname = Ivanovich name2 = Ivanov age = 30

Оформление РНР скрипта Код на РНР оформляется специальными тегами, вариантов оформления несколько:...

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

В отличие от ключевых слов, имена переменных в РНР чувствительны к регистру. Так, $var и $VAR это разные переменные. Объявление переменной происходит при первом присвоении ей значения.

Какие имена переменных записаны правильно, а какие неправильно и почему? $var $extended output $name_of_person $2result $_temp $расширенный вывод $автомобиль $comp#any

Операторы присваивания Оператор простого присваивания = Слева от него записывается имя переменной, а справа значение, которое должно быть ей присвоено. $а = 2;$b = 3; Переменная, объявленная в каком-либо сценарии серверной страницы РНР, доступна во всех сценариях, находящихся в этой странице.

Операторы сложного присваивания. Такие операторы позволяют выполнять операцию присваивания одновременно с другой операцией: $а = $а + $b; $а += $b; Эти два выражения эквивалентны по результату. Но во втором использован оператор сложного присваивания +=, выполняющий присваивание вместе со сложением.

Операторы сложного присваивания, поддерживаемые РНР, и их эквиваленты: Оператор Эквивалентное выражение $а += $b;$а = $а + $b; $а- = $b;$а = $а - $b; $а *= $b;$а = $а * $b; $а %= $b;$а = $а % $b;

Операторы сложного присваивания выполняются быстрее совокупности арифметического оператора и оператора присваивания. Операторы присваивания тоже возвращают результат. Он равен тому значению, которое получит переменная, стоящая слева от оператора. Пример: $ b = $а = 3;

Оператор вывода Оператор вывода echo выводит значение выражения, указанное после него, в то место страницы, где сам находится. echo 2+2; Строковое значение заключается в двойные кавычки (это важно!), например: echo Привет!;

Операция объединения строк. (точка) позволяет соединить две строки в одну. Например, сценарий: $s1 = "Dreamweaver"; $s2 = "PHP"; $s3 = "MySQL"; $output = s1. " ". s2. " ". s3 ; поместит в переменную $output строку Dreamweaver PHP MySQL.

Типы данных Переменные PHP могут содержать данные различных типов. Логический Логический тип представляет только два значения: "истина" (true) и "ложь" (false). Оба эти значения записываются ключевыми словами языка PHP true и false. $flag=true;

Целочисленный Целочисленный тип представляет целые числа от до $counter=10;$delta=-193; По умолчанию целые числа задаются в десятичной системе счисления. Если нужно задать число в восьмеричной или шестнадцатеричной системе счисления, достаточно предварить его знаком 0 и 0x соответственно. $octal_number=0123; $hex_number=0x4F;

С плавающей точкой Тип с плавающей точкой представляет дробные числа от -1, *10E308 до -2, *10E-308,0 и от 2, *10E-308 до 1, *10E308 с точностью примерно до 14-го знака после запятой. $square=10.56;

Вместо знака запятой для представления числа в коде PHP используется точка. Для представления чисел в нормализованном виде ( *10 ) можно использовать специальный синтаксис вида E.

$distance=2.648E+12; В таком виде представлено число 2,648*E12. Знак + в значении порядка необходим. $millimeter=1E-3; А так представлено число 1*E-3.

Строковый Строковый тип представляет строки текста практически неограниченного размера. Строковые значения должны быть взяты в двойные кавычки. Внутри строк можно использовать любые символы, которые могут быть выведены на экран. $output="Привет!";

PHP предоставляет несколько специальных символов, которые могут быть использованы в строках. Эти символы либо выполняют особые действия, либо не могут быть включены в строки обычным образом: Спец. символ Описание \n Перевод строки \r Возврат каретки \t Горизонтальная табуляция \\Обратный слеш(\) \$Знак доллара \"Двойная кавычка \ Символ с заданным восьмеричным кодом \x Символ с заданным шестнадцатеричным кодом

Символы обратного слеша, доллара и двойной кавычки не присутствуют в строках, поэтому вместо них должны использоваться соответствующие их специальные символы. Например, $output = "Гостиница "Азимут""; - неправильно $output = "Гостиница \"Азимут\""; - правильно

Знаки возврата каретки и перевода строки, следующие друг за другом, \r\n позволят начать вывод данных с помощью оператора echo с новой строки. Например, сценарий: echo "Начнем"; echo "вывод\r\n"; echo "с новой строки!!!"; выведет на экран: Начнем вывод с новой строки!!!

Арифметические операции служат для выполнения арифметических действий над операндами. Арифметические операции, поддерживаемые РНР: Оператор Описание -Смена знака числа +Сложение -Вычитание *Умножение /Деление %Остаток от деления ++Инкремент (увеличение на единицу) --Декремент (уменьшение на единицу)

Оператор смены знака числа ставится перед аргументом и меняет его знак: $r = -$r; Это выражение извлекает значение переменной $r, меняет его знак и снова помещает в переменную $r.

Оператор инкремента может стоять как перед аргументом, так и после него. $t = ++$r; Это выражение сначала инкрементирует значение переменной $r, а потом заносит его в переменную $t. $t = $r++; Это выражение, сначала заносит значение переменной $r в переменную $t, а потом инкрементирует значение переменной $r. Точно так же работает и оператор декремента.

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

Чему равно значение переменной $a в результате выполнения следующего скрипта? <?php $b=10; $c=++$b; $a=$c%$b; $a=$a--; ?>

Логические выражения Операторы сравнения сравнивают два аргумента согласно какому-то условию и возвращают логическое значение. Если условие сравнения выполняется, возвращается значение "истина" (true), если не выполняется "ложь" (false). Примеры выражений, использующих операторы сравнения: $a1 = (2 0) ; $a3 = ($r < $t);

Поддерживаемые РНР операторы сравнения: Операция Описание <Меньше >Больше ==Равно <=Меньше или равно >=Больше или равно != или <>Не равно ===Строго равно !==Строго не равно

Обычные операторы "равно" и "не равно", если встречают аргументы, содержащие значения разных типов, пытаются преобразовать их к одному типу. Операторы строгого равенства и строгого неравенства такого преобразования не делают, а в случае несовместимости типов аргументов всегда возвращают значение false.

Чему равны значения переменных $a, $b и $c после выполнения следующего сценария? <?php $str=Вычислить; $num=100; $a=($str===$num); $b=($str!==$num); $c=($num!=100); ?>

Оператор Описание !НЕ (логическая инверсия) && или andИ (логическое умножение) || или orИЛИ (логическое сложение) Логические операторы выполняют действия над логическими значениями:

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

Примеры $flag = ($а > 3) || ($b + $с != 10); $d = ($t == 0) && ($у < 100); Эта особенность заметно ускоряет обработку сценариев, содержащих логические выражения с операторами && и ||.

a)Какое значение получит переменная $flag, если $flag = !($status == 0); b)Какое значение получит переменная $flag, если $flag = ($а > 3) || ($b + $с != 10); c)Как запишется логическое выражение, возвращающее значение true, если значение переменной $x принадлежит одному из двух интервалов значений: от - 10 до 0 (0 не попадает в интервал) и от 0 (0 не попадает в интервал) до 10?

Совместимость и преобразование типов данных Что произойдет, если сложить число и строку? Обработчик РНР попытается сделать эти типы совместимыми, преобразуя один из них к другому, попытается преобразовать строку в число и после этого выполнит сложение. Преобразование строки в число выполняется по следующим правилам: если начало строки содержит цифры, которые можно преобразовать в целое число, строка будет преобразована в целое число; если начало строки содержит цифры, которые можно преобразовать в число с плавающей точкой, строка будет преобразована в число с плавающей точкой; если начало строки вообще не содержит цифр, строка будет преобразована в 0.

Рассмотрим сценарий: $а = 11; $b = "10 негритят"; $с = $а + $b; Переменная $с получит значение 21 (11+10). При попытке объединить строку и число последнее будет преобразовано в строку: $s = "PHP; $n = 4; $result = $s. $n; Здесь переменная $result получит значение PHP4.

Логические величины преобразуются либо в числовые, либо в строковые, в зависимости от конкретного случая. Значение true будет преобразовано в число 1 или строку "1", а значение false в 0 или "0". При преобразовании строк или чисел в логические величины правила более сложные. Так, числовое значение 0 и строки "" (пустая строка, не содержащая ни единого символа) и "О" будут преобразованы в значение false. Все остальное (ненулевые числа и непустые строки) будут преобразованы в true.

Лучше оперировать только данными совместимых типов. Если же все-таки нужно объединить в одном операторе разнотипные аргументы, следует выполнить приведение типов. Достаточно поставить перед аргументом, который нужно преобразовать в другой тип, ключевое слово, обозначающее нужный тип данных, взяв его в скобки: (bool) для преобразования в логический тип; (int) для преобразования в целочисленный тип; (float) для преобразования в тип с плавающей точкой; (string) для преобразования в строковый тип.

Пример : $n = 4; $result = $s. (string) $n; В логических выражениях, использующих операторы сравнения, РНР также выполняет преобразование типов. Исключение составляют только операторы строгого сравнения.

Приоритет операторов Приоритет влияет на порядок, в котором выполняются операторы в выражении. Сначала выполняются операторы с более высоким приоритетом, а уже потом операторы с более низким. Операторы с одинаковым приоритетом выполняются в порядке их следования в выражении слева направо.

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

$а = ($b + $с) * 10; В этом сценарии сначала будет выполнено сложение значений переменных $b и $с, а потом получившаяся сумма будет умножена на 10.

Операторы, заключенные в скобки, также подчиняются приоритету. Поэтому часто используются многократно вложенные скобки. $а = (($b + $с) * 10 - $d) / 2 + 9;

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

Блоки Представляют собой несколько более простых выражений, объединенных в одно. Чтобы создать блок, достаточно заключить составляющие его простые выражения в фигурные скобки: $а = 2; $b = 3; $с = $а + $b; echo $c; } После закрывающей фигурной скобки точку с запятой ставить не нужно. Обычно блоки не используются сами по себе. Чаще всего они входят в состав других сложных выражений.

Условное выражения Условное выражение позволяет выполнить один из двух входящих в него блоков в зависимости от выполнения или невыполнения какого-либо условия. Таким условием может быть значение логической переменной или результат вычисления логического выражения. Условное выражение создается с помощью операторов if и else и имеет следующий формат: if ( ) { } else { }

Условие логическое выражение, в соответствии с которым РНР принимает решение, какой блок выполнить. Если условие имеет значение true ("истина"), то выполняется первый блок. Если же условие имеет значение false ("ложь"), то выполняется второй блок. В условном выражении должны использоваться только блоки это обязательно!

Пример условного выражения: if ($х == 1) { $а = "Единица"; $b = 1; } else { $а = "Не единица"; $b = 22222; } Здесь значение переменной $х сравнивается с единицей и, в зависимости от результатов сравнения, присваиваем переменным $а и $b разные значения.

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

if ($flag) { $status = "Операция выполнена."; $error_code = 0; } if ($х < 0) $х =0;

Условный оператор ?: ? :

$х = ($х < 0) ? О : х;

Выражение выбора switch ( ) { case : [break;] [case значение 2> : [break;]...] [default : ] }

В выражениях выбора используются операторы switch, case, default И break. В выражении выбора значение переменной или результат вычисления выражения последовательно сравнивается со значением 1, значением 2 и т.д. и, если такое сравнение успешно, выполняется соответствующий набор выражений (первый, второй и т. д.) Если же ни одно сравнение не увенчалось успехом, выполняется набор выражений, находящийся в секции default (если, конечно, она есть).

switch ($a) { case 1 : $out = "Единица"; break; case 2 : $out = "Двойка"; break; case 3 : $out = "Тройка"; break; default : $out = "Другое число"; }