多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
**1 小试身手** 1 打开目录D:\upnp5.6\htdocs\tp5\application\index\controller\ 2 建立文件Test.php。输入下面的代码 ~~~ <?php namespace app\index\controller; class Test { public function test() { // tp5框架在App::run()使用Response::send()统一返回客户端数据 // 因此控制器最后最好使用return $result;形式的语句返回数据到App::run() // 这里只是作为学习测试。 echo "Test::test()"; } public function echo_get() { // tp5框架在App::run()使用Response::send()统一返回客户端数据 // 因此控制器最后最好使用 return $result; 形式的语句返回数据到App::run() // 这里只是作为学习测试。 echo $_GET; dump($_GET); } } ~~~ 3 打开浏览器。输入 http://127.0.0.1/tp5/public/index.php/Index/Test/test ![](https://box.kancloud.cn/2016-02-24_56cd0b80b004f.jpg) 其中127.0.0.1/tp5/public/index.php 为框架入口文件 Index/Test/test 是模块/控制器/操作名称 4 打开浏览器。输入 http://127.0.0.1/tp5/public/index.php/Index/Test/echo_get ![](https://box.kancloud.cn/2016-02-24_56cd0b80c35dc.jpg) tP5 全新的异常报错与调试机制。习惯了3.2的我眼前为之一亮。 有关异常和错误机制 见框架流程的 [错误和异常处理文件](http://www.kancloud.cn/zmwtp/tp5/119433) 根据错误提示可知 echo $_GET这行代码错误。 其原因是 Array to string conv。 5 删除 echo $_GET。浏览器输入 http://127.0.0.1/tp5/public/index.php/Index/Test/echo_get 输出一个空数组 ![](https://box.kancloud.cn/2016-02-24_56cd0b80dd574.jpg) 6 修改地址携带$_GET参数。浏览器输入 http://127.0.0.1/tp5/public/index.php/Index/Test/echo_get/id/3/title/thinkphp 输出包含$_GET的参数 ![](https://box.kancloud.cn/2016-02-24_56cd0b80eebf4.jpg) 7 总结 1 浏览器输入地址 http://127.0.0.1/tp5/public/index.php/module/controller/action/p1/v1/p2/v2 http://127.0.0.1/tp5/public/index.php/Index/Test/echo_get/id/3/title/thinkphp 2 跳转到应用控制器 application/module/controller/xx.php D:\upnp5.6\htdocs\tp5\application\index\controller\Test.php 3 输出数据到浏览器 array{ p1 => v1, p2 => v2 } **2 开发场景** 1 应用控制器在传统开发中经常将单个文件对应业务的具体逻辑业务。 以一个简单的论坛系统为例。这里使用单模块开发。 ~~~ Longin.php 处理登录逻辑 Admin.php 后台入口 Index.php 前台入口 User.php 用户信息处理入口 ~~~ 2 API开发中 可以将单个文件对应api接口 以一个简单的商城系统为例。这里使用单模块开发 ~~~ Category.php 商品分类api Goods.php 商品api Orders.php 订单api ~~~ **3 开发进阶** 控制器与数据模型,视图渲染,url路由,输出控制等结合开发 见 开发实例的[MVC开发初探](http://www.kancloud.cn/zmwtp/tp5/120301),[综合应用](http://www.kancloud.cn/zmwtp/tp5/120300) **4 框架底层** 控制器是url路由解析后跳转的应用业务逻辑组织。 其入口在App::run()的应用调度中,分析见 [主:应用调度分析](http://www.kancloud.cn/zmwtp/tp5/119428),[C:应用控制器文件](http://www.kancloud.cn/zmwtp/tp5/119427)。 控制器的内容输出 见 [数据输出文件 ](http://www.kancloud.cn/zmwtp/tp5/119439)