Author: Think
Date: 2010-01-16 21:18:14 +0100 (Sat, 16 Jan 2010)
New Revision: 26739
Added:
doc/branches/1.4/getting-started/de/04-Project-Setup.markdown
Log:
[doc-de][1.4] Update doc in german, getting-started/04-Project-Setup
rev:en/25798
Added: doc/branches/1.4/getting-started/de/04-Project-Setup.markdown
===================================================================
--- doc/branches/1.4/getting-started/de/04-Project-Setup.markdown
(rev 0)
+++ doc/branches/1.4/getting-started/de/04-Project-Setup.markdown
2010-01-16 20:18:14 UTC (rev 26739)
@@ -0,0 +1,140 @@
+Projekt einrichten
+==================
+
+In symfony werden **Anwendungen**, die auf dasselbe Datenmodell zugreifen,
+innerhalb von **Projekten** gruppiert. Bei den meisten Projekten werden Sie
zwei
+verschiedene Anwendungen haben: ein Frontend und ein Backend.
+
+Projekt erstellen
+-----------------
+
+Vom Verzeichnis `sfproject/` aus starten Sie den symfony-Task
+`generate:project` um das eigentliche symfony-Projekt zu erstellen:
+
+ $ php lib/vendor/symfony/data/bin/symfony generate:project PROJECT_NAME
+
+Mit Windows:
+
+ c:\> php lib\vendor\symfony\data\bin\symfony generate:project PROJECT_NAME
+
+Der `generate:project`-Task erstellt die Standard-Struktur aus Verzeichnissen
und
+Dateien, die ein symfony-Projekt braucht:
+
+ | Verzeichnis | Beschreibung
+ | ----------- | --------------------------------------------------
+ | `apps/` | Enthält alle Anwendungen des Projekts
+ | `cache/` | Die Dateien, die vom Framework gecached werden
+ | `config/` | Die Dateien der Projekt-Konfiguration
+ | `data/` | Datendateien wie z.B. die Anfangs-Ausstattung
+ | `lib/` | Die Projekt-Bibliotheken und -Klassen
+ | `log/` | Die Log-Dateien des Frameworks
+ | `plugins/` | Die installierten Plugins
+ | `test/` | Die Dateien der Element-Tests und Funktions-Tests
+ | `web/` | Das Webroot-Verzeichnis (s. unten)
+
+>**NOTE**
+>Warum generiert symfony so viele Dateien? Einer der Hauptvorteile der
+>Verwendung eines voll ausgestatteten Frameworks besteht in der
Standardisierung
+>Ihrer Entwicklungen. Dank symfonys Standardstruktur aus Dateien und
+>Verzeichnissen kann jeder Entwickler mit etwas symfony-Kenntnissen die Pflege
+>eines symfony-Projekts übernehmen. Innerhalb von Minuten wird es ihm möglich
+>sein, in den Code einzutauchen, Fehler zu beheben und neue Features
hinzuzufügen.
+
+Der `generate:project`-Task hat ebenfalls in Ihrem Projekt-Hauptverzeichnis
eine
+Abkürzung erstellt, damit Sie nicht so viele Zeichen eintippen müssen, um
einen
+symfony-Task zu starten.
+
+Von jetzt an also können Sie statt des vollständigen Pfades zum
symfony-Programm
+die `symfony`-Abkürzung verwenden.
+
+Die Datenbank konfigurieren
+---------------------------
+
+Das symfony-Framework unterstützt von vorneherein alle Datenbanken, die
+[PDO](http://www.php.net/PDO) unterstützen (MySQL, PostgreSQL, SQLite, Oracle,
+MSSQL, ...). Symfony vefügt über zwei ORM-Tools, die auf PDO aufsetzen: Propel
+und Doctrine.
+
+Beim Erstellen eines neuen Projekts ist Doctrine standardmäßig aktiviert. Die
+Konfiguration der von Doctrine verwendeten Datenbank erfolgt ganz einfach mit
+dem Task `configure:database`:
+
+ $ php symfony configure:database "mysql:host=localhost;dbname=dbname" root
mYsEcret
+
+Der `configure:database`-Task erhält drei Argumente: die
+[~PDO DSN~](http://www.php.net/manual/en/pdo.drivers.php), den Usernamen und
das
+Passwort für den Zugang zur Datenbank. Wenn Sie auf Ihrem Entwicklungs-Server
+kein Zugangs-Passwort zur Datenbank brauchen, lassen Sie das dritte Argument
+einfach weg.
+
+>**TIP**
+>Wenn Sie Propel statt Doctrine einsetzen möchten, dann fügen Sie
`--orm=Propel`
+>hinzu, wenn Sie das Projekt mit dem Task `generate:project` anlegen. Wollen
Sie
+>gar kein ORM verwenden, dann geben Sie `--orm=none` ein.
+
+Anwendung erstellen
+-------------------
+
+Nun erstellen Sie die Frontend-Anwendung durch starten des Tasks
`generate:app`:
+
+ $ php symfony generate:app frontend
+
+>**TIP**
+>Da die symfony-Abkürzung eine ausführbare Datei ist, können alle
Unix-Anwender
+>von jetzt an '`./symfony`' statt '`php symfony`' eingeben.
+>
+>Bei Windows können Sie die Datei '`symfony.bat`' in Ihr Projekt kopieren und
+>'`symfony`' statt '`php symfony`' verwenden:
+>
+> c:\> copy lib\vendor\symfony\data\bin\symfony.bat .
+
+Abhängig vom Anwendungsnamen, der als *Argument* angegeben wurde, erzeugt der
+Task `generate:app` die für die Anwendung notwendige
Standard-Verzeichnisstruktur
+innerhalb des Verzeichnisses `apps/frontend/`:
+
+ | Verzeichnis | Beschreibung
+ | ------------ | -------------------------------------
+ | `config/` | Die Dateien der Anwendungs-Konfiguration
+ | `lib/` | Die Bibliotheken und Klassen der Anwendung
+ | `modules/` | Der Code der Anwendung (MVC)
+ | `templates/` | Die globalen Template-Dateien
+
+>**SIDEBAR**
+>Sicherheit
+>
+>Standardmäßig hat der Task `generate:app` unsere Anwendung gegen die zwei am
+>meisten verbreiteten Schwachstellen im Web abgesichert. Sie haben richtig
+>gelesen, symfony übernimmt für Sie automatisch Maßnahmen für die
+>~sicherheit|Sicherheit~.
+>
+>Zur Verhütung von ~XSS~-Attacken ist das Output-Escaping aktiviert worden;
und
+>zur Verhütung von ~CSRF~-Attacken ist ein zufälliges geheimes CSRF generiert
+>worden.
+>
+>Natürlich können Sie diese Einstellungen durch die folgenden *Optionen*
+>optimieren:
+>
+> * `--escaping-strategy`: Aktiviert oder deaktiviert das Output-Escaping
+> * `--csrf-secret`: Aktiviert Session-Tokens in Formularen
+>
+>Sollten Sie nichts über
+>[XSS](http://de.wikipedia.org/wiki/Cross-Site_Scripting) oder
+>[CSRF](http://de.wikipedia.org/wiki/CSRF) wissen, dann nehmen Sie sich die
Zeit,
+>mehr über diese Sicherheits-Schwachstellen zu lernen.
+
+Verzeichnisstruktur-Rechte
+--------------------------
+
+Bevor Sie auf Ihr neu erstelltes Projekt zugreifen, müssen Sie die
Schreibrechte
+für die Verzeichnisse `cache/` und `log/` auf die geeignete Stufe setzen,
damit
+der Webserver darauf schreiben kann:
+
+ $ chmod 777 cache/ log/
+
+>**SIDEBAR**
+>Tipp für Leute, die ein SCM-Tool (Software Configuration Management) verwenden
+>
+>Symfony schreibt überhaupt nur in zwei Verzeichnisse eines symfony-Projektes,
+>`cache/` und `log/`. Der Inhalt dieser Verzeichnisse sollte von Ihrem SCM
+>ignoriert werden. (Wenn Sie z.B. Subversion verwenden durch Anpassen der
+>`svn:ignore`-Eigenschaft.)
\ No newline at end of file
--
You received this message because you are subscribed to the Google Groups
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/symfony-svn?hl=en.