<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/getting-started.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'introduction.php',
    1 => 'Введение',
    2 => 'Что такое PHP и что он умеет делать',
  ),
  'up' => 
  array (
    0 => 'getting-started.php',
    1 => 'Приступая к работе',
  ),
  'prev' => 
  array (
    0 => 'getting-started.php',
    1 => 'Приступая к работе',
  ),
  'next' => 
  array (
    0 => 'tutorial.php',
    1 => 'Простой учебник',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'chapters/intro.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="introduction" class="chapter">
 <div class="info">
  
  <h1 class="title">Что такое PHP и что он умеет делать</h1>

 </div>

  <div id="intro-whatis" class="section">
  <h2 class="title">Что такое PHP?</h2>
  <p class="para">
   <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> (рекурсивный акроним словосочетания
   <em>PHP: Hypertext Preprocessor</em>) — распространённый
   язык программирования общего назначения с открытым исходным кодом,
   который сконструировали специально для веб-разработки
   и который встраивают в HTML-разметку.
  </p>
  <p class="para">
   Простой ответ, но что он означает? Вот пример кода:
  </p>
  <p class="para">
   <div class="example" id="example-1">
    <div class="info"><p><strong>Пример #1 Пример программирования на языке PHP</strong></p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">&lt;!DOCTYPE html&gt;<br />&lt;html&gt;<br />    &lt;head&gt;<br />        &lt;title&gt;Пример&lt;/title&gt;<br />    &lt;/head&gt;<br />    &lt;body&gt;<br /><br />        <span style="color: #0000BB">&lt;?php<br />        </span><span style="color: #007700">echo </span><span style="color: #DD0000">"Привет, я — PHP-скрипт!"</span><span style="color: #007700">;<br />        </span><span style="color: #0000BB">?&gt;<br /></span><br />    &lt;/body&gt;<br />&lt;/html&gt;</span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   Вместо рутинного вывода HTML-кода командами языка
   (как в языках C или Perl),
   PHP-страницы содержат HTML-разметку со встроенным кодом, который проделывает <span class="replaceable">полезную работу</span>
   (в примере — выводит текст «<span class="computeroutput">Привет, я — PHP-скрипт!</span>»).
   PHP-код отделяется <a href="language.basic-syntax.phpmode.php" class="link">начальным и конечным тегами
   <code class="code">&lt;?php</code> и <code class="code">?&gt;</code></a> — инструкциями начала и завершения обработки кода,
   которые разрешают входить в <q class="quote">PHP-режим</q> и выходить из него.
  </p>
  <p class="para">
   Язык PHP отличается от языка JavaScript, который обрабатывается на клиентской стороне,
   тем, что PHP-скрипты выполняются на сервере, и генерируют HTML-разметку, которая затем
   посылается клиенту. Клиент получит результаты запуска этого скрипта,
   но не будет знать, какой базовый код сгенерировал результаты.
   Веб-сервер настраивается даже так, чтобы
   обычные HTML-файлы обрабатывались процессором PHP, и тогда клиенты
   даже не смогут узнать, получают ли они обычный HTML-файл или
   результат выполнения скрипта.
  </p>
  <p class="para">
   Язык PHP чрезвычайно прост для начинающих программистов, но предлагает
   расширенные возможности программистам с опытом.
   Не бойтесь читать длинный список возможностей PHP.
   Написать простые PHP-скрипты получится уже через 1-2 часа
   после начала знакомства с языком.
  </p>
  <p class="para">
   Хотя PHP-разработка ориентирована на то, чтобы создавать серверные скрипты,
   язык этим не ограничивается.
   Продолжайте чтение и не пропустите главу
   «<a href="introduction.php#intro-whatcando" class="link">Что умеет PHP</a>» или начните непосредственно
   с «<a href="tutorial.php" class="link">Вводного руководства</a>», чтобы перейти
   к изучению веб-программирования.
  </p>
 </div>

 <div id="intro-whatcando" class="section">
  <div class="info"><h1 class="title">Что умеет PHP</h1></div>
  <p class="para">
   PHP умеет делать что-угодно. Главное назначение PHP —
   создавать скрипты, которые обрабатываются на сервере;
   поэтому PHP умеет выполнять всё то, что выполняет любая другая CGI-программа,
   например, обрабатывать данные форм, генерировать динамические
   страницы или отсылать и принимать cookies.
   Но PHP умеет намного больше.
  </p>
  <p class="para">
   PHP применяют в двух основных областях.
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      Создают скрипты, которые обрабатываются на стороне сервера.
      Это традиционная и главная цель PHP. Чтобы написать и выполнить скрипт, понадобятся три вещи:
      Синтаксический анализатор PHP (в виде CGI-программы или серверного модуля),
      веб-сервер и браузер. Эти инструменты запускают на локальной машине,
      чтобы просто поэкспериментировать с программированием на PHP.
      Более подробные сведения даёт раздел
      «<a href="install.php" class="link">Установка и настройка</a>».
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      Создают скрипты для запуска в командной строке.
      PHP-скрипты запускаются без сервера или браузера,
      потребуется только парсер — синтаксический анализатор PHP. Такой способ работы
      с PHP идеально подходит для скриптов, которые требуется выполнять
      регулярно, например, через <strong class="command">cron</strong> (на платформах *nix или Linux)
      или через «Планировщик задач» на платформах
      Windows. Этими скриптами также просто обрабатывают тексты.
      Дополнительную информацию даёт раздел
      «<a href="features.commandline.php" class="link">Работа с PHP из командной строки</a>».
     </span>
    </li>
   </ul>
  </p>
  <p class="para">
   PHP <a href="install.php" class="link">работает</a> на большей части операционных систем, включая
   Linux, многие модификации Unix (например, HP-UX, Solaris и OpenBSD),
   Microsoft Windows, macOS, RISC OS и многие другие.
   PHP также поддерживает бо́льшую часть современных
   веб-серверов наподобие Apache, IIS и многих других.
   Сюда входит любой веб-сервер, который умеет работать
   с двоичным PHP-файлом FastCGI-интерфейса, например, серверы Lighttpd и nginx.
   PHP работает либо как модуль, либо как CGI-процессор.
  </p>
  <p class="para">
   С PHP разработчик получает свободу выбора
   операционной системы и веб-сервера. Больше того, у программиста
   появляется выбор между процедурным
   или объектно-ориентированным программированием (ООП), или сочетанием обеих парадигм.
  </p>
  <p class="para">
   Программирование на PHP не ограничивается выводом HTML-разметки. PHP также умеет
   выводить файлы разных типов, например, изображений или PDF-файлов,
   шифровать данные и отправлять электронную почту.
   PHP также легко выводит текст наподобие JSON- или XML-строк.
   PHP умеет автоматически генерировать эти файлы и сохранять
   их в файловой системе, а не выводить на печать,
   чтобы сформировать серверный кеш для динамического содержимого.
  </p>
  <p class="para">
   Одно из значительных преимуществ языка PHP — поддержка
   <a href="refs.database.php" class="link">широкого круга баз данных</a>.
   Написать веб-страницу с поддержкой базы данных невероятно просто.
   Можно использовать модуль конкретной базы данных
   (например, <a href="book.mysqli.php" class="link">mysql</a>) или модуль
   уровня абстракции наподобие <a href="book.pdo.php" class="link">PDO</a>,
   или соединиться с базой данных с поддержкой стандарта
   открытого подключения к базе данных (ODBC) через модуль <a href="book.uodbc.php" class="link">ODBC</a>.
   Для других баз данных, например, CouchDB, можно использовать библиотеку <a href="book.curl.php" class="link">cURL</a>
   или <a href="book.sockets.php" class="link">сокеты</a>.
  </p>
  <p class="para">
   PHP также поддерживает взаимодействие с другими службами
   через протоколы LDAP, IMAP, SNMP, NNTP, POP3, HTTP,
   COM (на платформах Windows) и многие другие. PHP также
   умеет открывать необработанные сетевые сокеты и взаимодействовать по другим протоколам.
   PHP поддерживает стандарт обмена сложными структурами
   данных WDDX практически между всеми языками веб-программирования.
   Обращая внимание на взаимодействие между разными
   языками, следует упомянуть о поддержке объектов языка Java и возможности
   использовать их как PHP-объекты.
  </p>
  <p class="para">
   PHP умеет <a href="refs.basic.text.php" class="link">обрабатывать текст</a>,
   включая Perl-совместимые регулярные выражения (<a href="book.pcre.php" class="link">PCRE</a>)
   и другие модули и инструменты <a href="refs.xml.php" class="link">для обработки и доступа
   к XML-документам</a>. PHP стандартизирует XML-модули
   на прочной основе библиотеки <a href="book.libxml.php" class="link">libxml2</a>,
   а также расширяет набор инструментов для обработки XML-документов за счёт добавления поддержки модулей
   <a href="book.simplexml.php" class="link">SimpleXML</a>, <a href="book.xmlreader.php" class="link">XMLReader</a>
   и <a href="book.xmlwriter.php" class="link">XMLWriter</a>.
  </p>
  <p class="para">
   Другие интересные модули распределили
   как <a href="extensions.php" class="link">в алфавитном порядке</a>,
   так и <a href="funcref.php" class="link">по категориям</a>.
   Существуют также дополнительные <a href="install.pecl.intro.php" class="link">PECL-модули</a>,
   часть которых описывает это руководство, например, модуль <a href="http://xdebug.org/" class="link external">&raquo;&nbsp;XDebug</a>.
  </p>
  <p class="para">
   Как видно, этой страницы недостаточно, чтобы
   перечислить все возможности и преимущества языка PHP.
   Прочитайте разделы «<a href="install.php" class="link">Установка и настройка</a>»
   и просмотрите главу «<a href="funcref.php" class="link">Справочник
   по функциям</a>», которые дают дополнительные сведения
   о модулях, которые упоминает эта часть руководства.
  </p>
 </div>

</div>
<?php manual_footer($setup); ?>