继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

ThinkPhp5.0开发时一些总结(1)

大叔_fighting
关注TA
已关注
手记 81
粉丝 44
获赞 400

函数和类、属性命名:
类的命名采用驼峰法(首字母大写),例如 User、UserType,默认不需要添加后缀,例如UserController应该直接命名为User;
函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip;
方法的命名使用驼峰法(首字母小写),例如 getUserName;
属性的命名使用驼峰法(首字母小写),例如 tableName、instance;
以双下划线“”打头的函数或方法作为魔术方法,例如 call 和 __autoload
配置参数以小写字母和下划线命名,例如 url_route_on 和url_convert

thinkphp5.0直接就可以 return 例如:return 'hello,thinkphp!';(具体胡返回类型可以自定义 例如直接返回json)
新增的路由可以直接接受get参数 方法可以直接获取 例如:
public function hello($name)
{
return 'Hello,'.$name;
}

行为:行为(Behavior)是在预先定义好的一个应用位置执行的一些操作。类似于AOP编程中的“切面”的概念,给某一个切面绑定相关行为就成了一种类AOP编程的思想。所以,行为通常是和某个位置相关,行为的执行时间依赖于绑定到了哪个位置上。
要执行行为,首先要在应用程序中进行行为侦听,例如:
// 在app_init位置侦听行为
\think\Hook::listen('app_init');

// 绑定行为到app_init位置
\think\Hook::add('app_init','\app\index\behavior\Test');
路由检测是一个行为,静态缓存是一个行为,用户权限检测也是行为,大到业务逻辑,小到浏览器检测、多语言检测等等都可以当做是一个行为,甚至说你希望给你的网站用户的第一次访问弹出Hello,world!这些都可以看成是一种行为,把这些行为抽离出来的目的是为了让你无需改动框架和应用,而在外围通过扩展或者配置来改变或者增加一些功能。行为就是钩子(举例:wordpress中)或者中间件(举例:lavarel中)

如果你需要调用PHP内置的类库,或者第三方没有使用命名空间的类库,记得在实例化类库的时候加上 \

自动加载:由于新版ThinkPHP完全采用了命名空间的特性,因此只需要给类库正确定义所在的命名空间,而命名空间的路径与类库文件的目录一致,那么就可以实现类的自动加载

数据输出(重点):
版的控制器输出采用Response类统一处理,而不是直接在控制器中进行输出,通过设置default_return_type或者动态设置不同类型的Response输出就可以自动进行数据转换处理,一般来说,你只需要在控制器中返回字符串或者数组即可,例如如果我们配置:
'default_return_type'=>'json'
$data = ['name'=>'thinkphp','url'=>'thinkphp.cn'];
return ['data'=>$data,'code'=>1,'message'=>'操作完成'];
核心支持的数据类型包括view、xml、json和jsonp,其他类型的需要自己扩展
return json(['data'=>$data,'code'=>1,'message'=>'操作完成']);
}

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP