想用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把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

뜨거운 주제



