在混合PHP和HTML时集成干净的代码
我发现一个组织在混合使用PHP和HTML时存在一个主要问题,它看起来很糟糕,所以我想知道创建一组面向对象的方法是否可行,例如:在混合PHP和HTML时集成干净的代码,php,html,oop,Php,Html,Oop,我发现一个组织在混合使用PHP和HTML时存在一个主要问题,它看起来很糟糕,所以我想知道创建一组面向对象的方法是否可行,例如: class MainOO { public $Database; public function __construct($Server,$User, $Password, $DB){ if ($this->Database = new mysqli($Server,$User,$Password,$DB)){
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,但我希望尽可能避免这种情况。。因此,在html中使用更简洁的PHP代码是可行的吗?您可能也希望在代码中使用isset() e、 g
e、 g如果设置了变量,则显示它,否则不显示任何内容它可以工作,对吗?据你说,看起来好多了,对吧?你知道更好的选择。。。我不确定还有什么需要补充的。我建议只看一看Zend代码样式指南中的错误:PI没有通读整个问题,但是,不推荐使用简短的\u open\u标记,因为默认情况下它们是关闭的。您希望避免未定义的变量通知和警告,这没关系,但建议的方法不是最佳实践