Zend Framework 1.8: Zend_Loader::registerAutoload ist veraltet

Bei einem meiner alten PHP-Projekte bin ich beim Update auf Zend Framework 1.8 gerade drauf gestoßen, dass ein paar Methoden des Zend_Loader als deprecated markiert wurden:

Notice: Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead in /path/to/Zend/Loader.php on line 23

Notice: Zend_Loader::Zend_Loader::autoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead in /path/to/Zend/Loader.php on line 42

Zend Framework 1.8: Zend_Loader::registerAutoload ist veraltet weiterlesen

Zend Framework 1.8 ist erschienen

Nach dem Preview Release vor einigen Wochen ist gestern nun die finale Version 1.8 des Zend Framework im SVN von Zend erschienen. Wie immer sind einige neue Features hinzugekommen und einige Bugs gefixed worden, die gesamte Liste ist hier zu finden.

Diese Features sind die wichtigsten Neuerungen gegenüber 1.7.*:

  • Zend_Tool (von Ralph Schindler)
  • Zend_Application (von Ben Scholzen and Matthew Weier O’Phinney)
  • Zend_Loader_Autoloader und Zend_Loader_Autoloader_Resource (von Matthew Weier O’Phinney)
  • Zend_Navigation (von Robin Skoglund und Geoffrey Tran, Zym)
  • Zend_CodeGenerator (von Ralph Schindler)
  • Zend_Reflection (von Ralph Schindler and Matthew Weier O’Phinney)
  • Zend Server Backend für Zend_Cache (von Alexander Veremyev)
  • Zend_Service_Amazon_Ec2 (von Jon Whitcraft)
  • Zend_Service_Amazon_S3 (von Justin Plock und Stas Malyshev)
  • Zend_Filter_Encrypt (von Thomas Weidner)
  • Zend_Filter_Decrypt (von Thomas Weidner)
  • Zend_Filter_LocalizedToNormalized and _NormalizedToLocalized (von Thomas Weidner)
  • Unterstützung für Upload-Fortschrittsanzeige in Zend_File_Transfer (von Thomas Weidner)
  • Routen mit Übersetzungsunterstützung (von Ben Scholzen)
  • Zend_Json Unterstützung für Ausdrücke (von Benjamin Eberlei und Oscar Reales)
  • Zend_Http_Client_Adapter_Curl (von Benjamin Eberlei)
  • SOAP Ein- und Ausgabeheader-Unterstützung (Von Alexander Veremyev)
  • Unterstützung für das Schlüsselwort-Feld unter Benutzung von Anfragestrings (Von Alexander Veremyev)
  • Unterstützung für die Suche über mehrere Indexes in Zend_Search_Lucene (Von Alexander Veremyev)
  • Deutliche Verbesserungen der Hervorhebung von Suchergebnissen Zend_Search_Lucene (Von Alexander Veremyev)
  • Unterstützung für Skalierung, Verschiebung und Verdrehung von Seiten in Zend_Pdf (Von Alexander Veremyev)
  • Locale Unterstützung in Zend_Validate_Int und Zend_Validate_Float (von Thomas Weidner)
  • Zend_Tag_Cloud (von Ben Scholzen)
  • Phonecode Unterstützung in Zend_Locale (von Thomas Weidner)
  • Zend_Validate_Db_RecordExists and _RecordNotExists (von Ryan Mauger)
  • Zend_Validate_Iban (von Thomas Weidner)
  • Zend_Validate_File_WordCount (von Thomas Weidner)

Zend_Application und Zend_Tool sind für mich die wichtigsten Änderungen, alle anderen Addons sind aber auch bemerkenswert.

Für SVN-externals lautet die Zeile für dieses Release:

library/Zend http://framework.zend.com/svn/framework/standard/tags/release-1.8.0/library/Zend/

Zend Framework: Rendern der View eines anderen Controller oder Module

Auf der Zend Framework Maillingliste ist die Frage aufgekommen, wie man in Zend Framework die View eines bestimmten Controller bzw. Modules rendern lassen kann. Dies ist relativ einfach, aber leider nicht dokumentiert:

$this->_helper->viewRenderer->renderBySpec($view, array('module' => $module, 'controller' => $controller));
  • $view: ist die gewünschte View
  • $module: das gewünschte Modul
  • $controller: der gewünschte Cotroller

Übrigens: Möchte man nur die View des momentanen Controllers ändern, so führt man:

$this->_helper->viewRenderer('anotherView');

aus.

Zend Framework: Dojo Dialog dijit in Zend_Dojo

Derzeit gibt es keinen Support für das Dialog dijit von Dojo in Zend_Dojo. Matthew Weier O’Phinney (Project Lead Zend Framework) hat auf der Maillingliste einen Workaround gepostet, sofern $content schon vorher gefüllt wurde:

<? $this->dojo()->requireModule('dijit.Dialog');
$this->onLoadCaptureStart(); ?>
function() {
    var dialog = new dijit.Dialog({
        title:   "Cool dialog",
        style:   "width: 300px;",
        content: <? echo $content ?>
    });
    dialog.show();
}
<? $this->onLoadCaptureEnd(); ?>

Zend_DB: Datenbankverbindungen mit Zeichensatz UTF-8

Ein leidiges Problem im Webdevelopment sind die verschiedenen Zeichensätze. Viele Anbieter von Datenbanken setzen latin-1 als Standard, was gerade bei Seiten, die sich voll international ausrichten wollen, ein wenig Probleme bereiten kann. Oft führt das zu defekten Ausgaben. In diesem Beitrag möchte ich ein paar Lösungen für das Problem aufzeigen und zum Schluss die Lösung anhand des Zend Framework kurz zeigen.
Zend_DB: Datenbankverbindungen mit Zeichensatz UTF-8 weiterlesen

Scienta Zend Framework Debug Bar

Für die Entwicklung im Zusammenhang mit dem Zend Framework benötigt man oft etwas aussagekräftigere Infos rund um Variablen, Exceptions oder auch SQL-Queries. All dies bringt die „Scienta ZF Debug Bar“ dem Entwickler nach einem schnellen Einbau auf den Bildschirm. Im Browser können dann in der momentanen Version 1.3 folgende Infos am Ende der generierten Seite abgerufen werden:

  • Version des Zend Framework
  • Ausführungszeit
  • Speicherverbrauch
  • Anzahl der Datenbankqueries (auch bei mehreren Datenbankadaptern)
  • Alle ausgeführten SQL-Befehle
  • Alle zusätzlich includierten Files
  • Verfügbare View-Variablen
  • Exceptions
  • Fehler entsprechend dem error_reporting-Setting

Die Einbindung ist in wenigen Sekunden erledigt und eigentlich ein MUST-HAVE für jeden ZF-Entwickler. Ich persönlich würde aber die Einbindung auf zusätzlich mit einer Abfrage bezüglich der Entwicklungsumgebung versehen, damit diese Leiste nicht im produktiven Betrieb eingesetzt wird.