Thema ‘CakePHP’

CakePHP Expandable Behavior

Darf ich vorstellen: mein CakePHP Expandable Behavior. Ein einfaches, kleines Script welches das hinzufügen von neuen Spalten in einem beliebigen CakePHP Model erlaubt, ohne die Datenbank zu verändern. Neue Spalten werden in einer Tabelle und die Inhalte in einer anderen Tabelle gespeichert.

Beim Auslesen werden die Ergebnisse so zusammen gefasst, dass es für den normalen Programmierer kein Unterschied gibt. Die neuste Version findet man auf GitHub, die Erklärung zur Installation und Nutzung in diesem Eintrag.

Zum Eintrag CakePHP Expandable Behavior →

Das perfekte Zusammenspiel zwischen Git und CakePHP

Die großen Projekte entwickeln wir bei der Ape Unit GmbH im Moment mit Teams zwischen 3 und 5 Kollegen. Um sich nicht gegenseitig das Leben schwer zu machen, nutzen wir Git zur Codeverwaltung und CakePHP für anspruchsvolle Webapplikationen.

Mit ein paar Tricks und einer handvoll Wissen wir dieses Zusammenspiel ein Hort der Freude! Dieser Artikel beschreibt das Zusammenspiel zwischen Versionsverwaltung und Framework.

Zum Eintrag Das perfekte Zusammenspiel zwischen Git und CakePHP →

Überall auf die Benutzerdaten zugreifen

Es geht um unser Lieblingsframework: CakePHP. Man kennt ja zum Beispiel die Einstellungen, auf die man von überall aus zugreifen kann über die statische Klasse Configure:

echo Configure::read('Hello.World');

Das funktioniert vom Model, über den Controller bis zum View. Wäre es nicht wunderbar auf die gleiche Art und Weise auf den angemeldeten Benutzer zugreifen zu können? Ich denke da an:

echo User::get('name');

Ja, wäre es und funktioniert ganz einfach. Die Idee stammt von Matt Curry und ist in seinem kostenlosen Cake Buch auf englisch beschrieben. Im Laufe der Zeit hab ich die Funktionen erweitert und angepasst. Zum Eintrag Überall auf die Benutzerdaten zugreifen →

Ajax in Webapplikationen mit CakePHP und jQuery

Jeder Webentwickler weiß, dass kein Benutzer mehr auf das Neuladen einer Seite warten will. Vorallem nicht, wenn es in Webapplikationen darum geht Elemente hinzuzufügen, zu bearbeiten oder zu entfernen.

Zum Beispiel in einem Tool welches umfangreiche Exportmöglichkeiten besitzt und gerade von einer jungen, dynamischen Agentur entwickelt wird. In dem Programm legt man ein Exportscript an und kann diesem verschiedene Exportdateien zuweisen die beim durchlaufen dynamisch erstellt werden.

Diese einfache 1:n Beziehung ist mit Cake schnell gebacken, mit ein paar Zeilen erweitert und läuft. Allerdings verteilt auf mehreren Seiten. Zum Glück gibt uns Cake einfache Möglichkeiten an die Hand um das zu verhindern.

In diesem Artikel will ich aufschreiben wie man praktisch jedes Cake Projekt zusammen mit dem Lieblings-Javascriptframework jQuery in eine coole Web 2.0 Anwendung verwandeln kann.

Zum Eintrag Ajax in Webapplikationen mit CakePHP und jQuery →

CakePHP HABTM mit automatischer Vervollständigung

Wenn man für ein beliebiges Model Posts speichern und eingeben kann, vielleicht weil man dieser Anleitung gefolgt ist, dann ist das schon ein schöner Fortschritt. Allerdings passieren immer wieder Tippfehler, und ähnlich klingende Begriffe finden sich in der Tagcloud.

Da hilft nur eins: während der Eingabe dem Benutzer direkt passende Tags vorschlagen. Eine automatische Vervollständigung wie beim Mailen in den großen sozialen Netzwerken oder beim suchen bei Google.

Zum Glück haben sehr schlaue Leute schon diverse Plugins erstellt, welche einen JSON String oder eine simple Textliste verarbeiten können. Zum Beispiel Autobox2. Gleich mal die Demo angucken, runterladen und dann ins eigene Projekt integrieren.

So funktionierts... Zum Eintrag CakePHP HABTM mit automatischer Vervollständigung →

IMAP Postfächer mit CakePHP abfragen

Für ein aktuelles Projekt musste die Anwendung per IMAP auf ein Postfach zugreifen und die Mails auslesen. Das einzige Plugin welches ich gefunden habe war für CodeIgniter, benutzte aber glücklicherweise wenig Corefunktionen was es ermöglicht hat es für CakePHP zu portieren.

Es ist jetzt also sehr leicht möglich die Mails aus einem Postfach auszulesen. Im folgenden Beitrag wird gezeigt wie. Zum Eintrag IMAP Postfächer mit CakePHP abfragen →

Mit CakePHP in 30 Minuten Tags zu einer Tabelle hinzufügen

Im Web 2.0 geht nichts mehr ohne Tags. Und ohne ein Rapid Development Framework kann das ganz schön haarig werden. Zum Glück springt CakePHP mit leuchtenden Augen (oder waren es die Augen des Entwicklers?) in die Bresche und begeistert mit sehr einfachen Umsetzung.

Mit der folgenden Anleitung bekommt ein beliebiges Model die Möglichkeit Tags zu speichern, inklusive Has and belongs to many Beziehung.

Zum Eintrag Mit CakePHP in 30 Minuten Tags zu einer Tabelle hinzufügen →

Mit jQuery und CakePHP voneinander abhängige Selectboxen

CakePHP ist genial, nicht nur was die Erstellung von Formularen angeht. Aber leider setzt der integrierte AjaxHelper Prototype voraus und als überzeugter jQuery-Nutzer kommt das für mich nicht in Frage.

Nun gibt es aber beim aktuellen Projekt folgendes Problem: Einem Projekt wird ein Kunde zugeordnet und jedes Projekt kriegt einen Ansprechpartner. Dieser Ansprechpartner ist in der User-Datenbank gespeichert und besitzt eine ID zu einem Kunden.

Legt man ein neues Projekt an und wählt einen Kunden aus, sollen nur noch die passenden Ansprechpartner angezeigt werden.

Nichts leichter als das! Hier stelle ich meine sehr flexible Möglichkeit für die Umsetzung mit jQuery und CakePHP vor. Grundwissen allerdings vorrausgesetzt. Zum Eintrag Mit jQuery und CakePHP voneinander abhängige Selectboxen →