Dynamische, persistente Dropdown-Felder mit Doctrine-Vererbung

28. Oktober 2010 von John Freytag [permalink]

In Anwendungen, die viel Gebrauch von Formularen machen, möchte man dem Benutzer häufig die Möglichkeit geben, diese nach eigenen Wünschen zu konfigurieren. Hier soll es daher um folgende Situation gehen:

  • In verschiedenen Formularen gibt es eine Reihe von Dropdown-Feldern, deren Auswahlmöglichkeiten sich unterscheiden
  • Der Administrator der Anwendung soll selbst konfigurieren können, welche Auswahlmöglichkeiten in welchem Dropdown-Feld vorhanden sind
  • Zu jedem ausgefüllten Formular muss in der Datenbank gespeichert werden, welche Auswahlmöglichkeit gewählt wurde

weiter lesen »

Tags:
Kategorie: Allgemein, Softwareentwicklung, Symfony | keine Kommentare »

Icon@2x.png und SVN

21. Oktober 2010 von Sven Hamer [permalink]

Durch die Möglichkeit geräteabhängige Ressourcen dynamisch und transparent zur Laufzeit zu laden entsteht auch ein kleineres, wenn auch leicht lösbares Problem. In der modernen iOS-Entwicklung können Ressourcen mit speziellen Postfixes versehen werden, um sie für bestimmte Gerätetypen zu taggen. Neben der etwas gewöhnungsbedürftigen Notation mit Bindestrichen (bspw. Default-Landscape.png) und Tilden(!) (bspw. Foo~iphone.png) ist hierbei die Angabe für das doppelt so hoch aufgelöste Retina-Display (bspw. Icon@2x.png) des iPhone 4 ein Krampf. Sofern der Entwickler Wert auf SVN legt, ist das naive Vorgehen in der Konsole problematisch, da SVN mit diesen “Sonderzeichen” ins Stolpern kommt:

Das Problem:

$ svn add Icon@2x.png
svn: warning: 'Icon' not found

Die Lösung:

$ svn add Icon@2x.png@
Adding (bin) Icon@2x.png

Tags: ,
Kategorie: Allgemein, Linux/Unix, Softwareentwicklung | keine Kommentare »

Gartenhaus-Profis wollen mehr verkaufen – wortzwei hilft!

4. Oktober 2010 von Joris Wiebe [permalink]

Wir freuen uns sehr darüber, im Dezember den neuen Shop www.DeinGartenhaus.de online zu stellen!

Zur Zeit laufen die Arbeiten an diesem tollen Projekt mit vielen beteiligten Firmen, Freunden und Systemen. Einen Shop online zu stellen ist keine Magie, aber zahlreiche Konzernsysteme als ein präzises Räderwerk ineinander greifen zu lassen — das ist unsere Spezialität.

Unsere Freunde von den Butterfischen steuern wieder einmal ein tolles Design bei, bei der Technik greifen wir in zahlreiche Werkzeugkisten.

Einfach auf der Seite www.DeinGartenhaus.de registrieren und beim Launch mit tollen Angeboten dabei sein!

Tags:
Kategorie: Allgemein | keine Kommentare »

bzip2 und Java

3. Oktober 2010 von Dirk Dittmar [permalink]

Ich hatte vor kurzem das Problem das ich große mit bz2 gepackte Dateien verarbeiten musste. Die Dateien vorher zu entpacken hat immer recht lange gedauert und es ist ja auch viel einfacher die Dateien direkt zu verarbeiten. Deshalb hab ich mich auf die Suche gemacht was man mit Java da so anstellen kann. Für GZip ist das mit Java ja auch kein Problem. Nach recht kurzer Suche hab ich das hier gefunden: http://www.kohsuke.org/bzip2/
weiter lesen »

Tags: , ,
Kategorie: Java, Softwareentwicklung | keine Kommentare »

Zend Framework View Helper mit mehr als nur einer Methode

1. Oktober 2010 von Andreas Yalcin [permalink]

Die View Helper im Zend Framework helfen dabei Templates von zu viel Darstellungslogik zu befreien, wenn es darum geht mehr als nur den Inhalt einer Variablen auszugeben. Innerhalb eines Templates kann man beispielsweise mit $this->myHelperMethod() eine Methode aufrufen, um den Rückgabewert im Template auszugeben. Für dieses Beispiel muss die Helfer-Klasse Zend_View_Helper_MyHelperMethod heißen.

Typischerweise besteht eine Helper-Klasse aus genau einer Methode. Möchte man verschiedene, oft benötigte Methoden in so einer Helper-Klasse strukturieren, steht man zunächst vor dem Problem, dass man diese nicht aufrufen kann, da mit $this->myHelperMethod() eben nur diese Methode der Klasse MyHelperMethod aufrufen kann, oder man erstellt für jede weitere Methode die man benötigt eine eigene Klasse.

Umgehen kann man dass, in dem die Methode die eigene Instanz zurückgibt, und den Aufruf einer andreren Methode verkettet.
Nehmen wir einmal an, wir hätten eine Helper-Klasse namens StrToolBox, die die Methoden truncate(), upper(), lower() und length()bereitstellt. Um diese Methoden in einem Template nutzen zu können, geht man wie folgt vor:

<p><?php echo $this->strToolBox()->truncate($text, 0,20); ?> </p>

<strong><?php echo $this->strToolBox()->upper(‘I am uppercase‘); ?> </strong>

<small><?php echo $this->strToolBox()->lower(‘I am lowercase‘); ?> </strong>

<p>Text length is: <?php echo $this->strToolBox()->length($text); ?> </p>

Die Klasse dazu sieht wie folgt aus:

class Zend_View_Helper_StrToolBox {

    public function strToolBox() {
        return $this;
    }

    public function truncate($text) {
        //den code fuer truncate
    }

    // weitere Methoden

}

Tags:
Kategorie: PHP, Softwareentwicklung | 1 Kommentar »