🗊 Презентация Что нового в PHP 5.3 Дмитрий Стогов

Категория: Новости
Нажмите для полного просмотра!
Что нового в PHP 5.3 Дмитрий Стогов, слайд №1 Что нового в PHP 5.3 Дмитрий Стогов, слайд №2 Что нового в PHP 5.3 Дмитрий Стогов, слайд №3 Что нового в PHP 5.3 Дмитрий Стогов, слайд №4 Что нового в PHP 5.3 Дмитрий Стогов, слайд №5 Что нового в PHP 5.3 Дмитрий Стогов, слайд №6 Что нового в PHP 5.3 Дмитрий Стогов, слайд №7 Что нового в PHP 5.3 Дмитрий Стогов, слайд №8 Что нового в PHP 5.3 Дмитрий Стогов, слайд №9 Что нового в PHP 5.3 Дмитрий Стогов, слайд №10 Что нового в PHP 5.3 Дмитрий Стогов, слайд №11 Что нового в PHP 5.3 Дмитрий Стогов, слайд №12 Что нового в PHP 5.3 Дмитрий Стогов, слайд №13 Что нового в PHP 5.3 Дмитрий Стогов, слайд №14 Что нового в PHP 5.3 Дмитрий Стогов, слайд №15 Что нового в PHP 5.3 Дмитрий Стогов, слайд №16 Что нового в PHP 5.3 Дмитрий Стогов, слайд №17 Что нового в PHP 5.3 Дмитрий Стогов, слайд №18 Что нового в PHP 5.3 Дмитрий Стогов, слайд №19 Что нового в PHP 5.3 Дмитрий Стогов, слайд №20 Что нового в PHP 5.3 Дмитрий Стогов, слайд №21 Что нового в PHP 5.3 Дмитрий Стогов, слайд №22 Что нового в PHP 5.3 Дмитрий Стогов, слайд №23 Что нового в PHP 5.3 Дмитрий Стогов, слайд №24 Что нового в PHP 5.3 Дмитрий Стогов, слайд №25 Что нового в PHP 5.3 Дмитрий Стогов, слайд №26 Что нового в PHP 5.3 Дмитрий Стогов, слайд №27 Что нового в PHP 5.3 Дмитрий Стогов, слайд №28 Что нового в PHP 5.3 Дмитрий Стогов, слайд №29 Что нового в PHP 5.3 Дмитрий Стогов, слайд №30

Содержание

Вы можете ознакомиться и скачать презентацию на тему Что нового в PHP 5.3 Дмитрий Стогов. Доклад-сообщение содержит 30 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Что нового в PHP 5.3 Дмитрий Стогов
Описание слайда:
Что нового в PHP 5.3 Дмитрий Стогов

Слайд 2


Немного о себе сотрудник Zend Technologies отдел Advanced Technologies активный разработчик PHP и ZE автор и мантейнер ext/soap мантейнер поддержки...
Описание слайда:
Немного о себе сотрудник Zend Technologies отдел Advanced Technologies активный разработчик PHP и ZE автор и мантейнер ext/soap мантейнер поддержки FastCGI в PHP автор компоненты OpenID в Zend Frameork автор Turck MMCache

Слайд 3


Почему PHP 5.3? PHP 5.2 существует уже 1.5 года. В нем найдено несколько серьезных ошибок, которые не могут быть исправлены без потери бинарной...
Описание слайда:
Почему PHP 5.3? PHP 5.2 существует уже 1.5 года. В нем найдено несколько серьезных ошибок, которые не могут быть исправлены без потери бинарной совместимости. В PHP 6, из-за перехода на Unicode, перестанет работать большое количество наработанного кода. Для PHP 6 было разработано много интересных дополнений и улучшений. PHP 5.3 будет содержать большинство улучшений разработанных для PHP 6, но будет способен выполнять существующий код без каких-либо изменений.

Слайд 4


Что нового? Нововведения в языке Расширение системы конфигурирования Сборщик мусора Улучшеная производительность Исправленные ошибки Новые расширения...
Описание слайда:
Что нового? Нововведения в языке Расширение системы конфигурирования Сборщик мусора Улучшеная производительность Исправленные ошибки Новые расширения ext/phar и ext/intl Множество улучшений в расширениях

Слайд 5


Нововведения в языке namespaces Расширения ООП Late Static Binding Динамический доступ к статическим данным $classname::method(), $classname::$prop...
Описание слайда:
Нововведения в языке namespaces Расширения ООП Late Static Binding Динамический доступ к статическим данным $classname::method(), $classname::$prop __callstatic() Оператор goto Сокращенный условный оператор ?: NOWDOC

Слайд 6


Зачем нужны namespace-ы? Устраняют конфликты имен Разные namespace-ы могут использовать одно и то же имя для разных целей Имя внутри namespace-а...
Описание слайда:
Зачем нужны namespace-ы? Устраняют конфликты имен Разные namespace-ы могут использовать одно и то же имя для разных целей Имя внутри namespace-а имеет единственный смысл Namespace-ы делают имена короче Имена определенные в namespace-ах имеют короткое (локальное) имя и уникальное длинное (квалифицированное) для использования за пределами namespace-а Имена и namespace-ы могут быть импортированы в другие namespace-ы используя короткое “имя импорта”

Слайд 7


namesapce-ы Один namespace может определяться в нескольких файлах В namespace-е могут определяться классы интерфейсы функции константы PHP код В...
Описание слайда:
namesapce-ы Один namespace может определяться в нескольких файлах В namespace-е могут определяться классы интерфейсы функции константы PHP код В namespace-е не могут определяться Глобальные переменные PHP не поддерживает вложенных namespace-ов PHP поддерживает составные имена namespace-ов (A::B) Почти вся работа делается во время компиляции

Слайд 8


namespace-ы define(“MY_HTTP_GET”, 1); define(“MY_HTTP_POST”, 2); class My_Http_Request { function __construct( $method = ZEND_HTTP_GET) { } }...
Описание слайда:
namespace-ы define(“MY_HTTP_GET”, 1); define(“MY_HTTP_POST”, 2); class My_Http_Request { function __construct( $method = ZEND_HTTP_GET) { } } function my_http_send_request( My_Http_Request $request) { }

Слайд 9


namespace в нескольких файлах My/Http/Request.php
Описание слайда:
namespace в нескольких файлах My/Http/Request.php

Слайд 10


Длинные имена test1.php
Описание слайда:
Длинные имена test1.php

Слайд 11


Импорт – оператор “use” Импорт может быть осуществлен посредством оператора “use” use My::Http; Оператор “use” может импортировать Namesapce-ы классы...
Описание слайда:
Импорт – оператор “use” Импорт может быть осуществлен посредством оператора “use” use My::Http; Оператор “use” может импортировать Namesapce-ы классы интерфейсы Он не может импортировать функции константы переменные В момент импорта можно сделать переименование use My::Http::Request as HttpRequest; use My::Http::Request; // the same as use My::Http::Reques as Request; Оператор “use” действует только на текущий файл Оператор “use” сам не подгружает ни каких файлов

Слайд 12


Импорт класса test3.php
Описание слайда:
Импорт класса test3.php

Слайд 13


Импорт целого namespace-а test4.php
Описание слайда:
Импорт целого namespace-а test4.php

Слайд 14


Внутренние имена namespace A::B; function foo() { echo __FUNCTION__; // A::B::foo } class C { static function bar() { echo __CLASS__; // A::B::C echo...
Описание слайда:
Внутренние имена namespace A::B; function foo() { echo __FUNCTION__; // A::B::foo } class C { static function bar() { echo __CLASS__; // A::B::C echo __FUNCTION__; // bar echo __METHOD__; // A::B::C::bar } }

Слайд 15


Константа __NAMESPACE__ namesapce A::B; function foo() { echo __NAMESAPCE__; } $callback = “foo”; $callback(); // global function foo() $callback =...
Описание слайда:
Константа __NAMESPACE__ namesapce A::B; function foo() { echo __NAMESAPCE__; } $callback = “foo”; $callback(); // global function foo() $callback = “A::B::foo”; $callback(); // A::B::foo() $callback = __NAMESAPCE__ . “::foo”; $callback(); // A::B::foo()

Слайд 16


namesapce-ы и __autoload
Описание слайда:
namesapce-ы и __autoload

Слайд 17


Неоднозначности в namespace-ах Разрешение коротких имен: Имена импорта use A::B::Foo; use A::B::Bar as Baz; $x = new Foo; // A::B::Foo $x = new Baz;...
Описание слайда:
Неоднозначности в namespace-ах Разрешение коротких имен: Имена импорта use A::B::Foo; use A::B::Bar as Baz; $x = new Foo; // A::B::Foo $x = new Baz; // A::B::Bar Имена из текущего namespace-а namespace A::B; class stdClass { } $x = new stdClass(); // A::B::stdClass Внутренние имена PHP namespace A::B; $x = new stdClass; // internal stdClass

Слайд 18


Неоднозначности в namespace-ах Явное разрешение специальными префиксами namespace A::B; class stdClass { } $x = new stdClass(); // A::B::stdClass $x...
Описание слайда:
Неоднозначности в namespace-ах Явное разрешение специальными префиксами namespace A::B; class stdClass { } $x = new stdClass(); // A::B::stdClass $x = new ::stdClass(); // global stdClass $x = new namespace::stdClass(); // A::B::stdClass

Слайд 19


Неоднозначности в namespace-ах Разрешение длинных имен классов: Имена импорта use A::B::C; new C::D; // class D in namespace A::B::C 2. Класс из...
Описание слайда:
Неоднозначности в namespace-ах Разрешение длинных имен классов: Имена импорта use A::B::C; new C::D; // class D in namespace A::B::C 2. Класс из другого namespace-a (как есть) namespace A::B; new C::D; // class D in namespace C (not A::B::C::D) Имена функций и констант: Функция или константа из текущего namespace-a A::foo(); // function foo() in namespace A Статический метод или константа класса A::foo() // static method foo() of class A // A is resolved according to class resolution rules

Слайд 20


Late Static Binding class Singleton { const ID = 0; static $instance = array(); static function getInstance() { $id = static::ID; if...
Описание слайда:
Late Static Binding class Singleton { const ID = 0; static $instance = array(); static function getInstance() { $id = static::ID; if (empty(self::$instance[$id])) { self::$instance[$id] = new static; } return self::$instance[$id]; } } class Foo extends Singleton { const ID = 1; } $x = Foo::getInstance();

Слайд 21


Динамический доступ к статическим данным класса class MySqlDriver { const NAME = “MySQL”; static function execute($sql) { } } $db = “MySqlDriver”;...
Описание слайда:
Динамический доступ к статическим данным класса class MySqlDriver { const NAME = “MySQL”; static function execute($sql) { } } $db = “MySqlDriver”; echo $db::NAME; $db::execute(“SELCT * FROM foo;”);

Слайд 22


__callstatic() class DummyDriver { const NAME = ‘Dummy’; static function __callstatic($name, $args) { echo static::NAME.“::$name is not implemented”;...
Описание слайда:
__callstatic() class DummyDriver { const NAME = ‘Dummy’; static function __callstatic($name, $args) { echo static::NAME.“::$name is not implemented”; } } class MySqlDriver extends DummyDriver { const NAME = ‘MySQL’; } $db = ‘MySqlDriver’; $db::execute(‘SELCT * FROM foo;’);

Слайд 23


Оператор GOTO Реализован для поддержки программно-генерируемого кода “GOTO” внутрь цикла или оператора switch запрещен
Описание слайда:
Оператор GOTO Реализован для поддержки программно-генерируемого кода “GOTO” внутрь цикла или оператора switch запрещен

Слайд 24


Оператор ?: $a ?: $b === $a ? $a : $b
Описание слайда:
Оператор ?: $a ?: $b === $a ? $a : $b

Слайд 25


NOWDOC Аналог строк в одиночных кавычках
Описание слайда:
NOWDOC Аналог строк в одиночных кавычках

Слайд 26


Константа __DIR__ __DIR__ === dirname(__FILE__)
Описание слайда:
Константа __DIR__ __DIR__ === dirname(__FILE__)

Слайд 27


INI System Разные уствновки для разных директорий [PATH=/www/test] error_repoting = E_ALL [PATH=/www/production] error_reporting = 0 Разные установки...
Описание слайда:
INI System Разные уствновки для разных директорий [PATH=/www/test] error_repoting = E_ALL [PATH=/www/production] error_reporting = 0 Разные установки для разных виртуальных хостов [HOST= auto_prepend_file = “/var/www/domain/init.php” Собственный аналог .htaccess user_ini.filename = “.user.ini” user_ini.cache_ttl = 300

Слайд 28


Сборщик мусора Уничтожает циклические структуры
Описание слайда:
Сборщик мусора Уничтожает циклические структуры

Слайд 29


Улучшение производительности $ php bench.php
Описание слайда:
Улучшение производительности $ php bench.php

Слайд 30


Вопросы?
Описание слайда:
Вопросы?



Похожие презентации
Mypresentation.ru
Загрузить презентацию