Arquivado
Este tópico foi arquivado e está fechado para novas respostas.
phpoo duvida php + oreitanção a objetos
Por
junior almeida, em PHP
Recommended Posts
-
Conteúdo Similar
-
Por Paulo Correia
Tenho uma dúvida, ou acho que estou fazendo errado (rsrsrsrs).
Seria assim, numa classe que seria a Pai (em arquivo separado) eu teria
o construct que faria os setters numas váriaveis private, mais ou menos
assim:
<?
namespace UmNomeQualquer;
class Pai {
protected $_var;
public function __construct($var) {
$this->_var = $var;
}
}
?>
E numa outra que seria a Filha(o) (em arquivo separado) eu leria esta
variável, certo?
<?
namespace UmNomeQualquer;
class Filha extends Pai {
public function mostra() {
return $this->_var;
}
}
?>
Mas quando eu vou testar dá erro falando que não passei todos os
argumentos ao construtor:
<?
include "pai.php";
include "filha.php";
use Nome\Pai;
use Nome\Filha;
$pai = new Pai("123");
$filha = new Filha();
echo $filha->mostra();
?>
Mensagem de erro:
PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to
function Nome\Pai::__construct(), 0 passed in test.php on line 11 and
exactly 1 expected in pai.php:8
Stack trace:
#0 test.php(11): Nome\Pai->__construct()
#1 {main}
thrown in pai.php on line 8
Onde estou errando??
Não é para não repetir o código, (DRY), isto não inclui as variáveis??
Desde já agradeço,
Paulo
-
Por Misael Silva
Olá, membros do forum, gostaria de saber de um livro de PHP que ensina-se a desenvolver códigos php de um loja virtual, um e-commerce, ate encontrei esse livro https://www.thiengo.com.br/e-commerce-com-php-e-mysql, porém descobri que não é orientado a objeto, um ponto que ficou a desejar, vocês tem dicas de outros livros semelhantes? Agradeço!
-
Por marcelobbt
Comecei a aprender PHP por conta própria e estudei diversos materiais. Com o tempo comecei a usar a programação orientada a objetos, ou pelo menos achei que estava usando. De uns tempos para cá, comecei a ficar em dúvida se estaria fazendo da forma correta. Então busquei outros materiais, revi os antigos e veio uma dúvida que não consegui resposta e gostaria de saber se podem me ajudar.
Quando pego uma série de registros de um banco de dados, devo coloca-los num único objeto, ou criar um objeto para cada registro?
Para clarear minha pergunta segue mais detalhes de como faço até hoje.
Eu utilizo o CodeIgniter e então criei um model chamado CRUD onde obtenho os valores desejados de qualquer tabela do banco de dados, por exemplo, usando a função abaixo:
public function SelecionaTodos ($tabela) { return $this->db->get($tabela); } Até este ponto está tudo num único objeto. Mas vamos dizer que vou trabalhar com os dados da tabela "aluno". Então queria pegar os dados que essa função retorna e jogar na classe Aluno para fazer as rotinas do sistema. Aí que vem a dúvida se devo jogar os valores todos como um array, ou crio um objeto para cada registro retornado, enfim, gostaria de ouvir a opinião dos especialistas ou mais experientes.
-
Por Will871
Boa tarde, galera.
Sou novato no PDO, e estou tendo uma dúvida sobre como receber a variável de conexão do banco de dados em um método.
Tenho o seguinte código:
banco.php
<?php try { $BD_host = "localhost"; $BD_banco = "jacyfash_loja"; $BD_usuario = "root"; $BD_senha = ""; $conn = new PDO("mysql:host=".$BD_host.";dbname=".$BD_banco, $BD_usuario, $BD_senha); } catch (PDOException $i) { die("Erro: <code>" . $i->getMessage() . "</code>"); } usuario.php
<?php require_once 'banco.php'; class valida{ function login(){ } function cadastro(){ $nome = $_POST['nome']; $usuario = $_POST['usuario']; $email = $_POST['email']; $senha = $_POST['senha']; $sql = "INSERT INTO cliente(nome, usuario, email, senha) VALUES(:nome, :usuario, :email, :senha)"; //===================================================================================== //Sempre que tento acessar o $conn de dentro de uma function ele retorna erro dizendo que a variável não existe. ( Erro: Undefined variable: conn) //===================================================================================== $stmt = $conn->prepare($sql); $stmt->bindParam(':nome', $nome ); $stmt->bindParam(':usuario', $site ); $stmt->bindParam(':email', $email); $stmt->bindParam(':senha', $senha); } function bloqueio(){ } } Já pesquisei muito sobre como fazer isso, mas não consegui nada. Se alguém puder ajudar, agradeço. ^^
-
Por Emanuel Raul
Olá... Comecei hoje a estudar PHPOO por conta própria, e já me deparei com uma dúvida.
Qual a maneira correta de nomear as classes no PHP? NomeDaClass.php ou NomeDaClasse.class.php?
Se for possível alguém me explicar se existe alguma diferença entra ambas eu agradeço desde já.
Um Abraço...
-