Symfony – Benutzerprofil für sfGuardUser erstellen

Das allseits beliebte Symfony Plugin sfDoctrineGuardPlugin kann leicht um ein beliebig detailreiches Benutzerprofil ergänzt werden. Da die Readme des Plugins nicht mehr auf der Höhe der Zeit ist, möchte ich im Folgenden eine Anleitung geben, wie man das mit Symfony 1.4 und Doctrine macht.

Zunächst definieren wir ein Profil:

# schema.yml
sf_guard_user_profile:
  columns:
    user_id: integer
    photo: varchar(255)
    phone: varchar(20)
  relations:
    type: one
    foreignType: one
    local: user_id
    foreign: id
    onDelete: CASCADE

Durch diese one-to-one Relation kann man von einem sfGuardUser-Objekt auf das Profil folgendermaßen zugreifen:

$profile = $user->getSfGuardUserProfile();
echo $profile->getPhoto(); // liefert das Photo des Profils

Den DocumentRoot bei einem von Plesk verwalteten Apache ändern

Wenn man Domains in Plesk anlegt wird ein Pfad wie zum Beispiel /pfad/zum/vhost/domain.tld/httpdocs als DocumentRoot angelegt. Wenn man diesen ändern möchte auf einen Unterordner, z.B. /pfad/zum/vhost/domain.tld/httpdocs/unterordner kann man einfach in dem Verzeichnis /pfad/zum/vhost/domain.tld/config eine Datei namens vhost.conf anlegen, in die man folgendes reinschreibt:
DocumentRoot /pfad/zum/vhost/domain.tld/httpdocs/unterordner
Dann abspeichern und /etc/init.d/apache2 restart ausführen.

Analog erstellt man für die SSL-verschlüsselte Variante (httpsdocs) eine vhost_ssl.conf im selben Verzeichnis.

Quelle: HostEurope FAQ (to be linked)