« »

Juchu, erstes Modell mit CakePHP

30. Mai 2009 Roland

Ich habe wieder etwas Zeit gefunden um weiter mit CakePHP rumzuprobieren.
Heute habe ich dem Modell Newsletter, dass ich ja schon im Artikel Erste Gehversuche mit CakePHP erwähnt habe, ein bisschen mit Leben gefüllt.
Warum bei einem Newssystem ein Modell mit dem Namen Newsletter vorhanden sein soll kann ich leider nicht sagen. Ich würde behaupten ich habe einfach nur ein bisschen rumgespielt und einen Namen benötigt.
Sobald ich eine View, einen Controller und ein Modell selber ausprobiert habe werde ich auch wieder ernsthaft anfangen die tatsächlich benötigten Modelle zu erstellen. Großes Indianerehrenwort! ;)

Validieren mit Cake

Egal wie das Modell heisst, ich habe jetzt mal ein bisschen was unsinniges validiert.
In CakePHP ist das sehr einfach durchzuführen.
Mein erster Versuch war, dass der Anwender für den Titel minimal drei Zeichen eingeben muss. Maximal darf er 50 Zeichen eingeben.
Und dann habe ich noch einen Sonderfall programmiert. Falls irgendwo in dem Titel der String “egon” vorkommt, wird ebenfalls ein Fehler ausgegeben.
Hier der Code:

  1. class Newsletter extends AppModel{
  2.  public $name='Newsletter';
  3.  public $validate = array(
  4.     'title' => array(
  5.             'minlength' => array(
  6.                   'rule' => array('minLength', 3)
  7.                 , 'required' => true
  8.                 , 'message' => 'Leerer Titel isch doof!'
  9.             ), 'maxlength' => array(
  10.                       'rule' => array('maxLength', 50)
  11.                     , 'required' => true
  12.                     , 'message' => 'Zu langer Titel isch doof!'
  13.                ), 'own' => array(
  14.                       'rule' => array('checkOwn', 'title')
  15.                     , 'message' => 'Hey voll falsch'
  16.                )
  17.            )
  18.         );
  19.         function checkOwn($data, $field){
  20.             $valid = true;
  21.             preg_match("/(egon)/i", $data[$field], $results);
  22.             if(sizeof($results) > 0){
  23.              $valid = false;
  24.             }
  25.             return $valid;
  26.         }
  27. }

Besonders spannend finde ich die Möglichkeit, eigene Funktionen bauen und einbinden zu können.
Du kannst hier sehen, dass man mit CakePHP die Validierungsregeln in Arrays beschreibt. Diese Art der Beschreibung finde ich sehr übersichtlich und angenehm zum Programmieren.

Und wie sieht das Ganze in Aktion aus?

Was mir unglaublich gut gefällt ist, dass CakePHP mit einem Controller Skelett und einer fast leeren Modell-Klasse schon das
Pattern CRUD (Create, Read, Update, Delete) umgesetzt wird.
Du kannst also schon mal mit dem leeren Modellen arbeiten und sehen, was du alles noch programmieren willst.
Mit dem oben angepassten Code wird jetzt also der Titel verwaltet.
Wenn ich mein Beispiel aufrufe, wird zuerst die Übersicht über alle Newsletter gezeigt.
Startseite vom Newsletter Modell
Wenn auf edit gedrückt wird, dann kann ein Eintrag bearbeitet werden.
Falls hier ein falscher Wert eingegeben wurde, wie mein Egon hier, dann wird die Fehlermeldung ausgegeben.
Falsche Eingabe im Titel
Und schon ist eine Anwendung fertig :)
Naja, fast oder?

Merken und weiterempfehlen Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Technorati
  • Wikio DE
  • Webnews
  • MisterWong
  • Y!GG
  • Digg
  • del.icio.us

Der Beitrag wurde am Samstag, den 30. Mai 2009 um 12:29 Uhr veröffentlicht und wurde unter Programmieren abgelegt.
Kurzlink: http://www.baldenhofer.eu/blog/?p=1259

Dir gefiel der Artikel? Dann abonniere doch den RSS Feedrss

Du kannst die Kommentare zu diesem Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.

...deine Chance den ersten Kommentar zu schreiben... ;-)

Schreibe mir

zum Seitenanfang