我發現一個組織是混合PHP和HTML的主要問題,它看起來很可怕,所以我想知道是否可以創建一組面向對象的方法因爲這樣:在將PHP和HTML混合時集成Clean代碼
class MainOO {
public $Database;
public function __construct($Server,$User, $Password, $DB){
if ($this->Database = new mysqli($Server,$User,$Password,$DB)){
return true;
}
return false;
}
public function User_Login(){
$Get_Usr_Info = $this->Database->prepare("SELECT ID, Password, Salt FROM Users WHERE Username=?");
$Get_Usr_Info->bind_param('s',$_POST['username']);
$Get_Usr_Info->execute();
$Get_Usr_Info->store_result();
$User_Number = $Get_Usr_Info->num_rows;
$Get_Usr_Info->bind_result($UserID, $Stored_Password, $Stored_Salt);
$Get_Usr_Info->fetch();
$Get_Usr_Info->close();
if ($User_Number !== 1){
$Error = "Wrong Username Specified Or Password Is Incorrect";
header ("Location: index.php?Errors=".urlencode($Error));
exit;
}
// Continue with login script
}
public function Logout(){
if (session_status() !== PHP_SESSION_DISABLED){
session_destroy();
header ("Location: LoggedOut.php");
exit;
}
}
}
然後HTML端:
<?php
include "MainOO.php";
$MainOO = new MainOO("host","user","password","database");
?>
<div class="example">
<div class="example left">
<?php
$MainOO->User_Login();
?>
</div>
</div>
它仍然混合PHP & HTML,但它使看起來非常的地獄要比擁有HTML的中間PHP堆整潔。
我完全意識到我可以遷移到已經設置的MVC框架(這個主題看起來像),甚至使用模板引擎如smarty,但我想盡可能地避免這種情況。那麼這是一個可行的選項,在PHP中使用整潔的PHP代碼?
是....... ...... – user2092317
它的作品,對吧?據你看,它看起來更好,對吧?你意識到更好的選擇......我不確定要添加什麼。 – deceze
是的我很完美 –