小白求指点:这样的代码结构如何样优化呢
程序员文章站
2022-05-18 23:40:28
...
小白求指点:这样的代码结构怎么样优化呢?
我是这样设计的:一个是数据库连接文件 db.conn.php 一个自定义函数文件 config.inc.php
db.conn.php:
config.inc.php:
在用户前台 引用进这些文件 然后进行输出交互等操作..
这里面我目前就觉着 我每次自定义个函数 都要 global $conn 来引用,有没有更好的办法来设计?
整个网页设计有没有更好的设计方式呢(CMS就不要推荐了)
求做过大项目的大神指点指点..
------解决思路----------------------
从 mysqli 继承一个 db 类
提供:
count 属性,用于返回影响的条数
fetch 方法,传入查询指令,返回一维数组
fetchall 方法,传入查询指令,返回二维数组
exec 方法,用于执行非查询类指令
基本就够了
------解决思路----------------------
学会封装代码,将mysql模块封装,其它需要用的地方,引用这个文件,直接调用封装的接口。
我是这样设计的:一个是数据库连接文件 db.conn.php 一个自定义函数文件 config.inc.php
db.conn.php:
$db_host = 'localhost';
$db_user = '*****';
$db_password = '*******';
$db_database = '******';
$conn = new mysqli($db_host, $db_user, $db_password, $db_database);
mysqli_query($conn, "set names 'utf8'");
if(mysqli_connect_errno()){die('数据库连接失败: ' . mysqli_connect_error());}
$site_data = $conn->query("SELECT * FROM `dh_member_control` WHERE `id`=1");
$site = mysqli_fetch_array($site_data);
?>
config.inc.php:
function marrbase(){
if(isset($_COOKIE["uname"]) && isset($_COOKIE["uid"])){
global $mbase;
global $conn;
$mql = "select * from dh_member where `id`=" . $_COOKIE["uid"] . " and `mck`=1";
$mbase_data = mysqli_query($conn, $mql);
$mbase = mysqli_fetch_array($mbase_data);}
else{exit();}
}
function login_log($muid){
if (empty($muid)){exit();}
else {
global $conn;
$lql = "INSERT INTO `dh_mllog` (`uid`,`ltime`,`lip`,`lptxt`) VALUES (". $muid .",'". date("Y-m-d H:i:s") ."','". getIPaddress() ."','". getIPS138(getIPaddress()) ."')" ;
if (!mysqli_query($conn, $lql)){die(mysqli_error());exit();}}
}
function memberislogin($back = NULL){
if(!isset($_COOKIE["uname"]) || !isset($_COOKIE["uid"])){echo ""; exit();}
else {
global $conn;
$login_check = mysqli_query ("SELECT * FROM `dh_member` WHERE `id`=". $_COOKIE["uid"] ." AND `mck`=1");
if(!mysqli_num_rows($login_check)){echo ""; exit();}}
}
.....等等自定义函数
在用户前台 引用进这些文件 然后进行输出交互等操作..
这里面我目前就觉着 我每次自定义个函数 都要 global $conn 来引用,有没有更好的办法来设计?
整个网页设计有没有更好的设计方式呢(CMS就不要推荐了)
求做过大项目的大神指点指点..
------解决思路----------------------
从 mysqli 继承一个 db 类
提供:
count 属性,用于返回影响的条数
fetch 方法,传入查询指令,返回一维数组
fetchall 方法,传入查询指令,返回二维数组
exec 方法,用于执行非查询类指令
基本就够了
------解决思路----------------------
学会封装代码,将mysql模块封装,其它需要用的地方,引用这个文件,直接调用封装的接口。
相关文章
相关视频
上一篇: 浅谈GRASP软件开发模式