PHP5 ещё официально не вышел, но "рабочие" версии уже трудоспособны (равно как и нестабильны!), так что мы вполне можем начать изучение новых возможностей грядущего релиза PHP и попрактиковать с ними. В этой статье мы поговорим о трёх основных нововведениях в PHP5: новая объектная модель, исключения, пространства имён.
Но сначала пара официальных заявлений:
Некоторые из приведённых в данной статье решений воспроизводимы в PHP4, но, тем не менее, их описание присутствует и здесь для большей удобочитаемости и целостности всей статьи.
Некоторые из описанных в данной статье особенностей в конечном релизе PHP5 могут быть изменены.
PHP5 ещё не выпущен и мне неизвестно, когда это произойдёт, но уже сейчас вы можете потестировать и изучить новые возможности языка, скачав рабочую версию PHP5 с и установив её. По этой ссылке вы можете найти готовые для установки Windows и Linux версии PHP5. Инсталляция проходит как у любого нормального релиза PHP, так что все бегом за новой игрушкой.
Новая объектная модель
В PHP5 объектную модель основательно подлатали и добавили много новых возможностей, благодаря чему PHP5 стал "чем-то" напоминать Java. В этой части нашей статьи будет описана эта новая объектная модель и приведено несколько небольших примеров, чтобы вам обозначить исходный рубеж для ваших экспериментов.
Конструкторы и деструкторы
Объекты как ссылки
Клонирование объектов
Дескрипторы Private, Public и Protected
Интерфейсы
Абстрактные классы
__call
__set and __get
Закрытые члены
Конструкторы и деструкторы
В PHP4 конструктор именуется так же как и сам класс, а деструкторы отсутствуют полностью.
В PHP5 конструктор класса именуется __construct, а деструктор - __destruct.
Пример 1: Конструкторы и деструкторы
<?php class foo { var $x;
function __construct($x) { $this->x = $x; }
function display() { print($this->x); }
function __destruct() { print("ну, пока, до скорого"); } }
$o1 = new foo(4); $o1->display(); ?>
Как вы видите, деструктор вызывается перед самым уничтожением класса.
PHP,
Правда о сессиях Почти каждое PHP-приложение использует сессии. Эта статья детально рассматривает реализацию безопасного механизма управления сессией на PHP. После базового введения в архитектуру, лежащую в основе web'а, после знакомства с проблемой сохранения состояния, с основным применением и смыслом кук, я покажу вам несколько простых и эффективных методов, которые могут быть использованы для увеличения безопасности и надёжности PHP-приложений, нуждающихся в сохранении состояния....
PHP,
21 ошибка программиста PHP. Часть 3 Описания семи, последних, "смертельных" ошибок. Эти ошибки концептуальны по своей природе и являются причиной появления ошибок, описанных в 1-ой и 2-ой частях статьи. Они включают и такие ошибки, как недостаточное внимание, уделённое как проекту в целом, так и коду программы, в частности....
PHP,
21 ошибка программиста PHP. Часть 2 Следующие 7 ошибок (#14-8) относятся к "серьёзным". Они ведут к ещё более значительному уменьшению скорости выполнения кода, уменьшению безопасности скриптов; код становится еще более запутанным.Одна из наиболее сильных сторон PHP является, одновременно, и его слабой стороной: PHP очень прост в изучении. Это привлекает многих людей; однако, несмотря на его кажущуюся простоту, не так-то просто научиться использовать этот язык правильно и эффективно....
PHP,
21 ошибка программиста PHP. Часть 1 Описываются 7 "детских" ошибок (21-15 в обратном порядке, в соответствии со степенью серьезности по нашей классификации). Такие ошибки не вызывают серьезных проблем, но приводят к уменьшению эффективности работы программы, а также выражаются в громоздком трудночитаемом коде, в который, к тому же, трудно вносить изменения.Одна из наиболее сильных сторон PHP является, одновременно, и его слабой стороной: PHP очень прост в изучении. Это привлекает многих людей; однако, несмотря на его каж...
PHP,
Переход к PHP5 Краткий обзор возможностей PHP по материалам PHP 5 beta 3. PHP, фактически, является самым распостраненным языком для Web программирования. В достижении этого статуса он прошел множество этапов, от простого языка для Web программирования который уступал многим (php3), до сегодняшнего быстрого мощного и расширяемого (PHP4). Тем более приятно, что PHP не стоит на месте и продолжает развиваться оставаясь таким-же простым для начинающих и предоставляя все больше возможностей более квалифицирова...