[RESOLVIDO] [DÚVIDA PHP] Classes e métodos

8 respostas
T

Olá, tenho um banco de dados com os campos ID e NOME (para simplificar as coisas), estou tentando fazer uma página em PHP de login. Estou fazendo do mesmo modo (com as devidas alterações) que faço a página em JSP. Mas estou me perdendo em classes e métodos, não conheço muito bem PHP. Gostaria de uma ajuda.

Nesse exemplo, só quero imprimir o nome e ID do que está no banco.

projeto/beans/Usuario

class Usuario{
var $id;
var $nome;

public function setNome($parametro){
global $nome;
$nome = $parametro;
}

public function setId($parametro){
global $id;
$id = $parametro;
}

public function getNome(){
global $nome;
return $nome
}


public function getId(){
global $id;
return $id;
}
}

projeto/connection/Connection

class Connection{
public function getConnection(){
$host = "localhost";
$database = "<nome do banco>";
$user = "<usuario>";
$pass = "<senha>";

pg_connect($host, $database, $user, $pass);
}
}

projeto/dao/UsuarioDAO (acho que o erro está aqui)

<?require '<caminho pro Beans>';?>
<?require 'caminho pro Connection';?>

<?
    class UsuarioDAO{
        
        var $connection = "";
        
        public function UsuarioDAO(){
            global $connection;
            
            $conexao = new ConnectionFactory();
            $connection = $conexao->getConnection();
        }
        
        public function getAll(){
            
            $sql = "select * from Usuario";
            $consult = pg_query($sql);            
            
            $vetor = array();
            
            while($linha = pg_fetch_assoc($consult)){
                $Usuario = new Usuario;
                
                $Usuario->setId($linha['id']);
                $Usuario->setNome($linha['nome']);
                
                $vetor($Usuario); 
            }
            
            return $vetor;                        
        }
    }
?>

e minha página

<?  require '<caminho pro DAO>';?>
<?  require '<caminho pro Usuario>';?>

<?
    $UsuarioDAO = new UsuarioDAO;
    $vetor = array();
    
    $vetor = $UsuarioDAO->getAll();
    
    foreach($linha as $vetor){
        echo $linha['id'];
        echo $linha['nome'];
    }
?>

erro: Warning: require(…/Connection/ConnectionFactory.php): failed to open stream: No such file or directory in /var/www/pasta/DAO/UsuarioDAO.php on line 1 Fatal error: require(): Failed opening required ‘…/Connection/ConnectionFactory.php’ (include_path=’.:/usr/share/php:/usr/share/pear’) in /var/www/pasta/DAO/UsuarioDAO.php on line 1

8 Respostas

dobau

Como a mensagem já diz: Erro ao abrir o arquivo ConnectionFactory (Failed opening required ‘…/Connection/ConnectionFactory.php’). Faltou você colocar em seu post.

T

O que exatamente eu tenho que fazer com esse arquivo ?

dobau

Esse arquivo existe nesse caminho e se existir você tem permissão de leitura sobre ele ?

T

Sim sim … chmod 777 na pasta do projeto inteira

T

Não é permissão. Se eu chamo o método getConnection do meu Index.php, ele funciona, abre conexão e tudo

só da erro quando eu chamo o método getConnection dentro do DAO, e chamo o DAO do Index

T

Era o caminho, estou fazendo com o NetBeans, quando se da Crtl+space, ele mostra os caminhos pra voce seguir, é só dar enter enter, só que esses caminhos são errados ¬¬

coloquei o caminho inteiro, desde /var/…

resolvido

dobau

imaginava isso, mas você falou que estava no caminho correto por isso não questionei mais nada heheheh.

T

está estranho isso, o caminho está correto. Mas não funciona com a opção que o netbeans propôe. Só com o caminho completo completo mesmo.

Criado 22 de junho de 2011
Ultima resposta 22 de jun. de 2011
Respostas 8
Participantes 2