Skip to content

Instantly share code, notes, and snippets.

@odino
Created September 21, 2010 13:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save odino/589693 to your computer and use it in GitHub Desktop.
Save odino/589693 to your computer and use it in GitHub Desktop.
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);
}
@garak
Copy link

garak commented Sep 21, 2010

get_class() fa molto php4 :-P
usa instanceof invece!

@odino
Copy link
Author

odino commented Sep 21, 2010

instanceOf ritorna sempre true, non va bene

@garak
Copy link

garak commented Sep 21, 2010

get_class($this) != 'sfGuardUser'

equivale a

!$this instanceof sfGuardUser

non può restituire sempre true

@odino
Copy link
Author

odino commented Sep 21, 2010

da false, si, ma non capisco perchè non entra dentro l'if...ergo instanceOf al momento non può andarmi bene

@garak
Copy link

garak commented Sep 21, 2010

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?)

@odino
Copy link
Author

odino commented Sep 21, 2010

perchè ci saranno N² classi figlie che devono condividere sta cosa

@garak
Copy link

garak commented Sep 21, 2010

be' ma allora fai comunque una classe estesa, ci metti il metodo save senza l'if ed erediti da quella.

@odracci
Copy link

odracci commented Sep 21, 2010

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