php.de

Zurück   php.de > php.de Intern > Off-Topic Diskussionen

Off-Topic Diskussionen Mach mal Pause vom Programmieren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.08.2010, 22:51  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Hmm, interessiert das hier denn jetzt noch jemanden? Ich habe tatsächlich etwas zusammenbekommen, wie gesagt vor allem als Übung für die Symfony Components, werde das auch unabhängig von dem "Quiz" noch etwas weiter bearbeiten. Ziel war ein schlankes, leicht integrierbares und vor allem erweiterbares Gästebuch. Es wird kein Framework benutzt, allerdings auf folgede Komponenten zurückgegriffen:
- Symfony: sfServiceContainer für Dependency Injection
- Symfony: sfEvent für Plugins
- Symfony: sfYaml für Konfiguration
- eigene: OutputFilter zum Filtern von Daten im View
- eigene: DecorateAnything als generischer Dekorator für Plugins
- eigene: TypeSafeEnum als Enum-Datentyp

Die gesamte Lösung gibt es hier (Plugins und Installationsroutine sind noch nicht implementiert, dies sprengt aber auch den Rahmen der Aufgabe):
SlimGb at master from schmengler's SlimGb - GitHub

Ein Beispiel zur Einbindung (voll funktionsfähig):
PHP-Code:
<?php
header
('Content-type:text/html;charset=utf-8');
date_default_timezone_set('Europe/Berlin');

require_once 
'SlimGb.inc.php';
$gb = new SlimGb();
$gb->initGuestbook();
?><html>
<head>
<title>SlimGb Demo</title>
<link rel="stylesheet" href="static/SlimGb.css">
</head>
<body>

<?php echo $gb->include_messages(); ?>

<?php echo $gb->include_form(); ?>

<?php echo $gb->include_pagination(); ?>

<?php echo $gb->include_entries(); ?>

<?php echo $gb->include_pagination(); ?>

</body>
</html>
Allgemeine Konfiguration (application.link muss auf jeden Fall angepasst werden, damit die Pagination funktioniert!):
Sourcecode: SlimGb/conf/SlimGb.yaml

Service-Konfiguration (hier wird die Datenquelle bestimmt, siehe imports-Abschnitt)
Sourcecode: SlimGb/conf/Services.yaml

Datenquellen-Konfiguration:

Sourcecode: SlimGb/datasources/pdo.yaml.php
Sourcecode: SlimGb/datasources/csv.yaml.php

Als Standard ist CSV eingestellt, dafür gibt es erstmal nichts zu konfigurieren, auch eine Datei ist schon angelegt, so ist keine weitere Installation nötig, lediglich das runtime-Verzeichnis muss von PHP beschrieben werden dürfen.

Edit: Ach ja, zum zentralen Punkt, den Datenquellen:
- Sourcecode, Interface: SlimGb/core/SlimGb/Service/DataSource.php
- Sourcecode, Implementierung für CSV: SlimGb/core/SlimGb/Service/DataSourceCSV.php
- Sourcecode, Implementierung für PDO: SlimGb/core/SlimGb/Service/DataSourcePDO.php

Hier ist übrigens einmal eine Demo-Installation:
https://demo.linuxkind.de/slimgb/

Hier ein Klassendiagramm der wesentlichen Klassen:
Farben:
hellgelb: keine bes. Bedeutung
dunkelgelb: entscheidende Klassen für die Datenhaltung
dunkelgrau: Anwendung (Fassade)
hellgrau: Konfiguration (DI Container etc.)
weiß: nur relevant für Plugins



Uploaded with ImageShack.us

Geändert von fab (04.09.2010 um 20:01 Uhr).
fab ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.09.2010, 11:16  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

@fab: beim ersten Post erhalte ich ein "Session is invalid". Erwartet hätte ich "please provide your name and a message".
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 01.09.2010, 11:21  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Oha, Session is invalid bedeutet allerdings auch nicht dass du nichts eingetragen hast sondern dass der Anti CSRF Token im Formular nicht in deiner Session gefunden wurde. Waren Cookies deaktiviert oder hast du da direkt einen Bug gefunden?
fab ist offline   Mit Zitat antworten
Alt 01.09.2010, 13:19  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Cookies sind bei mir by default aktiviert.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 01.09.2010, 13:51  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Zitat von fab Beitrag anzeigen
Oha, Session is invalid bedeutet allerdings auch nicht dass du nichts eingetragen hast sondern dass der Anti CSRF Token im Formular nicht in deiner Session gefunden wurde. Waren Cookies deaktiviert oder hast du da direkt einen Bug gefunden?
Kann ich bestätigen.

Beim ersten Versuch meinen Eintrag hinzuzufügen bekam ich auch die Meldung "invlaid session...", beim zweitem Absenden wurde er eingetragen.

Mein Gästebuch ist leider nicht vollständig fertig geworden... ggf. reiche ich es nach sobald ich Zeit habe es zu vervollständigen.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 01.09.2010, 13:56  
Erfahrener Benutzer
 
Registriert seit: 23.03.2010
Beiträge: 626
PHP-Kenntnisse:
Anfänger
ByStones befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Beim ersten Versuch meinen Eintrag hinzuzufügen bekam ich auch die Meldung "invlaid session...", beim zweitem Absenden wurde er eingetragen.
Bei mir das selbe...
__________________
Signatur:
PHP-Code:
$s '0048656c6c6f20576f726c64';
while(
$i=substr($s=substr($s,2),0,2))echo"&#x00$i;"
ByStones ist offline   Mit Zitat antworten
Alt 04.09.2010, 20:06  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

So, ich habe den Post oben mal etwas aufgeräumt und vor allem ein Klassendiagramm angehängt, würde mich auch über generelles Feedback zum Design freuen. Die oben genannten Probleme mit der Demo-Installation sind übrigens mittlerweile behoben, es war natürlich eine zu spät initialisierte Session schuld.

Das (offensichtlich ) zentrale sfEventDispatcher-Objekt ist für die Kernfunktionalität nicht von Bedeutung, ermöglicht aber mit eventbasierten Plugins fast überall Erweiterungen "einzuhängen".
fab ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
klassendiagramm plugin, quiz in php source code, containerverkehr bedeutung, csrf token: erforderlich symfony, slimgb pagination

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:00 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum