thinkphp 前后端分離
簡單記錄一下之前學習tp的歷程吧。
前端HTML頁面渲染
<?php
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
public function index()
{
return $this->fetch();
}
}
這樣的話,你需要將你的前端文件放到application/index/view,view文件夾默認是沒有的,需要你自己新建了,如:application/index/view/index.html
前端js/css文件渲染
一般情況js/css文件是放到public/static內,例如我這里將其新建一個admin文件夾(即為/public/static/admin)那么這時候也就是需要在剛才渲染的html內調用,這里可以使用替換
https://www.kancloud.cn/manual/thinkphp5/118120
然后在index這個控制器也就是app/index 同級目錄下新建如下config.php
<?php
return [
'view_replace_str' => [
'__PUBLIC__'=>'/public/static/admin/',
],
];
然后你在前端的html文件當中輸入__PUBIC__就會自動幫你替換成/public/static/admin/
當然,如果你直接__PUBLIC__的話,輸出的是/public/static/admin/ 那么調用css/js文件的時候很可能就是http://localhost:8888/index.php?s=/public/static/admin/ 這樣肯定是沒辦法調用css/js文件的。所以可以如下方案進行解決;
在/public/index.php當中添加一個常量
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// [ 應用入口文件 ]
// 定義應用目錄
define('APP_PATH', __DIR__ . '/../application/');
define('SITE_URL','http://127.0.0.1:8888/');
// 加載框架引導文件
require __DIR__ . '/../thinkphp/start.php';
然后再把剛才的config文件寫出
<?php
return [
'view_replace_str' => [
'__PUBLIC__'=>SITE_URL.'/public/static/admin/',
],
];
這樣的話,__PUBLIC__的值就是http://127.0.0.1:8888//public/static/admin/
然后前端文件當中就可以正常的修改了;
例如
<link rel="stylesheet" href="__PUBLIC__/layui/css/layui.css">