PS:原创文章,如需转载,请注明出处,谢谢!
本文地址:http://flyer0126.iteye.com/blog/2113460
经同事推荐,了解到Slim框架,Slim是一个PHP的轻量级的框架,基于路由机制实现Restful服务。而NotORM是轻量级的ORM框架,用来简化与数据库之间的交互,处理表关联关系非常的简单,另外其性能也非常高,甚至超过内置的驱动。
到各自官网下载zip包,解压到项目根目录引用即可使用(NotORM前提需要满足pdo扩展)。
配置Slim自定义路由时,发现有些带参数请求报“404错误”,原因后来发现原因是由于网站Nginx配置需要满足可rewrite,修正设置如下即可解决。
location / { index index.php index.html index.htm; try_files $uri $uri/ /index.php?$uri&$args; }
解决PDO中文乱码问题:
$pdo->query('SET NAMES utf8'); // 设置数据库编码
解决页面展示乱码可用:
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
具体实现服务代码示例如下:
<?php /** * Model User file * User: flyer0126 * Date: 14-9-4 * Time: 上午10:40 */ // include files include_once dirname(__FILE__) . "/Config/database.php"; include_once dirname(__FILE__) . "/Lib/notorm/NotORM.php"; include_once dirname(__FILE__) . "/Lib/slim/Slim/Slim.php"; \Slim\Slim::registerAutoloader(); // init $app = new \Slim\Slim(); $db = new NotORM(DATABASE_CONFIG::initDB()); /** * 获取用户信息 * request demo:http://test.domain.com/user/view/1 */ $app->get( '/user/view/:id', function ($id) use ($app, $db) { $user = $db->users()->where('id = ?', $id)->fetch(); if(empty($user)){ echo json_encode(array('rlt'=>false, 'data'=>'user is not exist')); } else { echo json_encode(array('rlt'=>true, 'data'=>$user)); } } ); /** * 更新用户信息 * request demo:http://test.domain.com/user/edit/1 */ $app->post( '/user/edit/:id', function ($id) use ($app, $db) { $user = $db->users()->where('id = ?', $id)->fetch(); if(empty($user)){ echo json_encode(array('rlt'=>false, 'data'=>'user is not exist')); } else { if($db->users()->where('id = ?', $id)->update($_POST)){ echo json_encode(array('rlt'=>true, 'data'=>'edit user success')); } else { echo json_encode(array('rlt'=>false, 'data'=>'edit user fail')); } } } ); // run $app->run();
具体请求测试可以使用火狐浏览器HTTPRequest插件进行测试,也可以自己利用php curl编写用例来测试,还是比较简单的。
相关推荐
ThinkPHP是一个性能卓越并且功能丰富的轻量级PHP开发框架,本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让WEB应用开发更简单、更快速。遵循Apache2开源...
EXT的Data Store组件负责管理数据,它可以与服务器进行异步通信获取数据。结合Grid Panel,可以展示数据表中的记录。配置Data Store的proxy属性指向SQL Server的URL,使用Ajax Proxy或者JsonP Proxy根据需求进行跨域...
压缩包内的文本文件“All Database Backed Web Apps are just CURD Apps.txt”很可能包含了文章的全文,详细阐述了关于CURD操作在Web应用中的重要性和实践技巧。读者可以通过阅读该文件获取更深入的理解。 总的来说...
1. **轻量级**:相比于其他大型前端框架,LayUI体积小巧,加载速度快。 2. **模块化**:LayUI遵循AMD规范,每个功能模块都是独立的,便于按需引入。 3. **兼容性**:良好支持各种主流浏览器,包括IE8+。 4. **丰富的...
这个"angularjs CURD Example"是一个示例项目,旨在教授如何在AngularJS中实现创建(Create)、读取(Read)、更新(Update)和删除(Delete)这四个基本的数据操作,也就是常说的CRUD操作。在Web应用开发中,CRUD...
Vue.js 是一款流行的轻量级前端JavaScript框架,用于构建用户界面。它的核心理念是数据驱动和组件化,使得开发过程更加简洁高效。在这个"vue简单curd例子"中,我们将探讨如何利用Vue.js进行基本的CRUD(创建、读取、...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Servlet与前端进行数据交换时,JSON被广泛采用,因为它能直接被JavaScript解析,无需额外的转换...
在ThinkPHP中,CURD操作往往与控制器(Controller)和视图(View)紧密关联。控制器处理HTTP请求,调用模型方法进行数据操作,然后将结果传递给视图进行渲染展示。例如,Test控制器中的一个CRUD操作可能如下所示: ...
MyBatis是一个轻量级的持久层框架,允许开发者将SQL语句与Java代码直接关联。在Spring Boot中,配置MyBatis包括创建mybatis-config.xml、定义Mapper接口和XML映射文件,以及在配置类中配置SqlSessionFactory和...
在前端开发中,CURD操作通常用于与后端API进行交互,实现对数据的动态管理。 这篇名为“TT随笔四 前台的CURD封装”的博客文章可能讨论了如何在前端应用中优雅地执行CURD操作。尽管描述为空,我们可以推测作者可能...
curd oracle. curd oracle. curd oracle.
Java后台结合EasyUI实现CURD操作是Web应用开发中常见的需求,主要涉及到Java后端编程、数据库操作以及前端用户界面的设计。在这个项目中,“java后台+easyui完整curd”是一个利用Java技术和EasyUI框架构建的简单但...
1. **JDBC(Java Database Connectivity)**:JDBC是Java语言与数据库交互的标准接口。通过编写SQL语句并使用PreparedStatement执行,可以实现对PostgreSQL的CURD操作和存储过程调用。 2. **Hibernate**:一个优秀...
**Razor模板**: Razor是一种轻量级的视图引擎,用于生成HTML。它使用C#语法,允许在HTML中嵌入代码片段,简化了视图的编写。Razor视图与控制器配合,根据模型数据动态生成页面内容。 **总结**: ASP.NET MVC5结合C#...
通过这个例子,开发者可以学习如何在Winform应用中实现三层架构和数据库操作,这对于初学者来说是非常有价值的实践。同时,对于有经验的开发者,这个例子也提供了一个快速搭建CRUD功能的基础模板。
在IT行业中,CURD操作是数据库管理的基础,它代表了Create(创建)、Read(读取)、Update(更新)和Delete(删除)这四个最常见的数据库交互动作。本篇将围绕这个"一个CURD的demo"进行深入讲解,结合提供的xxm_...
通过学习和实践这个"thinkphp CURD完整案例",开发者可以深入理解如何在ThinkPHP框架下进行数据库操作,这对于构建动态Web应用来说是至关重要的技能。同时,这也是提升PHP编程能力和数据库管理能力的有效途径。
在Android应用开发中,SQLite是一个重要的组成部分,它是一个轻量级的、开源的、嵌入式的SQL数据库引擎,被广泛用于存储和管理应用程序中的数据。本教程将详细讲解如何在Android中进行SQLite数据库的CURD操作,即...
对于初学者,可以通过查看这些文件来实践MVC3中的LINQ CURD操作,理解如何将数据库操作与MVC架构相结合。 总的来说,MVC3结合LINQ提供了高效、简洁的Web开发方式,让开发者能专注于业务逻辑,而不是底层数据库交互...
EasyAdmin框架以内置快速生成CURD的命令, 包括控制器、视图、模型、JS文件。能够使开发者效率得到进一步提升。 备注:在进行CURD命令行之前, 请按照规范设计表结构, 请参数表结构规范模块说明。 实际 以应用。