Heim >Backend-Entwicklung >PHP-Tutorial >小白求指点:这样的代码结构如何样优化呢

小白求指点:这样的代码结构如何样优化呢

WBOY
WBOYOriginal
2016-06-13 12:20:07869Durchsuche

小白求指点:这样的代码结构怎么样优化呢?
我是这样设计的:一个是数据库连接文件 db.conn.php 一个自定义函数文件 config.inc.php 

db.conn.php:

<?php<br />$db_host = 'localhost';<br />$db_user = '*****';<br />$db_password = '*******';<br />$db_database = '******';<br />$conn = new mysqli($db_host, $db_user, $db_password, $db_database);<br />mysqli_query($conn, "set names 'utf8'"); <br />if(mysqli_connect_errno()){die('数据库连接失败: ' . mysqli_connect_error());}<br />$site_data = $conn->query("SELECT * FROM `dh_member_control` WHERE `id`=1");<br />$site = mysqli_fetch_array($site_data);<br />?>


config.inc.php:

function marrbase(){<br />if(isset($_COOKIE["uname"]) && isset($_COOKIE["uid"])){<br />global $mbase;<br />global $conn;<br />$mql = "select * from dh_member where `id`=" . $_COOKIE["uid"] . " and `mck`=1";<br />$mbase_data = mysqli_query($conn, $mql);<br />$mbase = mysqli_fetch_array($mbase_data);}<br />else{exit();}<br />}<br /><br />function login_log($muid){<br />if (empty($muid)){exit();}<br />else {<br />global $conn;<br />$lql = "INSERT INTO `dh_mllog` (`uid`,`ltime`,`lip`,`lptxt`) VALUES (". $muid .",'". date("Y-m-d H:i:s") ."','". getIPaddress() ."','". getIPS138(getIPaddress()) ."')" ;<br />if (!mysqli_query($conn, $lql)){die(mysqli_error());exit();}}<br />}<br /><br />function memberislogin($back = NULL){<br />if(!isset($_COOKIE["uname"]) || !isset($_COOKIE["uid"])){echo "<script>alert('没有登录');window.location.href=\"/member/login.php?backurl=". $back ."\";</script>"; exit();}<br />else {<br />global $conn;<br />$login_check = mysqli_query ("SELECT * FROM `dh_member` WHERE `id`=". $_COOKIE["uid"] ." AND `mck`=1");<br />if(!mysqli_num_rows($login_check)){echo "<script>window.location.href=\"/member/login.php?backurl=". $back ."\"</script>"; exit();}}<br />}<br />.....等等自定义函数<br />


在用户前台 引用进这些文件 然后进行输出交互等操作..

这里面我目前就觉着 我每次自定义个函数 都要 global $conn 来引用,有没有更好的办法来设计?
整个网页设计有没有更好的设计方式呢(CMS就不要推荐了)
求做过大项目的大神指点指点..

------解决思路----------------------
从 mysqli 继承一个 db 类
提供:
count 属性,用于返回影响的条数
fetch 方法,传入查询指令,返回一维数组
fetchall 方法,传入查询指令,返回二维数组
exec 方法,用于执行非查询类指令
基本就够了


------解决思路----------------------
学会封装代码,将mysql模块封装,其它需要用的地方,引用这个文件,直接调用封装的接口。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn