Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola Amigos Imaster's, boa noite.
To fazendo uma agenda de contatos todo OOP, e semana passada fiz uma implementação de configuração vindo do banco de dados.
Abaixo um pedaço do COD e mais abaixo a dúvida.
// index.php
include "autoload.php";
$ObjConfig2->SelectConfigDb("dirSystem");
// autoload.php
$ObjConexao = new Conexao();
$ObjConfig2 = new Config2($ObjConexao->db);
function __autoload($class){ include_once("class/{$class}.class.php");
}// Config2.class.php
class Config2 {
public function __construct($conn) {
$this->conn = $conn;
// $this->type = $type;
}
public function SelectConfigDb($setting="dirSystem", $type="print") {
$query = $this->conn->query("SELECT * FROM config WHERE setting='{$setting}' ");
foreach($query as $dados) {
$value = $dados['value'];
if($type == "return") {
return $value;
}
else {
print "{$value}";
}
}
}
}
Agora explico um pouco do que estou precisando.
Dessa forma esta funcionando numa boa.
Antes o COD estava dessa forma
// index.php
include "autoload.php";
$ObjConfig2->SelectConfigDb($ObjConexao->db);
$ObjConexao = new Conexao();
$ObjConexao->Conectar();
$ObjConfig2 = new Config2("dirSystem");
// Config2.class.php
class Config2 {
public function __construct($setting="dirSystem", $type="print") {
$this->setting = $setting;
$this->type = $type;
}
public function SelectConfigDb($conn) {
$query = $conn->query("SELECT * FROM config WHERE setting='{$setting}' ");
foreach($query as $dados) {
$value = $dados['value'];
if($this->type == "return") {
return $value;
}
else {
print "{$value}";
}
}
}
}
A questão é o seguinte amigos, antes (2º COD) eu passa o $ObjConexao->db pelo SelectConfigDb "$ObjConfig2->SelectConfigDb($ObjConexao->db);" e o dirSystem pelo new Config2 "$ObjConfig2 = new Config2("dirSystem")", o problema é que ficava um COD um pouco grande, e agora (1º COD) eu passo o "$ObjConexao->db" pelo new Config2, e pra receber no Config2.class.php eu recebo o "$ObjConexao->db" pelo __construct e o restante pelo metodo.
Isso tem algum problema? Ou posso passar tudo pelo __construct?
Bom Amigos, é isso ai, espero que me ajudem.
Vlw
Carregando comentários...