怎么在Bootstrap中集成PHP ThinkPHP框架

秋晨酱_5522

秋晨酱_5522

2026-11-16

988人浏览

原创

ThinkPHP 的 public 目录是 Bootstrap 资源唯一合法落点,静态文件须放 public/static/ 下并用绝对路径引用;模板需继承 layout 统一引入 CSS/JS;表单与分页必须用 url() 函数生成地址;自定义分页应重写渲染模板而非修改源码。

怎么在bootstrap中集成php thinkphp框架

ThinkPHP 的 public 目录是 Bootstrap 资源的唯一合法落点

Bootstrap 的 CSS、JS、字体等静态资源不能放在 application/ 或 runtime/ 下,否则会被路由拦截或暴露敏感路径。所有前端文件必须放进 public/ 目录(ThinkPHP 5+ 默认入口目录),这是唯一被 Web 服务器直接服务的公开路径。

常见错误现象:GET http://localhost/static/css/bootstrap.min.css 404,本质是路径没对齐到 public/static/;或者误把 bootstrap.min.js 放进 view/ 模板里导致多次加载、$ 冲突。

  • 正确做法:在 public/ 下建 static/bootstrap/,把 bootstrap.min.css 和 bootstrap.bundle.min.js 放进去
  • HTML 中引用必须用绝对路径前缀:
  • 别用 ./ 或 ../ 开头的相对路径——ThinkPHP 的 URL 重写会让它失效
  • jQuery 必须在 Bootstrap JS 之前加载,且版本要匹配(Bootstrap 5 不再依赖 jQuery,但很多 TP 插件仍需)

模板中用 {__CONTENT__} 套 Bootstrap 布局,别硬写 HTML 结构

ThinkPHP 的模板继承机制({layout name="layout" /})和 Bootstrap 的栅格系统天然契合。直接在 view/layout.html 里写好 .container、.row、.col-md-* 结构,子模板只填业务内容,避免每页重复写响应式容器。

容易踩的坑:在控制器中用 $this->fetch() 加载模板时,如果没指定 layout,或子模板里漏了 {extend name="layout" /},整个 Bootstrap 样式会“突然消失”——其实只是没套上外层容器和 CSS 引用。

btpanel phpsite 宝塔面板PHP网站
btpanel phpsite 宝塔面板PHP网站

宝塔面板 PHP 网站管理:站点创建、删除、启停、PHP 版本切换、域名管理、SSL证书管理、伪静态管理、数据库管理

下载
  • view/layout.html 开头必须有 和 <script></script> 引入,且放在 和 前
  • 子模板第一行写 {extend name="layout" /},第二行开始才是 {block name="content"}...{/block}
  • 不要在子模板里重复引入 Bootstrap,会导致样式覆盖或 JS 初始化两次

表单提交和分页必须用 ThinkPHP 的 url() 函数生成地址

Bootstrap 的

和分页组件(如 .pagination)需要真实可访问的 PHP 路由地址。手写 action="/index.php?s=/user/login" 或 href="?page=2" 在开启 URL 重写后必然 404。

ThinkPHP 的 url() 函数会自动适配当前路由配置(PATHINFO 或兼容模式),是唯一安全的链接生成方式。

  • 表单提交:
  • 分页链接:@#@#@#@#@#@#@#@#@#@0
  • 若使用 Bootstrap 的 JavaScript 分页插件(如 DataTables),需用 AJAX 请求 {:url('User/data')} 接口,后端返回 JSON,而非渲染整页 HTML
  • 注意:TP5.1+ 的 url() 默认不带 index.php,但 Nginx/Apache 配置必须启用重写,否则链接无效

自定义分页样式时,别改 ThinkPHP 的 Page 类源码

ThinkPHP 自带的 think\Paginator 渲染出的是纯

  • @#@#@#@#@#@#@#@#@#@1
  • {/volist}

  • 控制器中调用分页时传入模板:$list->render('common/paginate')
  • 确保 $list 是 Paginator 实例(如 Db::name('user')->paginate(10) 返回的)
  • 别动 thinkphp/library/think/Paginator.php —— 升级时会被覆盖,且违反框架约定
  • 最易被忽略的是:Bootstrap 5 的分页需要 aria-label 和语义化 class,而 ThinkPHP 默认输出没有。不补上这些,会影响可访问性检测和部分自动化测试工具的通过率。

    php免费学习视频:立即使用
    踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

    相关文章

    PHP速学教程(入门到精通)
    PHP速学教程(入门到精通)

    PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    相关专题

    更多
    python是前端还是后端
    python是前端还是后端

    Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

    2023.08.11

    3043

    5

    前端如何实现即时通讯
    前端如何实现即时通讯

    实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

    2023.10.09

    6663

    6

    前端和后端的区别
    前端和后端的区别

    前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

    2024.03.19

    7490

    13

    php和前端的关联介绍
    php和前端的关联介绍

    php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

    2024.03.22

    7418

    10

    前端外包工作内容有哪些
    前端外包工作内容有哪些

    前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

    2024.05.22

    1063

    5

    php文件怎么打开
    php文件怎么打开

    打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

    2023.09.01

    12964

    6

    php怎么取出数组的前几个元素
    php怎么取出数组的前几个元素

    取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

    2023.10.11

    7421

    5

    php反序列化失败怎么办
    php反序列化失败怎么办

    php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

    2023.10.11

    2275

    5

    php怎么连接mssql数据库
    php怎么连接mssql数据库

    连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

    2023.10.23

    4688

    4

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    bootstrap框架基础课程
    bootstrap框架基础课程

    共28课时 | 5.6万人学习

    兄弟连张诚UI教程Bootstrap视频教程
    兄弟连张诚UI教程Bootstrap视频教程

    共21课时 | 5.6万人学习

    后盾网BootStrap视频教程
    后盾网BootStrap视频教程

    共20课时 | 5.2万人学习