Ir para conteúdo
Fórum Script Brasil
  • 0

passar valor entre classes


Ricardo T. do Prado

Pergunta

model.class.php

class Model {

    protected $db;
    public $_tabela;
    public $_primary_key;

    public function __construct($table_name, $primary_key) {
        
        $this->db = new PDO('mysql: host=localhost; dbname=radioest_radio', 'root', '');
        $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $this->_tabela = $table_name;
        $this->_primary_key = $primary_key;
                
    }
como que faço para passar o valor das variáveis
$this->_tabela = $table_name;
        $this->_primary_key = $primary_key;
um exemplo seria datagrid.class.php
class DataGrid extends Model {

    public $tbName;
    public $pk;
    
    public function __construct() {
        
        $this->tbName = $this->_tabela;
        $this->pk = $this->_primary_key;
       
    }

Só que não passa os valores; Sugestoes?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Se DataGrid é uma extenão de Model você não acessa os elementos de Model a partir do operador de referenciamento "$this->". Você quer acessar os dados de uma classe pai, ou classe genérica. Em PHP, para tal, utilize:

parent::variavel;
Exemplo:
class Teste{
            
            public static $nome="Deu certo!";
                
        }
        class beta extends Teste{
        
            public $aqui;// Observe que eu não uso 'static' aqui, uma vez que essa variável não é estática.
            
            function __construct(){
                $this->aqui = parent::$nome;    
            }
            
            function saida(){
                echo $this->aqui;    
            }
            
        }
        
        $obj = new beta;
        
        $obj->saida();

Confira mais em:

Parent

Editado por 3l3tr1c
Link para o comentário
Compartilhar em outros sites

  • 0

Você ta falando de aninhamento de classes? Tipo uma extends dentro de outra? Classe Avô, pai e filho? o.O

Quanto a sobrescrever o construtor do pai, isso ocorre se você o invocar na extends, e.g.:

class Pai{
     function __construct(){
          instrucoes;
     }
}

class Filho extends Pai{

     function __construct(){
          parent::__construct();// aqui você chama o construtor pai, mas se você não quiser q ele seja alterado, então não invoque-o
     }

}

Editado por 3l3tr1c
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...