Викии Вики
Викии Вики
Плашки 2.png
В этой статье встречаются фактические ошибки.
Необходимо проверить её на на предмет достоверности.

PHP logo.svg

PHP (читается как «пи-эйч-пи», в сленге как «пэ-хэ-пэ») — язык программирования, в среде MediaWiki и Фэндома использующийся при разработке ботов. Также сам движок MediaWiki частично держится на PHP. Язык ориентирован на вею-разработку и преимущественно используется для написания разного рода скриптов, хранящихся в файлах .php. Последней версией на 4 октября 2019 является 7.4.0RC3[1]

Установка

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

PHP под Windows

Компилятор

Официально PHP (версии 5.4 и выше) поддерживает сборку с помощью Microsoft Visual C++ 9.0 и выше[2][3]. Проще всего его получить, установив Microsoft Visual Studio соответствующей версии:

  • PHP 5.4.x — MVS 2008 и Windows SDK 6.1
  • PHP 5.5-5.6 — MVS 2012
  • PHP 7.0+ — MVS 2015

Затем нужно для сборки открыть Windows SDK 6.1 Shell (PHP 5.4.x) или Native Tools Command Prompt установленной версии Visual Studio (PHP до версии 7.0 не поддерживает x64-версию командной строки) и выполнить команду setenv /x86 /xp /release

Файлы для работы

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

Развёртка директории сборки

  1. Создать папку сборки
  2. Распаковать в неё бинарные инструменты
  3. Перейти в командной строке в папку сборки и вызвать команду bin\phpsdk_buildtree.bat phpdev.
  4. Если используется Visual C++11/14, то скопировать код из папки (путь к папке сборки)\phpdev\vc9 в папку phpdev\vc11 (phpdev\vc14)
  5. Извлечь исходники PHP в папку (путь к папке сборки)\phpdev\vcXX\xYY, где XX — ваша версия VC++, а YY — архитектура системы (х86 для 32-битных систем или х64 для 64-битных)
  6. В той же папке, где у вас лежит код PHP, есть папка deps — туда нужно извлечь библиотеки.

Синтаксис

Основы

Во многом PHP основан на синтаксисе языка C, что видно во многих конструкциях, но есть заимствования и у других языков: так, поддерживаются ассоциативные массивы из Perl.

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

<?php
?>

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

Классическая программа «Привет, мир!» будет выглядеть так:

<?php
  echo "Привет, мир!"
?>

Также допустимо использовать вывод в формате HTML путём вставки тегов в выводимую строку.

<?php
  echo <h1>"Привет, мир!"</h1>
?>

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

Типы данных и переменные

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

<?php
  $a = 1; //Целочисленный тип
  $b = 1.0; //С плавающей запятой
  $c = 'a'; //Символьный тип
  $d = "a"; //Разницы между одинарными и двойными кавычками в PHP нет
  $e = true; // Логический тип
?>

Проверить тип переменных позволяет функция gettype(). Приведение к типу работает как явно (функция settype() и операторы приведения к типу), так и неявно (при вычислениях с разными типами). Строки в PHP могут преобразовываться в числа[4].

<?php
  $a = "1"; // $a — это строка
  $a *= 1; // $a теперь целое
  $a = $a * 1.; // $a теперь число с плавающей запятой
  $a = 5 * "10 abc"; // $a — целое число
  $a = 5 * "10abc"; // $a всё ещё целое
  $a = 5 + "10.abc"; // $a теперь число с плавающей запятой
?>

Переменные могут быть локальными и глобальными: первые действуют только в той части кода, где они объявлены, а вторые во всей программе между операторными скобками <?php ?>.

Передача параметров через запросы

Как серверный язык, PHP имеет возможность получать параметры HTTP-, или же GET-запросов и HTTPS-запросов (они же POST-запросы). Для этих целей используются суперглобальные переменные $_GET и $_POST. Ссылка с параметрами запроса выглядят так:https://wikies.fandom.com/wiki/PHP?action=edit, где все значения после «?» представляют собой параметры. Если таких параметров несколько, то они разделяются знаком «&»: https://wikies.fandom.com/wiki/Служебная:Log?type=block&user=Aenn.

Некоторые параметры запроса с их значениями:

  • action — действие со страницей:
    • edit — редактирование страницы
    • history — история изменений
    • delete — удаление страницы
    • protect — защита страницы
    • rollback — откат правок
  • title — название страницы
  • type — тип журнала на странице Служебная:Log
    • rights — журнал прав
    • wikifeatures — расширения вики
    • block — журнал блокировок
  • page — страница журнала
  • tagfilter — фильтр по меткам со страницы Служебная:Tags
  • user — исполнитель действия

Использование на вики и на Фэндоме

На википроектах PHP используется в основном как часть движка MediaWiki, однако существуют и некоторые боты, например Wikibot[5][6][7], способные выполнять некоторую работу. Для этого понадобится произвести настройку в файле wikibot.config.php, указав там домен вики, свой логин и необходимые библиотеки. Затем нужно указать задачу бота и начать её выполнение.

На Фэндоме же использование PHP в качестве языка для ботов практически не применяется.

Примечания