为中小型SPA应用提供Restful API的MSR型PHP微框架(spa 应用)

网友投稿 960 2022-10-12

为中小型SPA应用提供Restful API的MSR型PHP微框架(spa 应用)

为中小型SPA应用提供Restful API的MSR型PHP微框架(spa 应用)

Rotor V3使用手册

#0简介

rotor--一个为中小型SPA应用提供Restful API的MSR型PHP微框架。(MSR M:模型层;S:业务逻辑层;R:路由分发层) rotor并不算是真正的框架,意义上来说用“PHP项目脚手架”来描述会更合适。 rotor适合那些有原生PHP基础,却对TP,YII,laravel等MVC框架开发模式不熟悉的开发者。它友好地提供一个文件规范、代码逻辑易维护、类MVC模式的目录架构,使初级开发者在做项目时可以抛弃页面功能逻辑与页面布局样式耦合的开发模式,减少开发和维护成本,且熟悉这种开发模式之后,可以迅速上手MVC框架。

#1起步

rotor根目录下有4个文件目录和2个文件,分别为app,core,libs和static四个目录文件与数据交互层api.php,前端index.html两个文件

#2入门

1.前后端分离

前端只一个html文件,通过ajax访问api.php来跟后端进行数据交互,业务逻辑类文件皆放在app目录下,统一采用OOP编程模式来封装业务逻辑代码,数据交互统一采用json格式。

### 2.目录文件

`#rotor 根目录文件

#app

放置业务逻辑类文件。 app |-config(配置文件) |---DBconf.php(数据库配置文件) |---DBware.php(数据库操作的中间件类) |-Model(模型文件) |---Posts.php(Posts表模型) |-Service(业务文件) |---Index.php(Index业务) |-Route.php(路由文件)

#core 框架的核心文件,不可改动,

#libs 放置第三方类库和自定义类文件

#static 放置静态资源文件(css、js、image)

#api.php 后端的入口文件,框架的启动文件,前端发起的资源请求都经过此处进行路由转发执行相对应的业务逻辑

#index.html 前端文件

3.数据库配置

数据库配置文件为app目录下的config文件夹里的DBconf.php,按照里面的格式填写参数即可。

'', //数据库地址 'server' => '', //数据库用户名 'username' => '', //数据库密码 'password' => '', //字符串类型 'charset' => 'utf8', );

4.路由自定义

最基本的 路由只接收一个 URI 和一个闭包,并以此提供一个非常简单且优雅的定义路由方法:

get('rotor',function(){ echo "get i am rotor"; });

有时我们需要在路由中捕获 URI 片段。比如,要从 URL 中捕获用户ID,需要通过如下方式定义路由参数:

post('login',function($id = 123){ echo "the user id is {$id}"; });

对于指定的路由执行相对的业务逻辑方法如下:

post('hello',function(){ \app\Service\Index::getInstance()->hello(); });

请求的路由方式主要为4种:get、post、delete、put,这对应了Restful风格的4种请求状态,详细可以查询相关资料进行了解。

5.业务类

最基本的业务类格式如下:(Index模块类为例子)

*{ padding: 0; margin: 0; } .think_default_text{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }



Rotor



为专注于前后端分离而生——
一个为中小型SPA应用提供Restful API的MSR型PHP微框架

'; }else{ _json(400,'无效请求',['name' => 'Rotor']); } }}

6.数据库操作

数据库操作支持链式结构和原生sql两种。先调用DBware::connDB()赋给变量:$db=DBware::connDB(), #链式结构操作 ##增

'nero', "click_num" => 45 ]; $db->form('表名')->insert($a);

###删

form('表名')->where('username="der"')->delete();

###改

'marcus', "click_num" => 45 ]; $db->form('表名')->where('id=1')->save($a);

###查

form("表名")->where('id=1')->select(); echo $a->click_num;

#原生sql操作操作

query("SELECT * FROM 表名 WHERE 字段=值");

调用前得先引入app目录下的config文件夹里的DBware类文件(use config/DBware)。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:X,X11,XFREE,WM,KDE,GNOME(转贴-写的超好)
下一篇:QT4编译问题(持续更新)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~