为了账号安全,请及时绑定邮箱和手机立即绑定

PHP如何和HTML代码分离?

PHP如何和HTML代码分离?

慕雪6442864 2018-09-16 09:10:55
<?phpinclude "db.php";if(isset($_POST["category"])){    $category_query = "SELECT * FROM categories";    $run_query = mysqli_query($con,$category_query);     echo "    <div class='nav nav-pills nav-stacked'>    <li class='active'><a href='#'><h4>Categories</h4></a></li>    ";if(mysqli_num_rows($run_query)>0){            while($row = mysqli_fetch_array($run_query)){            $cid = $row["cat_id"];            $cat_name = $row["cat_title"];            echo "<li><a href='#' class='category' cid='$cid'>$cat_name</a></li>            ";        }        echo "</div>";    }}?>//JS$(document).ready(function() {    cat();    function cat() {        $.ajax({                url: 'action.php',                type: 'POST',                data: {                    category: 1                }            })            .done(function(data) {                //console.log(data);                $("#get_category").html(data);            });    }})php是小白,有没有办法前后端分离,把echo的HTML代码返回json的格式给前端处理?
查看完整描述

1 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

寥寥几行代码就可以分离界面和逻辑,实现MVC:

/index.php (页面控制器)

if(!defined('ROOT')) define('ROOT', __DIR__);

require ROOT.'/include/common.php';

echo render('index.php'); //输出HTML

echo json_encode(array('Server'=>'PHP')); //输出JSON


/include/common.php (公共操作)

if(!defined('ROOT')) exit();

require ROOT.'/include/funclass.php';


/include/funclass.php (函数和类)

if(!defined('ROOT')) exit();

function render($view) {

    ob_end_clean(); ob_start();

    require ROOT.'/view/'.$view;

    $html = ob_get_contents();

    ob_end_clean(); ob_start();

    return $html;

}


/view/index.php (视图)

require __DIR__.'/header.php'; //if(!defined('ROOT')) exit();

require __DIR__.'/footer.php'; //JS代码一般写在footer.php里</body>前面


查看完整回答
反对 回复 2018-10-08
  • 1 回答
  • 0 关注
  • 1376 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信