Upload
phungthuy
View
214
Download
0
Embed Size (px)
Citation preview
© 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.
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
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.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.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
•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.
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!