menu
Fórum Adianti
menu Menu
function e obj Se alguêm puder me ajudar!! veja: tenho um function com: agora como eu faço para pegar o objeto id criado e dentro de uma outra função aplicar o comando setSize(90): ...
AM
function e obj  
Fechado
Se alguêm puder me ajudar!! veja:

tenho um function com:

  1. <?php
  2. function objInputs()
  3. {
  4.    $id = new TEntry('id');
  5. }
  6. ?>

agora como eu faço para pegar o objeto id criado e dentro de uma outra função aplicar o comando setSize(90):

  1. <?php
  2. function atribuirInputs()
  3. {
  4.   $id -> setSize(90); // Então aqui nesta linha como fazer reconher os objeto id criado na função objInputs()
  5. }
  6. ?>


então como eu faria isto acima?

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (4)


PD

Oi Alexon,

Preferencialmente, crie os objetos no método construtor. Pois o método construtor é sempre chamado antes de um outro método. Por exemplo, se na URL estiver ?method=atribuirInputs(), o framework instancia a classe (roda o construtor), e em seguida executa o atribuirInputs(). A cada requisição, é um método executado.

A não ser que você chame o método objInputs() dentro do atribuirInputs():
$this->objInputs();

Quando postar dúvidas, no formulário de envio marque a opção "Criar um tópico no fórum de mensagens", caso contrário o post cai como artigo, não no fórum.
Além disso, use as tags do PHP ao redor do código-fonte que você colar, assim o exemplo fica com highlight e também com atalhos para a documentação.

um abraço,
Pablo
PD

Além disso, use $this:
  1. <?php
  2. function objInputs()
  3. {
  4.     $this->id = new TEntry('id');
  5. }
  6. ?>
AM

Pablo, não entendi direto, eu já crio os objetos no metodo construtor!!!

Veja só

  1. <?php
  2.  class Cpessoa extends TPage 
  3.  {
  4.      protected $form;
  5.      function __construct()
  6.     { 
  7.         parent::__construct();  
  8.        
  9.         /////////////////////////////// Criar Objetos        
  10.         $this -> newCampoInput();
  11.         /////////////////////////////// Atribuir valores aos Objetos        
  12.         $this -> atribuirCampoInput();
  13.     }
  14.    function newCampoInput()
  15.      {        
  16.         $id = new TEntry('id');
  17.      }
  18.   function atrCampoInput()
  19.      {
  20.         $id -> setSize(290); "Aqui como eu aplicaco o metodo setSize no objeto id
  21.      }
  22. }
  23. ?>


o Objeto é criado na usando o comando var_damp no objeto id aparece da seguinte forma:

object(TEntry)[75]
public 'id' => null
private 'mask' => null
private 'completion' => null
protected 'name' => string 'id' (length=2)
protected 'size' => null
protected 'value' => null
protected 'editable' => boolean true
protected 'tag' =>
object(TElement)[80]
private 'name' => string 'input' (length=5)
private 'properties' =>
array (size=1)
'class' => string 'tfield' (length=6)
protected 'children' => null
private 'useLineBreaks' => boolean true
private 'useSingleQuotes' => boolean false
private 'validations' (TField) =>
array (size=0)
empty


PD

Alexon,

O objeto não é criado dentro do método construtor, ele é criado no método newCampoInput(), e só existe lá dentro por que foi armazenado em uma variável local chamada $id. Siga a dica anterior, armazene o objeto em um atributo da classe ($this->id).

um abraço,
Pablo