Created
September 21, 2010 13:37
-
-
Save odino/589693 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class sfGuardUser extends PluginsfGuardUser | |
{ | |
public function save(Doctrine_Connection $conn = null) | |
{ | |
if (get_class($this) != 'sfGuardUser') | |
{ | |
$name = $this->native_group; | |
$native_group = $this->getNativeGroup($name); | |
$this->link('Groups', $native_group->id); | |
} | |
parent::save($conn); | |
} |
instanceOf ritorna sempre true, non va bene
get_class($this) != 'sfGuardUser'
equivale a
!$this instanceof sfGuardUser
non può restituire sempre true
da false, si, ma non capisco perchè non entra dentro l'if...ergo instanceOf al momento non può andarmi bene
sei una pippa! :-P
e poi spiegami perché devi controllare il tipo della classe nella classe stessa... l'unico motivo che mi viene in mente è che tu stia usando questa cosa solo per una classe estesa (ma allora perché non metterlo direttamente in quella?)
perchè ci saranno N² classi figlie che devono condividere sta cosa
be' ma allora fai comunque una classe estesa, ci metti il metodo save senza l'if ed erediti da quella.
class sfGuardUser extends PluginsfGuardUser {
public function save(Doctrine_Connection $conn = null)
{
if ($this->isAmico())
{
$name = $this->native_group;
$native_group = $this->getNativeGroup($name);
$this->link('Groups', $native_group->id);
}
parent::save($conn);
}
protected function isAmico() {
return false;
}
}
class sfGuardUserAmico extends sfGuardUser {
protected function isAmico() {
return true;
}
}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
get_class() fa molto php4 :-P
usa instanceof invece!