Eigene Zend_Db_Table Row Klassen verwenden

2010 12 August

Wenn man aus ein Zend-Db_Table Klasse heraus eine Zend_Select Abfrage macht, bekommt man ein Zend_Rowset Objekt zurück, dieses enthält wiederum Zend_Row Objekte, auf die dann über Klasseneigenschaften auf die Spalten der Tabelle zugegriffen werden kann.

Zend_Db-Table bietet die Möglichkeit eine eigene Row Klasse zu benutzten. Hier kann man jetzt Methoden hinzufügen, die direkt zum User gehören wie z.B setPassword():

class Model_User_Table(){
..
// hier muss die Klasse festgelegt werden
protected $_rowClass = 'Model_UserRow';
..
}
class Model_UserRow {
public function setPassword($password){
$securePassword = md5($this->password);
$this->password = securePassword;
}
}

Wie ihr sehen könnt steht innerhalb dieser Methode $this (der User) zur Verfügung, so lässt es sich deutlicher einfacher mit den Zend Objekten arbeiten und die Methoden, wie hier für den User kommen in das zugehörige Objekt.
Ist eigentlich recht simple, doch ich kam nie drauf die Row Klassen so zu verwenden.

Mantis in Eclipse

2009 25 November

Für diejenigen die häufig Mantis benutzten gibt es eine nette Möglichkeit seine Mantis Bugs aus Eclipse heraus zu bearbeiten. Zunächst müsst ihr Mylyn installiert haben, wenn ihr Zend Studio benutzt ist das schon dabei.
Dann geht ihr in die View Task Repositories. Um den Mantis Connector müsst ihr auf ein bestehens Repositorie mit der rechten Maustaste klicken und dann "Add Task Repository" klicken und den Mantis Connector als weiteren Connector installieren.Screen

Wenn ihr jetz auf den Mantis Connector klickt könnt ihr unter "New Query" eure Mantis Zugangsdaten angeben. Und einen vorher in Mantis angelegten eigene Filter. Die Filter findet ihr unter "Probleme anzeigen". Und schon seht ihr eure Tasks in der View Task List und könnt diese von hieraus wunderbar bearbeiten.

Das richtige Bennenen von Variablen

2009 27 September

Auch wenn es trivial klingt so ist doch die richtige Bennung von Variablen ein sehr wichtige Sache, um Code über längere Zeit sauber und klar zu halten. Denn auch hier gilt der Grundsatz von Lao Tse "Verhüte das Große solange es noch klein ist". Wir alle haben schon Code gesehen, der Anfangs eigentlich noch ganz in Ordnung war und bei jedem zusätzlich Feature oder ChangeRequest immer ein Schritt unleserlicher wurde bishin zu kaum noch wartbarem Code.
Aus diesem Grund habe ich hier die meiner Meinung nach wichtigsten Punkte zusammengestellt die bei der richtigen Wahl des Variablennamens helfen sollen:

  • Die Variable soll genau beschreiben wofür sie steht.
  • Aus dem Namen soll klar werden, warum sie existiert, wofür sie verwendet wird und wie sie benutzt wird.
    Variablen die einen Kommentar benötigen sind sind auf jeden Fall zu verermeinden
    $d oder $count // Tage seit Beginn
    Sinnvollerwäre es hier die Variable:
    $daysSinceBeginn
  • Verweist der Name auf ein Sachverhalt „aus dem wirklichen Leben“ statt sich an Details der Programmiersprache anzulehnen
  • Eine Variablen soll im Kontext Sinn ergeben also eher $members als $array heißen.
  • Sind temporäre Variablen sinnvoll benannt. Da innerhalb von Methoden alle Variablen temporär sind hilft es niemandem Variablen einfach nur $temp o.ä zu nennen.
  • Ist klar wann boolsche Variablen den Wert true haben.
  • Nicht
    $status = true
    sondern
    $isAktiv = true
  • Abkürzungen vermeiden
  • Wer soll schon wisssen, dass $dsb für $daysSinceBeginn steht.
  • Verweisen Konstanten eher auf abstrakte Sachverhalte als auf Zahlen für die sie stehen
  • Also es soll eher
    Const MAX_NUMMER_OF_ITEMS = 7 
    heißen als
    Const SEVEN =  7
    was in diesem Fall gleich käme mit überhaupt keine Konstante zu verwenden sondern die Zahl direkt.

Wer mehr Interesse an diesem Thema hat dem empfehle ich folgende zwei Bücher aus denen ich die meisten Punkte übernommen habe: CleanCode und CodeComplete

Wie bekomme ich meine Unittests grün ?

2009 25 August

unit-testing-webdesigner.gif

mit Photoshop :-)

Danke phpkitchen.com

Firebug für Internet Explorer

2009 21 August

Obwohl es den Firebug Lite schon eine Weile zu geben scheint habe ich jetzt erst erfahren, dass es ihn gibt.
Denn für das Debugging von IE Bugs hatte ich mir sowas schon immer gewünscht.

Download und Doku gibt es hier

Torsten Zander


 RSS Feed abonnieren

Posts

Blogrolls