Ich versuche Symfony zu verwenden, um eine benutzerdefinierte Klasse namens jsDoctrineRecord
anstelle von sfDoctrineRecord
für seine Modelle zu verwenden. Hier ist der Code für die übergeordnete Klasse:Ändern der Modellerstellungsoptionen nicht möglich
<?php
abstract class jsDoctrineRecord extends sfDoctrineRecord
{
public function foo()
{
echo 'foo';exit;
}
}
Hier ist, was ich in config/ProjectConfiguration.class.php
haben, gemäß den Anweisungen here:
<?php
require_once dirname(__FILE__).'/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php';
sfCoreAutoload::register();
class ProjectConfiguration extends sfProjectConfiguration
{
public function setup()
{
$this->enablePlugins('sfDoctrinePlugin');
$this->enablePlugins('sfDoctrineGuardPlugin');
$this->enablePlugins('jsDoctrineSchemaOverriderPlugin');
}
public function configureDoctrine(Doctrine_Manager $manager)
{
$options = array('baseClassName' => 'jsDoctrineRecord');
sfConfig::set('doctrine_model_builder_options', $options);
}
}
Leider ist dies nicht funktioniert. Meine Modelle erben weiterhin von sfDoctrineRecord
anstelle von jsDoctrineRecord
. Die Methode foo()
wird nicht erkannt. Ich habe immer noch das Problem, wenn ich meinen Cache lösche.
Ich bin mir ziemlich sicher, dass ich die Anweisungen richtig befolge, also was könnte schief gehen?
Nur um sicher zu gehen ... Sie haben die Modelle umgebaut, oder? (Doktrin: Build-Modell) –
Nein, das hatte ich nicht getan. Ich habe das gerade gemacht und jetzt funktioniert es. Vielen Dank! Wenn du das als Antwort aufsetzen willst, werde ich es akzeptieren. –