想用CI框架做个网站,有以下几个需求:

1.前后端完全分离,前台和后台都使用JSON格式接口进行数据交换;

2.不管是前台还是后台,其前端和后端都是独立的一个项目。

不知道这个怎么实现,希望各位大牛指点以下

回复内容:

想用CI框架做个网站,有以下几个需求:

1.前后端完全分离,前台和后台都使用JSON格式接口进行数据交换;

2.不管是前台还是后台,其前端和后端都是独立的一个项目。

不知道这个怎么实现,希望各位大牛指点以下

第一点,一般情况下,Controller经过一系列数据库CRUD得到需要显示的数据,载入前端模板文件,再由模板文件渲染数据最终显示出来完整的HTML页面。要实现你说的方式,需要改变Controller的行为:把CRUD得到的数据转化为json格式,直接print出来。同时前端每个静态页面通过ajax请求不同的Controller得到需要的json数据,用javascript把数据放置到html页面中的各个位置,最终显示完整HTML页面。

第二点,前后端都是独立的一个项目,可以简单理解为模块化,前端,后端,甚至是Blog部分,留言部分,新闻部分,分类部分,都是一个独立的模块。CI本身不经过重载核心文件实现这个功能比较麻烦,最简单的方法是使用CI的HMVC插件,把每一个功能做成独立的模块,每个模块中都含有独立的MVC部分。这样在文件组织结构方面,每个模块的代码可以放在各自独立的文件夹中。另外在数据库设计方面,每个模块尽量使用各自独立的数据表。各模块间的设计也尽量采用松散耦合模式。

提供一个方案:分成四个application

后端api 提供业务逻辑封装数据处理

后台ui 渲染视图,提供操作界面与后端api交互

前台ui 渲染视图,提供操作界面与后端api交互

前端 在前台和后端api之间做桥梁

我们现在的方案是h5+Java springmvc。使用swagger oai统一接口规范,前后分离开发,前端未使用webpack等编译型js,后端未使用试图模板。后端未有专业测试,swagger ui代劳。前端用了一个mock server。

如果你使用oai定义restful api,swagger可以直接生成后端前端的接口代码,也有0code 的swagger-server当前端mock server。后端springmvc也有全自动的restful测试工具。

当然你需要先写oai,同类的文档还有api blueprint

看你的项目是否需要SEO,需要SEO的话最好还是别分离。

分离的话也就是后台实现RESTful API,前台ajax加载就行了。

CI框架可以不用写View部分,Controller的每一个public函数就可以看做API的调用接口。

前台可以选择一个UI框架+ajax来获取数据。

当然ajax获取的数据是没有办法被搜索引擎发现的(其实通过某些办法也是可以的),同时用ajax获取数据做展示的时候需要考虑浏览器的前进后退逻辑。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php的ci框架前后台分离,基于CodeIgniter框架的前后端完全分离开发相关推荐

  1. 学科投票系统-基于Python-Django实现的前后端分离项目

    学科投票系统-基于Python-Django实现的前后端分离开发 作者:代昌松 项目详情代码请参考: vote_api:https://gitee.com/dcstempt_ping/vote_api ...

  2. 基于SSM+SpringBoot+Vue前后端分离的高校大学生毕业设计管理系统

    大家好,很高兴和大家分享源码.不管是什么样的需求.都希望各位计算机专业的同学们有一个提高. 大家可以通过常用的搜索引擎,以百度为例,搜索 源码乐园 code51 ,然后再次搜索 自己想要的即可.更多的 ...

  3. 基于vue springboot的前后端分离的化妆品商城

    基于vue springboot的前后端分离的化妆品商城 技术介绍 后端: springboot mybatis ORM框架 mysql数据库 redis分布式缓存 Druid数据库连接池 前端: V ...

  4. vue和Java做数据交互_基于vue和springmvc前后端分离,json类接口调用介绍

    基于vue和springmvc前后端分离,json类接口调用介绍 版本要求:spring-3.2.9.RELEASE.vue-2.9.2.axios-0.17.1,其中axios作为http clie ...

  5. 前后端分离架构:Web 实现前后端分离,前后端解耦

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 blog.csdn.net/fuzhongmin05 推荐:https://ww ...

  6. 前后端混合开发模式和前后端分离开发模式

    前后端混合开发模式和前后端分离开发模式 一.前后端混合开发模式 二.前后端分离开发模式

  7. 基于ci框架 php商城,如何基于CodeIgniter框架实现购物车功能

    这篇文章主要介绍了基于CI(CodeIgniter)框架实现购物车功能的方法,结合实例形式分析了CodeIgniter框架购物车功能类的定义及数据库建立相关sql命令,需要的朋友可以参考下 本文实例讲 ...

  8. 图解基于 Node.js 实现前后端分离 - CSDN博客

    因为会上出了个意外,ppt图片全部丢失,只好对着白板跟大家交流了半个多小时.由于我做演讲不喜欢写太多的文字,没有图片的情况下讲漏了一些内容.这篇文章是我在会上分享内容对照ppt进行地整理. 基本介绍 ...

  9. hibernate oracle 读写分离_ASP.NET CORE 国产最火前后端完全分离框架BCVP

    BCVP(Blog.Core&Vue Project)是.NET界开箱即用的企业级前后端分离[ .NET Core3.1 Api + Vue 2.x + RBAC]权限框架,由国内微软MVP& ...

最新文章

  1. 用户家目录下的隐藏文件
  2. 企业中数据中心管理者地位的逆袭
  3. HTML学习笔记06-连接
  4. 在你们看来,信息网络的定级如何才能更好的发展?或者说有什么影响因素使得定级工作不好开展?
  5. HDU 4422 The Little Girl who Picks Mushrooms(简单题)
  6. Matlab--colorbar的各项细节操作
  7. Unity手游之路三 基于Unity+Java的聊天室源码
  8. 【java基础知识】连接mysql的工具类编写
  9. dmol3给定关键字不在字典中_Materials Studio自学系列——软件安装常见问题及解决方法...
  10. python窗口怎么显示我输入的_Python分别用两个窗口显示和输入
  11. STORM之ITridentSpout、FirstN(取Top N)实现、流合并和join
  12. rpc接口和http接口的区别和联系1 什么是http接口http接口是基于http协议的post和get接口。2 什么是rpc接口rpc接口就相当于调用本地接口一样调用远程服务的接口。
  13. 在html中使用rect函数,HTML canvas rect()用法及代码示例
  14. 【人工智能】180页PPT,讲解人工智能技术与产业发展
  15. Android自定义方式设置drawableleft图片大小
  16. docker离线包制作
  17. QGIS入门级介绍——一个开源地理信息系统
  18. js实现表格按行滚动
  19. python雷达图详解_Python基础教程 - matplotlib实现雷达图和柱状图
  20. English Learning - L2 语音作业打卡 复习双元音 [eɪ] [aɪ] [aʊ] [əʊ] [ɔɪ] [ɪə] [ʊə] [eə] Day39 2023.3.31 周五

热门文章

  1. bigrats-go——硕鼠Linux版(Bigrats for Linux)
  2. 课程发布-课程大纲和课程发布
  3. 腾讯视频QVL格式转MP4格式
  4. tsm备份mysql_TSM备份工具基本命令使用介绍
  5. win10 安装虚拟机提示 主IP地址显示网络信息不可用
  6. 如何设计一个公司级别的消息通知系统?
  7. 计算机科学与技术大学排名2019,2019计算机大学排行_计算机科学与技术专业大学排名-2018-2019计算机科学...
  8. 如何真正系统地练好吉他横按
  9. 【安信可ESP32语音开发板专题②】ESP32-Audio-Kit 开发板适配百度dueros例程实现在线语音功能,与开发板对话聊天。
  10. 如何用TestNG满足开发自测?