PHP-Fusion SF Russian Support Site
Навигация
Главная
Статьи
Загрузка файлов
FAQ
Полезные ссылки
Форум
Загрузка тем оформления
Поиск

О проекте

Инструкция по обновлению PHP-Fusion SF
Последние посетители
MyDoors2018 1 неделя
Sky 3 недель
DrovlesWonam 3 недель
Andreaselx 7 недель
Andreasgzi 7 недель
Andreasrqe 7 недель
Andreasyoe 7 недель
agrohimwmm 8 недель
Servicemsk 10 недель
Servicezgo 10 недель
RSS канал
Темы оформления
Все загружено тем: 331
Самая популярная тема: Milky Way Theme
Количество загрузок этой темы: 1686
milkyway_t1.jpg
 
Новая тема: Fiestafm.lt
fiestafm.lt_t1.png
Количество загрузок этой темы: 5
Дата последнего обновления: 11 Июля 2012, 20:28:02
Темы форума
Новые темы
Взлом сайтов - панели
SF батл - Собрание в...
Сайт как решето, пом...
Покоцать редактор ti...
Регистрация ботов ил...
Обсуждаемые темы
Вопрос/Ответ для ... [257]
Плагин видео ката... [214]
MP3 Архив v. 2.0 [211]
Обмен [207]
инет-магаз [149]
PHP 6 на подходе
Шестая версия PHP находится в стадии разработки с октября 2006 года. В ней уже сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, php_magic_quotes и register_globals из конфигурационного файла php.ini. Также много внимания уделено поддержке Юникода. Загрузить текущую версию разрабатываемого кода для GNU/Linux/BSD и скомпилированные версии для Microsoft Windows можно на сайте PHP Snapshots.


Синтаксис

Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.

Простейшая программа Hello world на PHP выглядит следующим образом:

echo 'Hello, world!';
?>

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



Тестируем PHP






Помимо ограничителей , допускается использование дополнительных вариантов, таких как и . Кроме того, до версии 6.0 допускается использование ограничителей языка программирования ASP <% %>.

Имена переменных начинаются с символа $, тип переменной объявлять не нужно. В отличие от имён функций и классов, имена переменных чувствительны к регистру. Переменные обрабатываются в строках, заключённых в двойные кавычки, и heredoc-строках (строках, созданных при помощи оператора <<<).

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

PHP поддерживает три типа комментариев: в стиле языка Си (ограниченные /* */), C++ (начинающиеся с // и идущие до конца строки) и оболочки UNIX (с # до конца строки).

Типы данных

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

К скалярным типам данных относятся

* целый тип (integer),
* вещественный тип данных (float, double),
* логический тип (boolean),
* строковый тип (string)
* и специальный тип NULL.

К нескалярным типам относится

* «ресурс» (resource),
* массив (array)
* и объект (object).

Диапазон целых чисел (integer) в PHP зависит от платформы (обычно это диапазон 32-битных знаковых целых чисел, то есть от −2 147 483 648 до 2 147 483 647). Числа можно задавать в десятичной, восьмеричной и шестнадцатеричной системах счисления. Диапазон вещественных чисел (double) также зависит от платформы (для 32-битной архитектуры диапазон позволяет оперировать числами от ±1.7×10-308 до ±1.7×10+308).

PHP предоставляет разработчикам логический тип (boolean), способный принимать только два значения TRUE («истина») и FALSE («ложь»). При преобразовании в логический тип число 0, пустая строка, ноль в пустой строке «0», NULL и пустой массив считаются FALSE. Все остальные значения автоматически преобразуются в TRUE.

Специальный тип NULL предназначен для переменных без определённого значения. Единственным значением данного типа является константа NULL. Тип NULL принимают неиницализированные переменные, переменные инициализированные константой NULL, а также переменные, удалённые при помощи конструкции unset().

Ссылки на внешние ресурсы имеют тип «ресурс» (resource). Переменные данного типа, как правило, представляют собой дескриптор, позволяющий управлять внешними объектами, такими как файлы, динамические изображения, результирующие таблицы базы данных и т. п.

Массивы (array) поддерживают числовые и строковые ключи и являются гетерогенными. Массивы могут содержать значения любых типов, включая другие массивы. Порядок элементов и их ключей сохраняется.

Характерные конструкции

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

$a = 'I am a'; //записываем значение в переменную
echo $a; //Выводим содержимое переменной а

$b = 'a';
echo $$b; //Выводим содержимое переменной а

$c = 'function_name';
$c(); //Вызовется функция function_name

$d = 'Class_name';
$obj = new $d(); //Создастся объект класса Class_name

$obj->$b; //Обращение к полю a объекта
$obj->$c(); //Вызов метода function_name объекта

Суперглобальные массивы

Общение с внешним миром скрипта PHP происходит через суперглобальные массивы:

* $_SERVER
* $_ENV
* $_GET
* $_POST
* $_REQUEST
* $_FILES
* $_COOKIE
* $_SESSION
* $GLOBALS

Объектно-ориентированное программирование

PHP поддерживает широкие объектно-ориентированные возможности, полная поддержка которых была введена в пятой версии языка.

Класс в PHP объявляется с помощью ключевого слова class. Методы и поля класса могут быть общедоступными (public, по умолчанию), защищёнными (protected) и скрытыми (private). PHP поддерживает наследование (родительский класс указывается с помощью ключевого слова extends после имени класса) и интерфейсы (ставятся в соответствие с помощью implements). Разрешается объявление финальных, абстрактных методов и классов. Множественное наследование классов не поддерживается, однако класс может реализовывать несколько интерфейсов. Для обращения к методам родительского класса используется ключевое слово parent.

Классы в PHP 5 имеют ряд специальных методов (так называемых «magic methods»), начинающихся с двух символов подчёркивания. Особо стоит отметить конструктор (__construct, в ранних версиях конструктором служил метод, одноименный с классом) и деструктор (__destruct), а также методы чтения (__get) и записи (__set), свёртывания (__sleep) и развёртывания (__wake), клонирования (__clone) и др. Эти методы являются достаточно гибким инструментом: переопределяя их, можно легко добиться существенного изменения поведения объекта.

Экземпляры класса создаются с помощью ключевого слова new, обращение к полям и методам объекта производится с использованием символов ->. Для доступа к членам класса из его методов используется переменная $this.

class C1 extends C2 implements I1,I2{
private $a;
protected $b;

function __construct($a,$b){
parent::constructor($a,$b);
$this->a = $a;
$this->b = $b;
}

public function plus(){
return $a+$b;
}
/* ............... */
}

$d = new C1(1,2);
echo $d->plus();

Другие возможности

Среди наиболее часто используемых возможностей PHP стоит отметить следующие:

* имеется большой арсенал функций для работы со строками;
* работа с регулярными выражениями PCRE выполняется функциями с префиксом preg_
* работа с базами данных осуществляется посредством модулей php5-mysql для MySQL, php5-pgsql для PostgreSQL и др. Функции этих модулей позволяют открывать соединение, выполнять SQL-запросы к СУБД, получать данные в удобной для обработки виде и т.д. В серьезных проектах рекомендуется использовать модули абстракции базы данных и объектно-реляционные проекции (ORM);
* для PHP разработаны средства шаблонирования web-страниц, позволяющие эффективно разделить представление от модели в духе MVC, например Smarty;

Пасхальные яйца

PHP имеет несколько пасхальных яиц (шуток).

Если передать любому php-скрипту в PHP4 специальное значение, можно увидеть авторскую фотографию (обычно фотография чёрного терьера).

любой_сценарий.php?=PHPE9568F36-D428-11d2-A769-00AA001ACF42

Если же этот код передать в PHP 5, то увидим несколько «корявый» логотип PHP.

Следующие два значения, позволят увидеть стандартный логотип PHP и ZEND:

любой_сценарий.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
любой_сценарий.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42

Также имеется специальное значение для отображения списка всех авторов PHP (4,5):

любой_сценарий.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
Опубликовал snake_oriental 14 Июня 2008, 14:56:02 · 0 Комментариев · 12499 Прочтений · Для печати
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Отлично! Отлично! 100% [1 Голос]
Очень хорошо Очень хорошо 0% [Нет голосов]
Хорошо Хорошо 0% [Нет голосов]
Удовлетворительно Удовлетворительно 0% [Нет голосов]
Плохо Плохо 0% [Нет голосов]
Для вас
Это интересно
Актуальная версия
PHP-Fusion 6.01.19.4
Логин
Имя

Пароль



Забыли пароль?
Запросите новый здесь.
Помощь/благодарность проекту


Z275115146629
R120645282232
E215148775742
Наша кнопка
Если вам захочется установить у себя нашу кнопку, мы будем Вам благодарны.

Сайт поддержки модифицированного PHP-Fusion

Код внутри
рекомендуем посетить