Archiv für die Kategorie „Zend Framework“

XTS Translate-Adapter für Zend_Translate

Mittwoch, 5. August 2009

Wie schon angedeutet habe ich beschlossen einen eigenen Adapter für Zend_Translate zu schreiben. Den Namen habe ich jetzt Ben R. zu verdanken ;) : “XML Translation Source”, oder kurz “XTS”.

(weiterlesen…)

Libcrunch Application Erweiterung

Dienstag, 21. Juli 2009

So, nachdem die letzten Beiträge eher “Blabla” waren, heute endlich mal wieder was mit Inhalt. Es geht um meine eigene Erweiterung von Zend_Application mit dem Namen Libcrunch_Application_Application [1] natürlich zu finden in der hauseigenen Libcrunch-Bibliothek. Die Klasse nutzt zudem noch Libcrunch_Config_Config, weshalb man es (wie jede andere Bibliothek) nicht auseinander pflücken sollte.

Zend_Application wurde nun so erweitert, dass sie statt einer einzelnen Konfiguration (configs/application.ini) auch die Angabe eines ganzen Verzeichnisses (configs/) erlaubt, aus dem dann alle gefundenen Dateien geladen und integriert werden.

(weiterlesen…)

Webcrunch 0.2dev und KingCrunch2000 0.3dev veröffentlicht

Freitag, 19. Juni 2009

“Veröffentlicht” heißt hier, dass es für mich im Großen und Ganzen funktioniert ;) und einen Umfang erreicht hat, auf dem man aufbauen kann. Beide sind im Gegensatz zu früheren Veröffentlichungen lizensiert unter der LGPL [1][2], was allerdings genau genommen mehr Rechte einräumt, für euch also eher ein Vorteil ist. Um genau zu sein dürfen Änderungen an den Dateien der beiden Pakete jetzt auch (ebenfalls unter der (L)GPL) veröffentlicht werden, was unter der new BSD nicht erlaubt war.

KingCrunch

:
Bibliothek, die direkt auf dem Zend Framework aufbaut. Weiteres zum Download etc im Github Wiki.

WebCrunch

:
Web Anwendung, die auf das Zend Framework und KingCrunch 2000 aufbaut. Auch hier weiteres im entsprechenden Github Wiki. Nutzt PDO_SQLite als Datenbank-Schnittstelle, entsprechendes SQL-Skript liegt bei.

[1] GNU General Public License
[2] GNU Lesser General Public License

Zend Application Skizze

Mittwoch, 17. Juni 2009

Da die neue Komponente Zend_Application hier und da für mehr Verwirrung, als Hilfe sorgt, hab ich mal bisschen gezeichnet. Ja, wirklich: Mit Stift, Papier und zwei gesunden Händen.

(weiterlesen…)

KingCrunch2000 Github PHP-Schnittstelle

Sonntag, 14. Juni 2009

Ich weiß nicht genau, wieso, aber ich denke, ich wollte sowas schon immer mal machen. Von Github gibt es eine API, für die ich eben ein eine PHP-Schnittstelle in mein KingCrunch2000-Repository integriert habe (zu finden unter KingCrunch2000_Service_Github). Sie basiert auf die Zend_Http-Komponente, weswegen man das natürlich auch wieder braucht — vom ganz Rest in der Bibliothek ganz zu schweigen.

Das, was ich bei mir getestet habe, lief auch, wenn auch manchmal mit irritierendem Ergebnis: So lieferte eine Benutzersuche nach mir selbst garkein Ergebnis und eine Anzeige eines nicht existierenden Benutzers liefert “not authorized”, obwohl ich mich sehr wohl authorisiert habe… Da kann ich allerdings leider nichts gegen machen.

Sonstige Quellen zB für Downloads gibts immer noch auf der eigenen KingCrunch2000 Seite. Ansonsten viel Spass beim Spielen.

Grüße,
Sebastian

WebCrunch Anwendung

Freitag, 12. Juni 2009

Und noch einmal: WebCrunch veröffentlich, wieder als github-Project und wieder findet sich eine Seite mit Quellen. Wieder sind die Downloads als .zip und .tar.gz verfügbar und so weiter.

Was ist Webcrunch? Es ist meine Anwendung, die sowohl das Zend Framework, als auch meine hauseigene Bibliothek KingCrunch2000 nutzt. Insofern braucht man natürlich Beides. Diese Anwendung dient mir als Grundlage für alles weitere. Speziell versuche ich es so zu gestalten, dass man auch fremde Module mit möglichst wenig Aufwand einbinden.

Eine Besonderheit ist, dass die View-Skripte zunächst in res/views/ liegen (Module bekommen ein eigenen res/-Ordner). Sie sind nur als Vorlage zu betrachten, weswegen ich sie ausgelagert habe. Ebenso liegen die Module auch nicht im applications/-Ordner, sondern daneben, weil man (mal abgesehen von Abhängigkeiten) nur die Module kopieren braucht/soll, die man verwenden möchte.

Kommentare zur Installation stehen in INSTALL. Ich hoffe doch, die sind einigermaßen verständlich. Dann viel Spass damit. Für eventuelle Schäden etc kann ich nicht aufkommen usw.

Grüße, Sebastian

Zend Framework 1.8.1 veröffentlicht

Mittwoch, 13. Mai 2009

Und wieder gibt es ein neues Mikro-Release. Wie im Announce-Newsletter gerade eben bekannt gemacht wurde, ist jetzt die 1.8.1 vom Zend Framework zum Download verfügbar. Große Änderungen sucht man natürlich vergebens, trotzdem: Zend_Tool kann nun mit Modulen umgehen, Zend_Application ist um mindestens zwei recht ärgerlicher Bugs ärmer (;)) und das Manual wurde aufgefrischt.
Alles in Allem ein typisches Mikro-nach-Minor-Release :)

Grüße,
KingCrunch

Zend_Loader und “Return-Includes”

Dienstag, 12. Mai 2009

Vorweg in eigener Sache: Ich habe zwar schon einen Beitrag über die neue Autoloader-Komponente vom Zend-Framework, allerdings scheint noch Bedarf zu sein, wie ich im Forum erkannte. Deshalb habe ich (diesmal als Seite) nochmal einen separaten Artikel über die ganzen Zend_Loader-Familie verfasst, der bei Bedarf auch noch korrigiert und angepasst wird.

Mit (von mir selbst liebevoll getauft) “Return-Includes” sind PHP-Dateien gemeint, die selbst einen Rückgabewert haben. DASPRiD — mittlerweile auch Bastler im Zend-Framework-Haus — hat in seinem Blog dazu einen Artikel verfasst, wie sich diese Technik schnell und einfach für abhängigkeitslose Konfigurationsdateien. Er nennt es zwar anders, aber für mich existiert auch schon länger der Vorteil, dass dabei keine externen Bibliotheken benötigt werden, bzw sie sind benutzbar, während es die Klassen der Bibliothek (noch) nicht sind.

Vor einer Sache möchte ich aber noch Warnen. array_merge_recursive() überschreibt niemals Werte, sondern fasst sie (bei gleichem Schlüssel) nur zusammen. Dies kann zu merkwürdigen und schwer verfolgbaren Fehlern führen

< ?php
$a = array (
  'config'=>array(
    'db'=>array(
      'dbname'=>'name')));
$b = array (
  'config'=>array(
    'db'=>array(
      'dbname'=>'thisConfigUseAnotherName')));

var_dump (array_merge_recursive($a,$b));
/*
array(1) {
  ["config"]=>
  array(1) {
    ["db"]=>
    array(1) {
      ["dbname"]=>
      array(2) {
        [0]=>
        string(4) "name"
        [1]=>
        string(24) "thisConfigUseAnotherName"
      }
    }
  }
}
*/

Eine PHP-native Funktion, die zwei Arrays rekursiv kombiniert und dabei aber gleichnamige Schlüssel mit skalaren Werten überschreibt, ist mir nicht bekannt, weswegen man kurz selbst tätig werden muss. Oder man schaut in die Kommentare zur Funktion im PHP-Manual.

exTSend und Pläne für die Zukunft

Sonntag, 3. Mai 2009

Eigentlich eine Schande, dass ich exTSend bisher nicht erwähnte, denn schließlich wurde es direkt vor meiner Nase vorgestellt und findet im ZFForum auch öfter Erwähnung. Dabei handelt es sich um eine Erweiterungsbibliothek für das Zend Framework. Ich selber habe noch nicht genauer reingeschaut und die Dokumentation ist zur Zeit auch nur zum Download verfügbar. Laut Beschreibung gibt es aber eine Smarty-Integration, eine Vorlage für eine Projektstruktur und ein “generic Dispatcher”, was auch immer man darunter versteht.

Für die Zukunft plane ich jetzt auch mal wieder längere Texte für die Nachwelt als Seite und nicht als Blogeintrag zu Verfassen, bzw überhaupt was Längeres zu Schreiben. Den Anfang machte jetzt das Thema BIOS-Update beim eeePC, der zwar schon als Blog-Eintrag (samt Nachtrag) verfügbar ist, aber aufgrund der Aktualität (BIOS Update beim eeePC 1000H) immer noch gute Dienste leistet. Weitere Beiträge betreffen dementsprechend zunächst auch wieder Themen um den eeePC und dem Zend Framework, die als Beiträge schon angesprochen wurden.

Gute Nacht,
Sebastian

Zend Framework 1.8 erschienen

Sonntag, 3. Mai 2009

Etwas verspätet ;) Seit dem 30. April ist die Version 1.8 vom Zend Framework im Downloadbereich verfügbar. Auch SVN-Enthusiasten können nun gefahrlos ihre Workcopy auf den aktuellen Branch wechseln. Auch die entsprechende Ankündigung im Newsletter kann man nachlesen.

Dort ist auch eine Liste der neuen Komponenten zu finden. Gegenüber der Beta 1 hat sich da natürlich nichts geändert. Die auffälligste Änderung, die jetzt noch dazu gekommen ist, dürfte die deprecated-Meldung bei Zend_Loader::registerAutoload()( sein.

Ab jetzt fehlt weiterhin das sonst obligatorische “On your own risk”. Also viel Spass damit. Achja, irgendwo am Rande habe ich noch aufgeschnappt, dass es das OK für eine 1.9 Version gab. Die nächste Version wird also nicht 2.0. Ebenso gibts es jetzt natürlich keine 1.8-Vorschau-Beiträge mehr ;)

Gruß,
Sebastian

Update:
Akrabat hat auch schon sein Tutorial auf 1.8 angepasst.