УМК английского языка для тинэйджеров от Лонгман. Longman Activate! УМК английского языка для тинэйджеров от Лонгман Установка и настройка

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

  • Выполните следующие команды:
  • gunzip apache_1.3.9.tar.gz gunzip php-4.0.0.tar.gz

    После завершения распаковки остаются файлы с расширением *.tar.

  • Извлеките файлы поставки из архивов:
  • tar -zxvf apache_1.3.x.tar tar -zxvf php-4.0.x.tar

    С этого момента начинается основной процесс установки.

    Модуль Apache

    Установка РНР в виде модуля Apache выполняется довольно просто. Ниже подробно описаны все необходимые действия:

  • Перейдите в каталог Apache: cd apache_1.3.x
  • Настройте Apache. Выберите путь по своему усмотрению, но помните, что за ним не должна следовать косая черта: ./configure -prefix=[путь]
  • Перейдите в каталог РНР; настройте, соберите и установите поставку. Параметр -with-config-file-path задает каталог, в котором будет находиться файл конфигурации РНР. Обычно этот файл находится в каталоге /usr/local/lib, но вы можете выбрать другой каталог по своему усмотрению: ./configure -with-apache=../apache_1.3.x -with-config-file-path=[путь] make make install
  • Вернитесь в каталог Apache. Теперь вы можете изменить конфигурацию, собрать и установить Apache. Параметр -other-configuration-options относится к любым специальным параметрам конфигурации, которые вы хотели бы передать web-серверу Apache. Данная тема выходит за рамки книги. Полное описание параметров приведено в документации Apache: ./configure -activate-module=src/modules/php4/libphp4.a -other-configuration-options make make install
  • На последнем этапе происходит редактирование файла Apache httpd.conf. Одни модификации относятся к Apache, другие необходимы для того, чтобы сценарии РНР распознавались и передавались web-серверу. Сначала найдите такую строку:
  • ServerName localhost

    Затем найдите строки

    Чтобы файлы с поддержкой РНР правильно работали на сервере, эти строки необходимо раскомментировать. Для этого достаточно удалить знак фунта(#) в начале каждой строки. Сохраните файл и поднимитесь в иерархии каталогов на один уровень вверх. Запустите сервер Apache следующей командой:

    ./bin/apachectl start

    Voila! PHP и Apache готовы к работе. Для проверки сохраните приведенный ниже фрагмент в файле phpinfo.php в корневом каталоге документов Apache - каталоге htdocs, находящемся в установочном каталоге Apache:

    Откройте файл в браузере на сервере. В окне появляется длинный перечень сведений о конфигурации РНР. Вы успешно установили РНР в виде модуля Apache.

    Динамический модуль Apache

    Динамические модули удобны тем, что они позволяют обновлять поставку РНР без перекомпиляции web-сервера. Apache рассматривает поддержку РНР как один из своих многочисленных модулей вроде ModuleRewrite или ModuleSpelling. Этот вариант особенно хорош в ситуациях, когда в РНР позднее будет добавляться поддержка новых возможностей - например, шифрования. Все, что вам придется сделать - переконфигурировать/откомпилировать РНР с поддержкой шифрования, и вы сможете немедленно использовать новую возможность в web-приложениях. Процесс установки описан ниже:

  • Перейдите в каталог Apache:
  • Настройте Apache. Выберите путь по своему усмотрению, но помните, что за ним не должна следовать косая черта. Параметр -other-configuration-options относится к любым специальным параметрам конфигурации, которые вы хотели бы передать web-серверу Apache. Данная тема выходит за рамки книги. Полное описание параметров приведено в документации Apache.
  • ./configure -prefix=[путь] -enable-module=so -other-configuration-options
  • Соберите сервер Apache. После ввода команды make на экран выводится серия сообщений:
  • Установите сервер Apache. После ввода команды make install на экран выводится следующая серия сообщений. После успешного завершения установки на экране появляется соответствующее сообщение:
  • Если предыдущие действия прошли без ошибок, можно переходить к редактированию файла httpd.conf. Этот файл находится в подкаталоге conf каталога, указанного на шаге 2. Откройте файл в текстовом редакторе и найдите строку:
  • ServerName new.host.name

    Приведите ее к следующему виду:

    ServerName local host
  • Перейдите в тот каталог, где находится пакет РНР. Настройте, соберите и установите РНР. В параметрах указывается путь к каталогу, содержащему файл apxs, - подкаталогу bin каталога, путь к которому был указан на шаге 2:
  • ./configure -with-apxs=[путь/k/apxs] make make install
  • Откройте файл Apache httpd.conf для очередной модификации. Для обеспечения правильного лексического анализа входящих запросов на файлы с поддержкой РНР расширение должно совпадать с одним из расширений, указанных в файле конфигурации сервера Apache, httpd.conf. Файл содержит параметры, которые могут изменяться по усмотрению администратора; некоторые из них имеют прямое отношение к РНР. Откройте файл httpd.conf в своем текстовом редакторе. В конце файла присутствуют две строки следующего вида:
  • #AddType application/x-httpd-php .php .php4 #AddType application/x-httpd-php-source .php .phps
  • Чтобы файлы с поддержкой РНР правильно работали на сервере, эти строки необходимо раскомментировать. Для этого следует удалить"знак фунта(#) в начале каждой строки.
  • Сохраните файл и перейдите на один уровень вверх в иерархии каталогов(командой cd). Запустите Apache следующей командой:
  • ./bin/apachectl start

    Voila! РНР и Apache готовы к работе.

    Великолепный курс английского языка учебник Longman — Activate! B2 Full pack направленный на обучение для подростков и помогает готовиться к экзаменам FCE . Увлекательные темы, которые показаны в ряде видео, не оставят равнодушным ни одного из учеников изучающих этот курс. К вашему вниманию представлены видео как с субтитрами , так и без них.

    Год: 2008
    Издательство: Pearson Longman
    Формат: mp3, pdf, DVDRip
    Автор : Barraclough C., Gaynor S., Florent J. etc

    Компоненты:
    Longman — Activate! B1 — Student’s book
    Longman — Activate! B1 — Workbook
    Longman — Activate! B1 — Use of English Book
    Longman — Activate! B1 — Teacher’s book
    Longman — Activate! B1 — Class Audio CD1
    Longman — Activate! B1 — Class Audio CD2
    Longman — Activate! B1 — CD-ROM
    Longman — Activate! B1 — Video DVD 5
    Longman — Activate! B1 — Video DVD-Rip
    Скачать курс
    Размер: 2. 82 Гб.

    Великолепный курс английского языка учебник Longman — Activate! B2 Full pack

    Учебники Activate! A2 предназначены для студентов, которые готовятся к сдаче международных экзаменов по английскому языку уровня A2 , например Key English Test (KET).

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

    Учебник имеет видео как с субтитрами, так и без них

    Учебники Activate! B1 и Activate! B2 предназначены для студентов, которые готовятся к сдаче международных экзаменов по английскому языку уровней B1 и B2, например FCE.

    Существует два под — уровня B1 — Activate! B1 и Activate! B1+ (плюс) .

    Особенности курса:

    • Мотивирующие DVD-клипы, взятые из телевизионных программ
    • Разделы Skillzone и Examzone, помогающие наработать необходимые языковые навыки для сдачи экзаменов
    • Интерактивная практика подготовки к экзаменам на CD-ROM позволяет студентам проверить себя, наблюдать за прогрессом в обучении и успешно сдать экзамены по английскому языку
    В комплекте вы найдете рабочие тетради, книгу для студента, преподавателя и аудиокурс

    Activate! is ideal for teenage students who are preparing for all A1 — B2 level examinations .
    The rigorous exam syllabus combined with enjoyable topics and tasks ensure your teenage students reach their full potential.

    Motivate your students with the exciting components including students’ DVD , and students’ CD ROM .
    Give your students the opportunity to test themselves and monitor their progression with the interactive exam practice on Internet.

    Easy preparation for multiple exams with the flexible materials in the teacher’s Exam Box and extensive exam practice activities.

    » Операторы отношения

    Навигация по Самоучителю: 1.1 О PHP 1.2 История PHP 1.3 Почему именно PHP? 1.4 Как это все (PHP) работает? 1.5 От интерпретатора к компилятору 1.6 Возможности PHP 1.7 Что необходимо для работы? 1.8 Ответы на ваши вопросы 1.9 Заключение к главе 2.1 Установка и конфигурирование 2.2 Установка Apache 2.3 Установка PHP 2.4 Установка MySQL 2.5 Настройка Apache 2.6 Настройка PHP 2.7 Настройка MySQL 2.8 Тестирование программ Apache, PHP 2.9 Заключение к главе 2 3.1 Синтаксис языка PHP 3.2 Профессиональная вставка 3.3 РНР и HTML 3.4 Комментарии в языке (коде) PHP 3.5 Оформление PHP кода программы 3.6 Заключение к главе 3 4.1 Переменные. Что такое переменные? 4.2 Переменные. Типы данных в PHP 4.3 Integer. Тип данных. 4.4 Double. Тип данных. 4.5 Boolean. Тип данных. 4.6 Другие типы данных 4.7 Определение переменных в PHP 4.8 Изменение типа данных в PHP 4.9 Ссылки на переменные в PHP 4.10 Динамические переменные в PHP 4.11 Что такое Константы в PHP? 4.12 Определение констант в языке PHP 4.13 Предопределенные константы в языке PHP 4.14 Заключение к главе 4 5.1 Операторы в PHP 5.2 Оператор присваивания в PHP 5.3 Арифметические операторы в PHP 5.4 Операторы отношения в PHP 5.5 Логические операторы в PHP 5.6 Поразрядные операторы в PHP 5.7 Строковые операторы в PHP 5.8 Оператор подавления ошибок в PHP 5.9 Операторы увеличения и уменьшения в PHP 5.10 Сокращенная запись присвоения переменных в PHP 5.11 Приоритетность и ассоциативность в PHP 5.12 Заключение к главе 5 6.1 Управляющие операторы PHP 6.2 Условный оператор IF 6.3 Условный оператор Elseif 6.4 Условный оператор Switch 6.5 Операторы цикла For 6.6 Оператор цикла While 6.7 Оператор цикла Do...while 6.8 Безусловный оператор Break 6.9 Безусловный оператор Continue 6.10 Безусловный оператор Exit 6.11 Require 6.12 Include 6.13 Заключение к главе 6 7.1 Функции в PHP 7.2 Определение функций в PHP 7.3 Аргументы функций в PHP 7.4 Область видимости переменных 7.5 Время жизни переменных в PHP 7.6 Рекурсия в PHP 7.7 Динамический вызов функций в PHP 7.8 Заключение к главе 7 8.1 Массивы в PHP 8.2 Присвоение значений массивов PHP 8.3 Функция array () PHP 8.4 Вывод PHP массивов 8.5 Обход массивов PHP. Функция count(), Конструкции foreach() 8.6 Функция reset() 8.7 each() 8.8 list() 8.9 Сложение массивов 8.10 Сравнение массивов 8.11 Добавление элементов массива 8.12 Удаление элементов массива 8.13 Сортировка массивов 8.14 Многомерные массивы 8.15 Преобразование в массив 8.16 Заключение к главе 8 9.1 Строка 9.2 Обработка переменных внутри строк 9.3 Вывод строк 9.4 Форматированный вывод строк 9.5 Длина строки в PHP 9.6 Поиск подстроки в строке 9.7 Чистка строк 9.8 Заключение к главе 9 10.1 Работа с HTML-формами 10.2 Передача данных HTML-формы. Метод GET и POST 10.3 Получение данных в PHP 10.4 Суперглобальные массивы $_GЕТ и $_POST 10.5 Заключение к главе 10 11.1 Открытие файлов в PHP 11.2 Закрытие файлов в PHP 11.3 Чтение и запись файлов в PHP 11.4 Копирование, удаление и переименование файлов в PHP 11.5 Получение информации о файлах в PHP 11.6 Файловый указатель в PHP 11.7 Открытие и закрытие каталогов в PHP 11.8 Чтение каталогов в PHP 11.9 Создание и удаление каталогов в PHP 11.10 Заключение к главе 11 12.1 Работа с базами данных MySQL в PHP 12.2 Соединение PHP с сервером базы данных MySQL 12.3 Создание и удаление базы данных MySQL 12.4 Создание и удаление таблиц MySQL 12.5 Работа с данными MySQL 12.6 Заключение к главе 12 13.1 Работа с изображениями в PHP. Библиотека GD 13.2 Создание и вывод изображений в PHP 13.3 Модификация изображений в PHP 13.4 Работа с текстом в PHP 13.5 Заключение к главе 13 14.1 Работа с датой и временем в PHP 14.2 Символы форматирования даты и времени в PHP 14.3 Функция date() и getdate() в PHP 14.4 Преобразования к абсолютному времени в PHP 14.5 Заключение к главе 14 15.1 Работа с регулярными выражениями в PHP 15.2 Регулярные выражения POSIX в PHP 15.3 Метасимволы в PHP 15.4 Классы символов 15.5 Квантификаторы 15.6 Замена по шаблону 15.7 Примеры регулярных выражений 15.8 Заключение к главе 15 16.1 Работа с Cookies в PHP 16.2 Создание Cookies в PHP 16.3 Чтение из Cookies 16.4 Удаление Cookies 16.5 Заключение к главе 16

    Операторы отношения применяются для сравнения значений. Обычно сравнивают числа, но РНР позволяет применять их и к строкам. Выражения, содержащие операторы отношения (или сравнения), всегда имеют значение типа Boolean, то есть TRUE или FALSE. Они часто применяются в конструкциях типа if.. else и подобных им. Об этом читайте в следующей главе.

    Приведем все операторы отношения, доступные в РНР:

    $а == $b - проверка на равенство
    $а равняется $b - TRUE
    $а не равняется $b - FALSE;

    $а! = $b - проверка на неравенство
    $а не равняется $b - TRUE
    $а равняется $b - FALSE;

    $а $а меньше $b - TRUE
    $а больше либо равно $b - FALSE;

    $а > $b - проверка на больше
    $а больше $b - TRUE
    $а меньше либо равно $b - FALSE;

    $а $а меньше либо равно $b - TRUE
    $а больше $b - FALSE;

    $а >= $b - проверка на больше либо равно
    $а больше либо равно $b - TRUE
    $а меньше $b - FALSE;

    $а === $b - проверка на идентичность
    $а идентичны $b - TRUE
    $а неидентичны $b - FALSE.

    Приведенные операторы очень простые, хотя пояснений требует, наверное, последний из них (===). Этот оператор появился только в РНР 4. Он требует от своих операндов не только одинаковых значений, но и совпадение типа данных (листинг 5.1).

    Листинг 5.1. Оператор проверки на идентичность.

    ‹html›
    ‹head›
    ‹title›Оператор проверки на идентичность‹/title›
    ‹/head›
    ‹body›
    ‹?php
    $a = 4; // переменная типа Integer
    $b = "4"; // переменная типа String
    echo "==: ";
    echo ($a==$b); // выводит 1 (TRUE)
    echo "‹br›";
    echo "===: ";
    echo ($a===$b); // выводит "" (FALSE)
    ?›
    ‹/body›
    ‹/html›

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

    Последние пять лет ознаменовались фантастическим развитием Интернета и новых способов общения между людьми. На переднем крае этого явления находится World Wide Web (WWW). Ежедневно в этой новой коммуникационной среде открываются тысячи новых сайтов, а потребителям предлагаются новые виды услуг. Вместе с бурным развитием рынка появился огромный спрос на новые технологии и разработчиков, владеющих ими. Если вы читаете этот абзац, вероятно, вы уже являетесь или скоро станете web-разработчиком. Впрочем, какой бы ни была ваша профессия, вы выбрали эту книгу потому, что слышали о замечательной новой технологии - РНР.

    В этой главе вы познакомитесь с языком РНР, получите представление о его истории и возможностях, а также основную информацию, необходимую для разработки сайтов с поддержкой РНР. Надеюсь, приведенные примеры пробудят ваш энтузиазм и наглядно покажут, какие перспективы РНР открывает перед вами и вашей организацией. Вы узнаете, как установить и настроить программное обеспечение РНР на компьютерах с Linux/UNIX или Windows и как внедрить РНР в HTML. К концу главы вы будете готовы к тому, чтобы углубленно заняться изучением других важных аспектов языка РНР. Итак, зажигайте свет, включайте свою любимую музыку и устраивайтесь поудобнее. Пришла пора познакомиться с тем, что станет одним из важнейших пунктов в вашем резюме, - с программированием на РНР.

    Краткая история

    История РНР начинается с 1995 года, когда независимый программист-контрактник по имени Расмус Лердорф (Rasmus Lerdorf) написал сценарий Perl/CGI для подсчета количества посетителей сайта, прочитавших его онлайновое резюме. Его сценарий решал две задачи: регистрацию данных посетителя и вывод количества посетителей на web-странице. Развитие WWW еще только начиналось, никаких специальных средств для решения этих задач не было, и к автору хлынул поток сообщений с вопросами. Лердорф начал бесплатно раздавать свой инструментарий, названный Personal Home Page (РНР) или Hypertext Processor (гипертекстовый процессор).

    Шумный успех инструментария РНР заставил Лердорфа приступить к разработке расширений РНР. Одно из расширений преобразовывало данные, введенные на форме HTML, в символические переменные, что позволяло экспортировать их в другие системы. Чтобы добиться поставленной цели, Лердорф решил в дальнейших разработках перейти с Perl на С. Расширение существующего инструментария РНР привело к появлению РНР 2.0, или PHP-FI (Personal Home Page - Form Interpretator). В усовершенствовании версии 2.0 принимали участие программисты со всего мира.

    Новая версия РНР пользовалась исключительной популярностью, и вскоре образовалась основная команда разработчиков. Они сохранили исходную концепцию внедрения программного кода прямо в HTML и переписали заново механизм лексического анализа, что привело к появлению РНР 3.0. К моменту выхода версии 3.0 в 1997 году свыше 50 000 пользователей применяли РНР для улучшения своих web-страниц.

    В 1997 году было решено, что сокращение РНР должно означать не "Personal Home page", а "РНР Hypertext Processor"

    В течение следующих двух лет стремительное развитие РНР продолжалось. В язык добавлялись сотни новых функций, а количество пользователей стремительно росло. В начале 1999 года служба Netcraft (http://www.netcraft.com) сообщила о том, что, по минимальным оценкам, число пользователей РНР превысило 1 000 000, в результате чего РНР стал одним из самых популярных сценарных языков в мире.

    В начале 1999 года было объявлено о предстоящем выходе РНР 4.0. Хотя одной из сильнейших сторон РНР была эффективность выполнения сценариев, при первоначальных разработках не предполагалось, что на базе РНР будут строиться крупномасштабные приложения. По этой причине была начата работа над более устойчивым механизмом лексического анализа, больше известным под названием Zend (http://www.zend.com). Работа шла быстро и завершилась 22 мая 2000 года выпуском РНР версии 4.0.

    Кроме лексического анализатора Zend, компания Zend Technologies (Израиль) распространяет оптимизатор Zend, который повышает выигрыш в быстродействии от применения лексического анализатора Zend. Тесты показывают, что ускорение работы программы в результате использования оптимизатора составляет от 40 до 100 %. За дополнительной информацией обращайтесь на сайт Zend.

    На момент написания этой книги, по данным Netcraft (http://www.netcraft.com), программное обеспечение РНР было установлено более чем в 3,6 миллиона доменов. Будущее РНР выглядит светлым, поскольку продукт продолжает активно использоваться как на крупных web-сайтах, так и на компьютерах отдельных пользователей.

    РНР лучше всего охарактеризовать как работающий на стороне сервера встроенный язык сценариев Web, позволяющий разработчикам быстро и эффективно строить динамические web-приложения. С позиций грамматики и синтаксиса РНР напоминает язык программирования С, хотя разработчики не постеснялись включить в него средства из других языков, в том числе из Perl, Java и C++. Среди ценных заимствованных возможностей - поддержка регулярных выражений, мощные средства работы с массивами, объектно-ориентированная методология и обширная поддержка работы с базами данных.

    При написании приложений, выходящих за рамки традиционной, статической методологии разработки web-страниц (то есть HTML), РНР также может послужить ценным инструментом для создания и управления динамическим содержанием, который используется наряду с JavaScript, стилями, WML (Wireless Markup Language) и другими полезными языками. Благодаря наличию сотен стандартных функций РНР в состоянии решить практически любую задачу, которая может придти в голову разработчику. В нем имеется обширная поддержка создания графики и операций с ней, математических вычислений, средств электронной коммерции и таких популярных технологий, как XML (Extensible Markup Language), ODBC (Open Database Connectivity) и Macromedia Shockwave. Широкий выбор возможностей избавляет от необходимости рутинной и непростой работы по подключению сторонних модулей, поэтому многие разработчики со всего мира останавливают свой выбор на РНР.

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

    Сообщение "Hello world!" выводится в заголовке web-страницы. Интересно то, что команда print внутри конструкции, которая обычно называется экранирующими последовательностями РНР (), представляет собой законченную программу. Ни длинного кода инициализации, ни включения библиотек - программа состоит лишь из того кода, который непосредственно решает поставленную задачу!

    Конечно, для выполнения сценариев РНР необходимо предварительно установить и настроить программное обеспечение РНР на сервере. Этот процесс описан в разделе "Загрузка и установка РНР/Apache" настоящей главы. Разделу предшествуют фрагменты из отзывов нескольких пользователей, выступающих в пользу РНР, с кратким обзором языка и его истории. Но прежде чем браться за процесс установки, мы познакомимся с некоторыми характеристиками РНР. Этой теме посвящен следующий раздел.

    Характеристики РНР

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

    • традиционностью;
    • простотой;
    • эффективностью;
    • безопасностью;
    • гибкостью.

    Существует еще одна "характеристика", которая делает РНР особенно привлекательным: он распространяется бесплатно!

    Традиционность

    Язык РНР кажется знакомым программистам, работающим в разных областях. Многие конструкции языка позаимствованы из Си Perl, а нередко код РНР практически неотличим от того, что встречается в типичных программах С или Pascal. Это заметно снижает начальные усилия при изучении РНР.

    Простота

    Сценарий РНР может состоять из 10 000 строк или из одной строки - все зависит от специфики вашей задачи. Вам не придется подгружать библиотеки, указывать специальные параметры компиляции или что-нибудь в этом роде. Механизм РНР просто начинает выполнять код после первой экранирующей последовательности (). Если код имеет правильный синтаксис, он исполняется в точности так, как указал программист.

    Эффективность

    Эффективность является исключительно важным фактором при программировании для многопользовательских сред, к числу которых относится и WWW. В РНР 4.0 был реализован механизм выделения ресурсов и обеспечена улучшенная поддержка объектно-ориентированного программирования, а также средства управления сеансом. В последней версии появился и механизм подсчета ссылок (reference counting), предотвращающий выделение лишней памяти.

    Безопасность

    РНР предоставляет в распоряжение разработчиков и администраторов гибкие и эффективные средства безопасности, которые условно делятся на две категории: средства системного уровня и средства уровня приложения.

    Средства безопасности системного уровня

    В РНР реализованы механизмы безопасности, находящиеся под управлением администраторов; при правильной настройке РНР это обеспечивает максимальную свободу действий и безопасность. РНР может работать в так называемом безопасном режиме (safe mode), который ограничивает возможности применения РНР пользователями по ряду важных показателей. Например, можно ограничить максимальное время выполнения и использование памяти (неконтролируемый расход памяти отрицательно влияет на быстродействие сервера). По аналогии с cgi-bin администратор также может устанавливать ограничения на каталоги, в которых пользователь может просматривать и исполнять сценарии РНР, а также использовать сценарии РНР для просмотра конфиденциальной информации на сервере (например, файла passwd).

    Средства безопасности уровня приложения

    В стандартный набор функций РНР входит ряд надежных механизмов шифрования. РНР также совместим с многими приложениями независимых фирм, что позволяет легко интегрировать его с защищенными технологиями электронной коммерции (e-commerce). Другое преимущество заключается в том, что исходный текст сценариев РНР нельзя просмотреть в браузере, поскольку сценарий компилируется до его отправки по запросу пользователя. Реализация РНР на стороне сервера предотвращает похищение нетривиальных сценариев пользователями, знаний которых хватает хотя бы для выполнения команды View Source.

    Тема безопасности настолько важна, что ей посвящена целая глава. За подробной информацией о средствах безопасности РНР обращайтесь к главе 16.

    Гибкость

    Поскольку РНР является встраиваемым (embedded) языком, он отличается исключительной гибкостью по отношению к потребностям разработчика. Хотя РНР обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, WML, XML и другие языки. Кроме того, хорошо структурированные приложения РНР легко расширяются по мере необходимости (впрочем, это относится ко всем основным языкам программирования).

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

    Поскольку РНР не содержит кода, ориентированного на конкретный web-сервер, пользователи не ограничиваются определенными серверами (возможно, незнакомыми для них). Apache, Microsoft IIS, Netscape Enterprise Server, Stronghold и Zeus - РНР работает на всех перечисленных серверах. Поскольку эти серверы работают на разных платформах, РНР в целом является платформенно-незави-симым языком и существует на таких платформах, как UNIX, Solaris, FreeBSD и Windows 95/98/NT.

    Наконец, средства РНР позволяют программисту работать с внешними компонентами, такими как Enterprise Java Beans или СОМ-объекты Win32. Благодаря этим новым возможностям РНР занимает достойное место среди современных технологий и обеспечивает масштабирование проектов до необходимых пределов.

    Бесплатное распространение

    Стратегия Open Source наделала немало шуму в программной отрасли. Распространение исходных текстов программ в массах оказало несомненно благотворное влияние на многие проекты, в первую очередь - Linux, хотя и успех проекта Apache сильно подкрепил позиции сторонников Open Source. Сказанное относится и к истории создания РНР, поскольку поддержка пользователей со всего мира оказалась очень важным фактором в развитии проекта РНР.

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

    "Мы в течение долгого времени поддерживали личные контакты с некоторыми разработчиками РНР и вели с ними обширную переписку. Когда у разработчиков РНР возникали какие-то проблемы, относящиеся к MySQL, мы всегда были готовы помочь им в поиске решения. Кроме того, мы включили в MySQL несколько новых возможностей лишь для того, чтобы улучшить его интеграцию с РНР. Результатом наших усилий стало то, что MySQL превосходно работает с РНР, - и мы позаботимся о том, чтобы это положение сохранилось и в будущем!"

    Майкл "Монти" Видениус (Michael "Monty" Widenius),
    разработчик MySQL
    http://www.mysql.com/

    "Выбор РНР для реализации mp3.lycos.com был обусловлен несколькими причинами. Главной причиной стали сжатые сроки работы над проектом - ведь РНР ускоряет процесс разработки. Другой причиной была высокая эффективность - мы перешли от 0 к 1,4 миллиона посещений в сутки, и РНР с этим прекрасно справился. Третья причина заключалась в том, что я твердо знал: если на стадии тестирования с повышенной нагрузкой в РНР обнаружатся какие-либо ошибки, я смогу их самостоятельно исправить, поскольку РНР распространяется вместе с исходными текстами".

    Стиг Баккен (Stig Bakken),
    FAST Search & Transfer ASA
    http://www.fast.no/

    "Я использовал РНР с первых дней, еще с версии PHP/FI 1.x. Мне понравилось, что я могу обрабатывать формы и настраивать страницы "на ходу" при помощи такого простого языка. Вместе с потребностями моей компании развивался и РНР.

    В наши дни РНР обладает исключительно богатыми возможностями. Мы используем его практически во всех создаваемых web-сайтах, включая 32bit.com и DevShed.com. Мы даже воспользовались им в Info West для реализации службы поддержки, управления учетными записями и отслеживания портов.

    Эволюция РНР и признание его мировым сообществом - классический пример успешного ведения проекта с открытыми исходными текстами. Широта взглядов создателей, поддержка сообщества и хорошее сопровождение кодовой базы привели РНР к успеху, о котором многие коммерческие проекты могут лишь мечтать. Я с оптимизмом смотрю в будущее РНР и рекомендую каждому web-разработчику попробовать его в деле. Возможно, вы, как и я, уже не расстанетесь с ним".

    Рэнди Косби (Randy Cosby),
    президент nGenuity, Inc. DevShed
    http://www.devshed.com/

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

    Пример, приведенный в листинге 1.1, наглядно показывает, как легко РНР интегрируется с HTML-кодом.

    Листинг 1.1. Создание динамической страницы РНР.





    error: Контент защищен !!