[英]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.