What's New in ZF 1.10? - Zend · 5/4/2010 · Liefert alle Ressourcen zur Generierung einer...

56
© All rights reserved. Zend Technologies, Inc. Was ist neu in ZF 1.10? Jan Burkl System Egineer Zend Technologies

Transcript of What's New in ZF 1.10? - Zend · 5/4/2010 · Liefert alle Ressourcen zur Generierung einer...

© All rights reserved. Zend Technologies, Inc.

Was ist neu in ZF 1.10?

Jan BurklSystem Egineer Zend Technologies

© All rights reserved. Zend Technologies, Inc.

Überblick

Zahlreiche Erweiterungen

Neue Komponenten

Neue Services

Dokumentations-Updates

© All rights reserved. Zend Technologies, Inc.3

Erweiterungen

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

•Zend_Filter_Boolean

4 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

•Zend_Filter_Boolean

5 Insert->Header & Footer

$filter->setType(Zend_Filter_Boolean::ALL);

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

•Zend_Filter_Null

6 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

•Zend_Filter_Compress / Decompress

7 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

•Zend_Validate_Callback

8 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

•Zend_Validate_CreditCard

Unterstützte Kreditkarten-Institute:

• American Express, China UnionPay

• Diners Club Card Blanche, Diners Club International, Diners Club US & Canada

• Discover Card, JCB, Laser, Maestro

• MasterCard, Solo

• Visa, Visa Electron

9 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

•Zend_Validate_PostCode

Erlaubt Ihnen zu bestimmen ob ein angebener Wert

eine valide Postleitzahl darstellt

Lokalisierung

10 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

•Zend_Log::factory()

•Zend Monitor Writer Adapter

11 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

•Zend_Log::factory()

•Zend Monitor Writer Adapter

12 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

•Zend_Pdf Leistungsverbesserungen

•Zend_Exception: previous Exception Support

•Zend_Loader::loadClass() PSR-0 Empfehlungen

•Upgrade auf Dojo 1.4

13 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

•Zend_Application - Ressourcen

Cachemanager

Dojo

Jquery

Layout

Log

Mail

Multidb

14 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

•Zend_Tool Providers

Kein IncludePath Scanner mehr – Explicit Loader

Home Directory & Konfiguration

DbAdapter Provider

Layout Provider

Basic Scaffolding

• Model Provider

• Form Provider

In 1.10+ generiertes Projekt mit Application_ Prefix

in Code & Bootstrap Support

15 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

© All rights reserved. Zend Technologies, Inc.

Erweiterungen

© All rights reserved. Zend Technologies, Inc.19

Neue Komponenten

Erweiterung eines bereits ausgebauten, umfangreichen Frameworks

© All rights reserved. Zend Technologies, Inc.

Zend_Barcode

Barcodes erstellen und als PDF oder Images rendern

Barcode Werte validieren

© All rights reserved. Zend Technologies, Inc.21

$renderer = Zend_Barcode::factory(

'code39', // barcode type

'image', // image or PDF

array( // barcode options

'text' => 'ZENDFRAMEWORK',

),

array( // renderer options

'imageType' => 'png',

)

);

$image = $renderer->draw();

imagepng($image, __DIR__ . '/barcode.png');

© All rights reserved. Zend Technologies, Inc.22

$validator = new

Zend_Validate_Barcode('CODE39');

if ($validator->isValid($input)) {

// valid barcode text

} else {

// invalid barcode text

}

© All rights reserved. Zend Technologies, Inc.

Zend_Cache

Neues Backend: Zend_Cache_Backend_Static

Cached in Datei in Ihrem Document Root

Skippt PHP komplett für Content aus Cache!

Neu: Zend_Cache_Manager

Konfiguration verwenden um Cache Objekte zu kreieren

Sowohl als Factory, als auch als Repository für multible Cache Objekte

Hiflt Multi-Tiered Caching Strategien in Ihrer ZF Applikation zu verwenden

© All rights reserved. Zend Technologies, Inc.24

RewriteCond %{DOCUMENT_ROOT}/cached/%

{REQUEST_URI}.html -f

RewriteRule .* cached/%{REQUEST_URI}.%1 [L]

© All rights reserved. Zend Technologies, Inc.25

$options = array(

'public_dir' =>

APPLICATION_PATH . '/../public/cache',

);

// Where $manager is a Zend_Cache_Manager instance

$manager->setTemplateOptions('page', $options);

$cache = $manager->getCache('page');

// In an action controller:

public function preDispatch()

{

$this->_helper->cache(

// cache these actions:

array('foo', 'bar', 'baz'),

// use these tags:

array($this->_request

->getControllerName()),

// with this extension:

'html'

);

}

© All rights reserved. Zend Technologies, Inc.26

$manager = new Zend_Cache_Manager;

$dbCache = array(

'frontend' => array(

'name' => 'Core',

'options' => array(

'lifetime' => 3600,

'automatic_serialization' => true,

)

),

'backend' => array(

'name' => 'Core',

'options' => array(

'cache_dir' =>

APPLICATION_PATH . '/../data/cache/db',

),

),

);

$manager->setCacheTemplate('db', $dbCache);

$cache = $manager->getCache('db');

© All rights reserved. Zend Technologies, Inc.

Zend_Feed_Writer

Verwandt mit Zend_Feed_Reader, vorgestellt in ZF 1.9.0

Liefert alle Ressourcen zur Generierung einer Vielzahl von Feeds, inklusive Feed Extension

RSS

RSS2

Atom

DublinCore

etc.

© All rights reserved. Zend Technologies, Inc.28

$feed = new Zend_Feed_Writer_Feed;

$feed->setTitle('ZF Webinars');

$feed->setLink(

'http://framework.zend.com/webinars/atom'‚

'atom');

$feed->addAuthor(array(

'name' => 'ZF DevTeam',

'email' => '[email protected]',

'uri' => 'http://framework.zend.com/',

));

feed->setDateModified(

strtotime('2010-03-17 12:00:00'));

$feed->setDescription('My Description');

© All rights reserved. Zend Technologies, Inc.29

$entry = $feed->createEntry();

$entry->setLink(

'http://zend.com/webinars/2010-05-06');

$entry->addAuthor(array(

'name' => 'Jan Burkl',

'email' => '[email protected]',

'uri' => 'http://framework.zend.com/',

));

$entry->setDateModified(

strtotime('2010-05-06 12:00:00'));

$entry->setDateCreated(

strtotime('2010-05-04 08:39:00'));

$entry->setDescription('My Description');

$feed->addEntry($entry);

$output = $feed->export('rss');

© All rights reserved. Zend Technologies, Inc.

Zend_Feed_Pubsubhubbub

Als PuSH Subscriber oder Publisher handeln

Subscriber-Funktion erlaubt die Bestimmung einer Callback-URL für PuSH's “fat pings”

Verwendet angegebene DB Storage um nachzuvollziehen welche Feeds zuletzt empfangen wurden.

Publisher-Funktion erlaubt Pinging eines Hubs um neu verfügbares Content anzukündigen

© All rights reserved. Zend Technologies, Inc.31

$publisher = new Zend_Feed_Pubsubhubbub_Publisher;

$publisher->addHubUrls(array(

'http://pubsubhubbub.appspot.com/',

'http://wordpress.org/extend/plugins/pushpress/',

))

->addUpdatedTopicUrls(array(

'http://framework.zend.com/webinars/atom',

));

// Notify

$publisher->notifyAll();

© All rights reserved. Zend Technologies, Inc.32

$storage = new

Zend_Feed_Pubsubhubbub_Model_Subscription;

$subscriber = new Zend_Feed_Pubsubhubbub_Subscriber;

$subscriber->setStorage($storage)

->addHubUrl(

'http://pubsubhubbub.appspot.com/')

->setTopicUrl(

'http://framework.zend.com/webinars/atom')

->setCallbackUrl(

'http://www.mydomain.com/hubbub/callback')

->subscribeAll();

© All rights reserved. Zend Technologies, Inc.33

$callback = new

Zend_Feed_Pubsubhubbub_Subscriber_Callback;

$callback->setStorage($storage);

$callback->handle();

$callback->sendResponse();

if ($callback->hasFeedUpdate()) {

$feedString = $callback->getFedUpdate();

// start processing!

}

© All rights reserved. Zend Technologies, Inc.

Zend_Markup

Parser und Renderer Funktionalität

Unterstützt:

BBCode

Textile

$bbcode = Zend_Markup::factory('Bbcode');

echo $bbcode->render($someBbCodeMarkup);

$textile = Zend_Markup::factory('Textile');

echo $textile->render($someTextileMarkup);

© All rights reserved. Zend Technologies, Inc.

Zend_Oauth

Als Oauth Kunde handeln

© All rights reserved. Zend Technologies, Inc.36

$config = array(

'callbackUrl' => 'http://example.com/callback',

'siteUrl' => 'http://twitter.com/oauth',

'consumerKey' => 'gg3DsFTW9OU9eWPnbuPzQ',

'consumerSecret' => 'tFB0fyWLSMf74lkEu9FTyoHXcazOW48A'

);

$consumer = new Zend_Oauth_Consumer($config);

// Get request token:

$requestToken = $consumer->getRequestToken();

// Persist the token

$session = new Zend_Session_Namespace('oauth');

$session->requestToken = serialize($requestToken);

// Redirect to oauth provider

$consumer->redirect();

© All rights reserved. Zend Technologies, Inc.37

// Within a controller action, assuming consumer

// and session setup above

$request = $this->getRequest();

if (!$request->isGet()

|| !isset($session->requestToken)

) {

// error condition!

}

$accessToken = $consumer->getAccessToken(

$request->getQuery(),

unserialize($session->requestToken)

);

// use the access token!

$session->accessToken = serialize($accessToken);

$client = $accessToken->getHttpClient();

// ...

© All rights reserved. Zend Technologies, Inc.

Zend_Serializer

Serialisieren Sie PHP zu einer Vielzahl von Formaten oder deserialisieren Sie Formate zurück zu PHP.

Unterstützte Formate:

Igbinary

WDDX

JSON

Action Message Format (AMF) 0 und 3

Python Pickle

PHP Code oder Serialisierung

© All rights reserved. Zend Technologies, Inc.39

$serializer = Zend_Serializer::factory('Json');

$serialized = $serializer->serialize($data);

$unserialized = $serializer

->unserialize($serialized);

© All rights reserved. Zend Technologies, Inc.40

Neue Services

Erweiterung Ihrer Reichweite in die Cloud

© All rights reserved. Zend Technologies, Inc.

Neuer Service - LiveDocx

•http://www.livedocx.com

41 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Neuer Service - LiveDocx

42 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Neuer Service - LiveDocx

43 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Neuer Service - LiveDocx

•Andere API Features:

Local & Remote Templates

Möglichkeit Template-Informationen abzufragen

Input Template Formate:

• Docx, Doc, RTF, TXD

Output Document Formate:

• Docx, Doc, Html, RTF, PDF, TXD, TXT

Output Image Formate:

• BMP, PNG, GIF, TIFF, WMF, JPG

44 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Neuer Service - DeveloperGarden

•Developer Garden ist der Name der Developer

Community der Deutschen Telekom.

•Features der API:

BaseUserService

• Klasse zum managen von API Quote und User Accounting Details.

IPLocation

• Lokalisiert die verwendete IP und liefert die Geo-Koordinaten zurück.

LocalSearch

• Erlaubt Ihnen die Suche mit Optionen in der Nähe einen bestimmten Geo-

Koordinate oder Stadt.

45 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Neuer Service - DeveloperGarden

•Features (Fortsetzung)

SendSMS

• Versand von SMS oder Flash SMS an eine angegebene Nummer.

SMSValidation

• Sie können eine Nummer validieren und diese mit SendSMS verwenden um

einen Back Channel anzubieten

VoiceCall

• Initiiert einen Anruf zwischen zwei Teilnehmern.

ConferenceCall

• Sie können einen ganzen Konferenzraum mit Teilnehmern für eine Adhoc-

Konferenz konfigurieren oder einfach Ihre Konferenz planen.

46 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Neuer Service - DeveloperGarden

•Set-up eines Conference Calls:

47 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Neuer Service - WindowsAzure

•Windows Azure ist der Name von Microsoft's

Software + Services Plattform

•Features:

Interface to Storage API:

• Blobs

• Tables

• Queues

48 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.

Neuer Service – WindowsAzure

49 Insert->Header & Footer

© All rights reserved. Zend Technologies, Inc.50

Dokumentations-Updates

Hilfe zur Selbsthilfe

© All rights reserved. Zend Technologies, Inc.

Versions Dokumentation

Auflistung nach (1.10, 1.9, 1.8, etc.)

Suche nach Version

© All rights reserved. Zend Technologies, Inc.

Neue Rendering Engine

Verwendung von PhD (PHP's Documentation system), um sowohl Online-Docs als auch donwloadbare Docs zu rendern

Schnellere Rendering-Zeit und höhere Felixibilität beim rendern

Bessere Navigation

© All rights reserved. Zend Technologies, Inc.

Tutorials

Neue Manual Section, “Learning Zend Framework”

Beinhaltet Quick Start und 8 weitere Tutorials

Part des ZF Repository, d.h.:

Nach Versionen geordnet

Übersetzungen Verfügbar

Neuer Content hinzufügbar

© All rights reserved. Zend Technologies, Inc.

Migrations Notes

Neues zentralisiertes “Migration Notes” Appendix

Migrations Notes per Minor Version

© All rights reserved. Zend Technologies, Inc.

Kommentieren

Manualles kommentieren, à la php.net möglich!

© All rights reserved. Zend Technologies, Inc.56

Vielen Dank!

Informationen und Ressourcen: http://framework.zend.com/