Symfony2 mit git installieren
Symfony2 mit git installieren
git Repository auf dem git Server anlegen:
cd /path/to/my/git
mkdir mysymfony
cd mysymfony
git init --bare
cd ..
chown -R www-root mysymfony
[...] #evtl. apache konfigurieren
Symfony auf dem Entwicklungsrechner auschecken:
git clone https://git.example.com/mysymfony
master
branch erstellen:
cd mysymfony
touch x
git add x
git commit -a
git rm x
git commit -a
git push origin master
Änderungen im neuen beta
-branch machen:
git checkout --track -b beta
git-repository von symfony einbinden:
git remote add symfony git://github.com/symfony/symfony-standard.git
# Inhalt des Repositories herunterladen
git fetch symfony
Symfony Version 2.0.15 in den beta
-branch mergen
git merge v2.0.15
Vendors installieren und Cache löschen:
bin/vendors install
app/console cache:clear --env dev
app/console cache:clear --env prod
Committen und remote repository aktualisieren
git commit -a
git push origin beta
Test: Mit web/
als webroot
kann man jetzt die Demo-Anwendung aufrufen:
http://mysymfony.localhost/app_dev.php/demo/hello/Horst
Symfony aktualisieren
Symfony mit git aktualisieren:
git remote update
git merge v2.0.16
Vendors mit git aktualisieren:
php bin/vendors install
Frontend-Controller für Produktionsbetrieb aktivieren
In Datei web/app.php
:
$kernel = new AppKernel('prod', false);
ändern auf:
$kernel = new AppKernel('prod', true);
Zum Betrachten der Demo-Anwendung mit app.php
muss folgende Zeile in app/Appkernel
außerhalb des if
s stehen (zwei Zeilen nach oben verschieben)
$bundles[] = new Acme\DemoBundle\AcmeDemoBundle();
Das Routing in app/config/routing.yml
ändern auf:
_welcome:
pattern: /
defaults: { _controller: AcmeDemoBundle:Welcome:index }
_demo_secured:
resource: "@AcmeDemoBundle/Controller/SecuredController.php"
type: annotation
_demo:
resource: "@AcmeDemoBundle/Controller/DemoController.php"
type: annotation
prefix: /demo
Cache leeren:
app/console cache:clear --env dev
app/console cache:clear --env prod
Test: Jetzt kann die Demo-Anwendung (bei entsprechender Apache-Konfiguration) abgerufen werden unter:
http://mysymfony.localhost/app.php/demo/hello/Fabien
Wenn das Apache-Modul mod_rewrite
aktiviert ist kann der Aufruf auch erfolgen mit:
http://mysymfony.localhost/demo/hello/Fabien
Bundle erstellen (enthält Model, View, Controller)
Zuerst muss ein neues Bundle erstellt werden, welches Controller und View enthält:
php app/console generate:bundle --namespace=myname/TestBundle --format=yml
Man kann alle Einstellungen lassen, sollte jedoch die Verzeichnisstruktur erstellen lassen (wenn man möchte).
Model: Entity erstellen
Zunächst eine Datenbankverbindung einrichten in properties.ini
.
Model: Entity für das Bundle erstellen mit
php app/console doctrine:generate:entity --entity="mynameTestBundle:Product" --fields="name:string(255) price:float description:text"
Getter und Setter hinzufügen:
php app/console doctrine:generate:entities myname/TestBundle/Entity/Product
Datenbank-Schema updaten:
php app/console doctrine:schema:update --force
Assets ins wwwroot kopieren
Dieser Befehl kopiert alle assets (css, Bilder usw.) der verschiedenen Bundles ins web-Verzeichnis, sodass sie über http erreichbar sind.
php app/console assets:install web