zoukankan      html  css  js  c++  java
  • thinkphp 前后端分离

    thinkphp 前后端分离

    简单记录一下之前学习tp的历程吧。

    前端HTML页面渲染

    <?php
    namespace appindexcontroller;
    use thinkController;
    
    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">
    
  • 相关阅读:
    为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?
    http的响应码200,404,302,500表示的含义分别是?
    说一下 session 的工作原理?
    session 和 cookie 有什么区别?
    什么是 MyBatis?
    SpringMVC 工作原理?
    报表数据填报中的合法性校验
    报表数据填报中的自动计算
    如何用报表工具实现树状层级结构的填报表
    在报表中录入数据时如何实现行列转换
  • 原文地址:https://www.cnblogs.com/nul1/p/12239478.html
Copyright © 2011-2022 走看看