Empfehlungen: Erweiterte Suche

Grundsätzliche Nutzung von Cake-Konventionen?

Fragen zur Konzeptionierung und womit man am besten anfäng? Hier rein...

Grundsätzliche Nutzung von Cake-Konventionen?

Beitragvon Norbert » Sa 2. Jan 2010, 11:55

Hallo,
als neuer Nutzer von Cake habe ich da einige grundsätzliche Fragen:

Wie intensiv sollte die Cake-Syntax genutzt werden?

Meine Frage bezieht sich auf meine ersten Schritte ein teilweise bestehendes Projekt in Cake umzusetzen.
Als Beispiel hier das Layout. Dieses steht aus herkömmlichen HTML wie Tabelle, Div etc.
Die Tabellen z.B. können (oder müssen?) auch mit Cake via
Code: Alles auswählen
<?php echo $html->tableCells(array(
array('7. Juli 2007', 'Spitzenschokokuchen', 'Ja'),
array('21. Juni 2007', 'Pfiffige Kekse', 'Ja'),
array('1. August 2006', 'Anti-Java Kuchen', 'Nein'),
));
?>

(als Beispiel von cake.org entnommen)
erstellt werden oder aber wie herkömmlich, einfach mit den entsprechenden Tags. Wobei ich dann bei Cake noch das Problem der Verknüpfung von Tabellenzellen noch nicht gelöst habe - aber das ist eine andere Frage.

Was ist nun der bessere / richtige Weg und welchen Vorteil hat dieser?

Vielen Dank im Voraus

MfG
Norbert
MfG
Norbert
Norbert
 
Beiträge: 5
Registriert: Sa 2. Jan 2010, 11:39
Wohnort: Kerken, NRW
CakePHP-Version: 1.2.5
OS: OSX/Win200p/XPp/Suse

Re: Grundsätzliche Nutzung von Cake-Konventionen?

Beitragvon mbrod » Sa 2. Jan 2010, 12:12

Ich denke, man muss da strikt unterscheiden zwischen Cake-Konventionen und Cake-Funktionen. Du beschreibst deine Frage anhand des HTML-Helpers. Beim Layout sehe ich die Benutzung des HTML-Helpers nicht als zwingend an. Beim Backen mit der cake shell werden die Tabellen ja auch größtenteils einfach als HTML-Tags erstellt.

Anders sehe ich es mit den eigentlichen Konventionen bei model, view und controller, also Groß-Kleinschreibung, Singular-Plural, camel-cased usw. Seit meinem Einstieg in cakephp vor einigen Monaten habe ich mich bisher strikt daran gehalten und damit sehr gute Erfahrungen gemacht.
mbrod
 
Beiträge: 193
Registriert: Mi 20. Mai 2009, 18:09
Wohnort: Frankfurt am Main
CakePHP-Version: 1.3.8
OS: Mac OS X

Re: Grundsätzliche Nutzung von Cake-Konventionen?

Beitragvon Norbert » Sa 2. Jan 2010, 17:30

Danke für die Antwort!

Leider sieht es so aus das ich auch nach Stunden (!) mit Cake noch nicht einmal den Content wechseln kann bzw. eine Sub-Site aufrufen kann - Bisher in PHP/Html/Ajax eine Sache von Minuten.
Das Konzept sieht toll aus, viel gelesen, etwas gelernt aber als Hobby-Scripter habe ich offensichtlich keinen blassen Schimmer von dem was ich mit Cake tun muss um so rudimentäre Dinge wie oben genannt zu ereichen.
Werde also wohl weiter mit meinen eigenen Klassen und includes arbeiten - damit habe ich keine Probleme.

Vielen Dank

Norbert
MfG
Norbert
Norbert
 
Beiträge: 5
Registriert: Sa 2. Jan 2010, 11:39
Wohnort: Kerken, NRW
CakePHP-Version: 1.2.5
OS: OSX/Win200p/XPp/Suse

Re: Grundsätzliche Nutzung von Cake-Konventionen?

Beitragvon euromark » Sa 2. Jan 2010, 17:55

a) cake bake ("Backen") verwenden und daraus lernen
b) bereits fertige cake-cms oder cake-basierende seiten downloaden und daraus lernen
euromark
 
Beiträge: 618
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.1
OS: Windows

Re: Grundsätzliche Nutzung von Cake-Konventionen?

Beitragvon mbrod » Sa 2. Jan 2010, 18:20

Ich bin ebenfalls Hobby-Scripter und hatte auch ein paar Klassen geschrieben, die ich immer wieder verwendet habe. Dann merkte ich aber, dass bei komplexer werdenden Applikationen mir einfach die Prinzipien fehlten. Z.B. MVC. Nachdem ich dann schon überlegte auf Ruby-On-Rails aufzuspringen habe ich cakephp entdeckt. So musste ich nicht noch eine neue Programmiersprache lernen.
Cakephp empfinde ich durchaus als komplex und ist an der einen oder anderen Stelle wohl auch noch nicht ausgereift. Letzteres stört mich aber nicht wirklich, da man immer Workarounds findet.
Für mich wichtig ist, dass ich langsam merke, dass mein Programmierstil sich ändert. Programme dann zu erweitern macht mit cake richtig Spaß.
mbrod
 
Beiträge: 193
Registriert: Mi 20. Mai 2009, 18:09
Wohnort: Frankfurt am Main
CakePHP-Version: 1.3.8
OS: Mac OS X

Re: Grundsätzliche Nutzung von Cake-Konventionen?

Beitragvon Norbert » Sa 2. Jan 2010, 20:18

Also ich habe extreme Probleme in Cake zu arbeiten - vieleicht bin ich ja doch zu blöd :D
Mit Cake lernst du (@mbrod) eine NEUE Scriptsprache. Bei der du zwar einiges aus dem bisherigen übernehmen kannst aber auch jede Menge NEU lernen musst.

@euromark
Bisher habe ich aus Snippets, vielen Foren, anderer Quellen und einigen Büchern viel lernen können. Der Hinweis auf fertige oder fast fertige Projekte ist bestimmt gut gemeint aber wohl fehl am Platz.
Tutorials die z.B. mein obiges Beispiel des Content-Wechsels demonstrieren finde ich in jedem zweiten Ajax-, JS- oder PHP-Buch. Meist im Kapitel für Grundlagen. In der bakery habe ich nichts finden können was wohl auch daran liegt das ich es nicht erkenne.
Das ich mir jetzt ein beliebiges Beispiel aus der bakery hole darin versuche etwas zu erkennen von dem ich nicht einmal weiß wie es aussehen sollte/könnte - wenigstens in den Grundzügen - ist ja wohl eher eine Arbeitsbeschaffungsmaßnahme als eine Hilfe.
Den für mich wichtigen Teil darin zu erkennen UND die Zusammenhänge zu verstehen... naja...

Die Konventionen und anderen Grundregeln für Namen, Variable etc. halte ich für ausgereift. Was hier fehlt ist ein sinnvoll zusammengestelltes Tutorial das bei A anfängt. Die Beispiele die bei cake.org zu finden sind - wers braucht - man kann hinterher einen Blog erstellen - na toll. Wenn das für dich der Lernweg ist dann Hut ab.

Ich bin bei Cake (vorläufig zumindest) am Ende angelangt - Sinn und Zweck verabschieden sich wenn sich keine Grundlagen in verständlicher Form finden lassen. Weder in deutsch noch in englisch.

MfG
Norbert

PS.
Der obige Text gibt meine subjektive Meinung wieder. Lernen = Verhaltensänderung = Meinungsänderung.
Da kommt mir eine Idee:
Kann mir jemand zeigen wie ich in einem Content-Bereich in Cake den Inhalt über einen link tauschen kann, oder einen link dazu? Ich versuche dann mal ein Tutorial dazu zu schreiben...
MfG
Norbert
Norbert
 
Beiträge: 5
Registriert: Sa 2. Jan 2010, 11:39
Wohnort: Kerken, NRW
CakePHP-Version: 1.2.5
OS: OSX/Win200p/XPp/Suse

Re: Grundsätzliche Nutzung von Cake-Konventionen?

Beitragvon Mathias » Sa 2. Jan 2010, 20:56

Norbert hat geschrieben:Leider sieht es so aus das ich auch nach Stunden (!) mit Cake noch nicht einmal den Content wechseln kann bzw. eine Sub-Site aufrufen kann - Bisher in PHP/Html/Ajax eine Sache von Minuten.

Was denn für einen Content? Und auf für eine Sub-Site willst du denn zugreifen? Erläutere das Problem doch nicht so allgemein, wenn du was bestimmtes im Auge hast.
Und CakePhp ist keine neue Scriptsprache. Es ist lediglich ein Framework. PHP ist eine Scriptsprache.
cheers
Benutzeravatar
Mathias
 
Beiträge: 225
Registriert: Mi 4. Jun 2008, 22:30
Wohnort: Berlin
CakePHP-Version: 1.3.x
OS: OS X 10.6.x

Re: Grundsätzliche Nutzung von Cake-Konventionen?

Beitragvon Norbert » Sa 2. Jan 2010, 21:31

Streng genommen hast du recht das Cake KEINE Scriptsprache ist - wie soll man die Syntax dann aber bezeichnen? Diese hat ja mit dem herkömmlichen nicht viel gemein...
Aber lassen wir das mal.

Also es geht um das einfache auswechseln eines Inhaltes.
Die Default.ctp beinhaltet eine Tabelle mit Header, Content und Footer. Der Header bekommt einige Links ' Inhalt1 - Inhalt2 - Inhalt 3'. Je nach Wahl des Links sollen die Inhalte aus einer ctp-Datei in den Content-Bereich eingefügt bzw. der bisherige Inhalt mit dem neuen ersetzt werden. Die drei Bereiche sind in Div-Tags angelegt.

Jetzt in meiner Lernphase handelt es sich um statische Seiten. Für mich eine Grundform die ich nicht hinbekomme...
Mit Ajax würde ich hier einfach den Inhalt der divs ändern...
Nur wie soll kann ich dies Cake-Konform tun?

Irgendwie habe ich hier eine Eisenbahnschwelle vor meinem Kopf :oops:
MfG
Norbert
Norbert
 
Beiträge: 5
Registriert: Sa 2. Jan 2010, 11:39
Wohnort: Kerken, NRW
CakePHP-Version: 1.2.5
OS: OSX/Win200p/XPp/Suse

Re: Grundsätzliche Nutzung von Cake-Konventionen?

Beitragvon mbrod » Sa 2. Jan 2010, 22:47

Deine Herangehensweise ist wahrscheinlich etwas ungewöhnlich, da Du von statischen Seiten ausgehst. Bei einer Webapplikation sind die statischen Seiten ja eher Beiwerk, da das Model und damit die Datenbank erst mal im Vordergrund steht. Seit etwa einem halben Jahr beschäftige ich mich mit cakephp und habe meine erste statische Seite (Einführung/Hilfe für die Benutzer der Applikation) erst vor etwa 2 Wochen geschrieben, was dann wirklich einfach war.
Poste doch mal deine default.ctp und 2 Inhalte die Du darin über Verweise anzeigen/wechseln möchtest. Vielleicht kann man dann hier helfen, dass Du den Einstieg findest.
mbrod
 
Beiträge: 193
Registriert: Mi 20. Mai 2009, 18:09
Wohnort: Frankfurt am Main
CakePHP-Version: 1.3.8
OS: Mac OS X

Re: Grundsätzliche Nutzung von Cake-Konventionen?

Beitragvon Mathias » Sa 2. Jan 2010, 23:18

In Cake sind statische Seite grob gesagt Seiten ohne Model oder Programmlogik.
Für die Darstellung von statischen Seiten wurden diese Frameworks eigentlich nicht geschaffen, sondern eher zur schnellen Handhabung von Daten in Datenbanken und deren Präsentation.
Wobei es aber natürlich auch möglich ist, eine komplette Website mit statischen Inhalten zu veröffentlichen.

Der Anfang, wie du richtig erkannt hast, ist die default.ctp. Das ist standardmäßig die Layout-Datei, die beim Besuch JEDER Seite deiner Applikation aufgerufen wird (ausgenommen sind AjaxRequests und dergleichen).
Das heißt also, dass der Inhalt der default.ctp immer wiederkehrt. Macht also Sinn, die Hauptnavigation mit deinen Inhaltslinks dahin zu packen. Ebenso den Footer. Der wechselnde Part (die eigentlichen Inhalte deiner Links) werden sozusagen in andere Dateien ausgelagert.
In der default.ctp solltest du folgende Zeile finden:
Code: Alles auswählen
<?php echo $content_for_layout; ?>

Genau hier werden alle Unterseiten eingefügt. Egal, ob es statische oder dynamische Seiten sind.
Die Dateien mit den Inhalten sind, insofern du sie dort anlegst, in /app/views/controller.
controller hängt hierbei logischerweise vom Controller ab. Für statische Seiten haben die cake-Entwickler einen pages-Controller beigelegt. Heißt also, dass deine statischen Inhalte dort abgespeichert werden können. Ein Beispiel:
inhalt_1.ctp wird in /app/views/pages/ abgespeichert. Die Seite errreichst du mit http://server/pages/inhalt_1
Der Inhalt der Seite setzt sich aus der default.ctp und inhalt_1.ctp zusammen.


Jetzt verstehe ich bloß nicht, warum du unbedingt deine Inhalte per Ajax wechseln möchtest?

Oh, und mbrod hat auch schon was geschrieben ;)
cheers
Benutzeravatar
Mathias
 
Beiträge: 225
Registriert: Mi 4. Jun 2008, 22:30
Wohnort: Berlin
CakePHP-Version: 1.3.x
OS: OS X 10.6.x

Nächste

Zurück zu Konzeption und Vorgehensweise

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast