Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

samuel gomes

varios set(s)

Recommended Posts

Eu gostaria de saber como fazer isso:

$nome = new Zend_Form_Element_Text('nome');
        $nome->setLabel('Nome: ')
                ->setRequired(true)
                ->addFilter('StripTags')
                ->addFilter('StringTrim')
                ->addValidator('NotEmpty')
                ->setAttrib('title', 'Informe o nome');

Perceba que eu consigo alinhar vários set(s) seguidos ( setRequired, addFilter, setAttrib ...etc)

 

Eu queria fazer o mesmo em uma classe, mas não estou conseguindo

<?php
class teste
{
	private $var1;
	private $var2;
	private $var3;
	private $var4;
	
	public function setVar1($value)
	{
		$this->var1 = $value;
		echo 'set var1';
	}
	public function setVar2($value)
	{
		$this->var2 = $value;
		echo 'set var2';
	}
	public function setVar3($value)
	{
		$this->var3 = $value;
		echo 'set var3';
	}
	public function setVar4($value)
	{
		$this->var4 = $value;
		echo 'set var4';
	}
}

$ga = new teste();
$ga->setVar1(1)
	->setVar4(2);

Dá erro.

Por que?

 

Agradeço desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

inclua isto no final dos métodos:

 

 

return $this;

 

Esse encadeamento só funciona pois cada método retorna o próprio objeto. Assim, a chamada seguinte é executada no retorno da chamada anterior, que é o próprio objeto.

 

Seus métodos não retornam nada. Por isso gera erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.