Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal do Imasters!
Com experiência básica em POO e utilizando pela primeira vez em PHP5, gostaria de pedir-lhes que, se possível, olhassem este código e esclaressem a dúvida.
Para quem está procurando alguma referência, vale lembrar que neste código não existe nenhum tipo de tratamento de dados, portanto não é aconselhado utilizá-lo como apresentado. Exige importantes mudanças no âmbito de segurança.
MySQL.class.php Classe para a conexão com o banco de dados
class MySQL
{
private $connection;
private $database;
function __construct($host, $user, $password, $database)
{
$this->connection = mysql_connect($host, $user, $password);
$this->database = mysql_select_db($database,$this->connection);
}
function runQuery($query)
{
$runQuery = mysql_query($query) or die (mysql_error());
return $runQuery;
}
}
Link.class.php Classe Link que herda as funcionalidades da classe MySQL (em POO define como Herança)
class Link extends MySQL{
var $nome;
function __construct($pnome){
$this->nome = $pnome;
}
function inserir(){
$mySQL = new MySQL('localhost','root','root','atendimento');
$mySQL->runQuery("INSERT INTO teste(nome) VALUES ('$this->nome')");
print ("Cadastrado!");
}
function excluir(){
$mySQL = new MySQL('localhost','root','root','atendimento');
$mySQL->runQuery("DELETE FROM teste WHERE nome='$this->nome'");
print ("Excluído!");
}
function alterar($ID){
$mySQL = new MySQL('localhost','root','root','atendimento');
$mySQL->runQuery("UPDATE teste SET nome = '$this->nome' WHERE id = '$ID'");
print ("Alterado!");
}
function select(){
$mySQL = new MySQL('localhost','root','root','atendimento');
$rsLinks = $mySQL->runQuery("SELECT * FROM teste WHERE nome='$this->nome'");
$row_rsLinks = mysql_fetch_assoc($rsLinks);
$totalLinks = mysql_num_rows($rsLinks);
if($totalLinks > 0) {
do { echo $row_rsLinks['id']; } while($row_rsLinks = mysql_fetch_assoc($rsLinks)); // Término do loop
}else { echo "Não foi possivel!\n"; }
}
}
Até aqui, a minha dúvida é a seguinte:
1) Há necessidade de instanciar um objeto do tipo MySQL em cada método da classe Link que necessite de conexão com o banco de dados?
O meu estudo é utilizar POO em formulários HTML e esta difícil de encontrar uma referência na internet.
form.php Formulário.
<?
require('MySQL.class.php');
require('Link.class.php');
?>
<html>
<body>if(!isset($_POST["enviar"])){ ?>
<form name="form" action="form.php" method="post">
<label>Nome:</label> <input type="text" name="nome" /><br /><br />
<input type="hidden" name="enviar" value="enviar" />
<input type="submit" value="Confirmar" />
</form> $nome = $_POST["nome"];
$novo_link = new Link($nome);
$novo_link->inserir();
}
?>
</body>
</html>
Pretendo compartilhar meus estudos aqui no Imasters, talvez seja de ajuda para aqueles que possuem a mesma dúvida.
Aberto a sugestões.
Abraços.
Carregando comentários...