[英]php oop and mysql
我需要获取数据,以检查并发送给db。 用PHP OOP编程。
您能告诉我我的班级结构是否良好,以及如何分配所有数据吗? 谢谢
<?php
class Database{
private $DBhost = 'localhost';
private $DBuser = 'root';
private $DBpass = 'root';
private $DBname = 'blog';
public function connect(){
//Connect to mysql db
}
public function select($rows){
//select data from db
}
public function insert($rows){
//Insert data to db
}
public function delete($rows){
//Delete data from db
}
}
class CheckData{
public $number1;
public $number2;
public function __construct(){
$this->number1 = $_POST['number1'];
$this->number2 = $_POST['number2'];
}
function ISempty(){
if(!empty($this->$number1)){
echo "Not Empty";
$data = new Database();
$data->insert($this->$number1);
}
else{
echo "Empty1";
}
if(!empty($this->$number2)){
echo "Not Empty";
$data = new Database();
$data->insert($this->$number2);
}
else{
echo "Empty2";
}
}
}
class DisplayData{
//How print all data?
function DisplayNumber(){
$data = new Database();
$data->select();
}
}
$check = new CheckData();
$check->ISempty();
$display = new DisplayData()
$display->DisplayNumber();
?>
那是一段可怕的代码。
Database::insert()
等必须是一名真正的魔术师才能猜测应该在何处插入其参数 我认为您在这里出了错。 您正在构造的是对已经存在的数据库函数的包装。 事实是,那些已经定义为完全可以实现您想要的功能的方法-此处的面向对象方法没有真正的目的,因为它只能连接到一个数据库,并且这些方法的定义不是很好,并且似乎只是传递给数据库。底层。
正如其他人提到的那样,您似乎要在此处使用的代码不适合您的目的。 诸如PDO之类的东西将很好地为您服务,并且它已经内置在PHP中。 您不需要为访问数据库之类的通用代码而费力工作。
学习一些核心的面向对象原理也将对您有好处-首先看一下封装和代码重用。 在将来您必须维护编写的代码时,它们将为您提供帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.