thinker_g
帅哥, 我在写代码的时候,也会自己定义一些类。比如汉字拼音处理,数字转汉字等等。
不过我用的时候直接使用了。
你最后一段代码的方式。文件头 use...... someHelper
然后 代码中直接 someHelper::doSomeThing();我看你的这篇教程, 区别在哪里呢? 使用你的方式,好处是什么?
@xjdata “直接使用”你的意思是说在需要的时候直接include么?
这样写的方式是为了遵循PSR-4编码标准,建立一个命名空间与实际文件位置的固定关系。你只需要定义和直接使用一个类(实例化),把加载操作交给全局注册的autoloader处理。
这样,一来你的类只会在恰当的时刻被加载,节省资源;二来你可以通过添加一个路径别名而将这个明明空间下所有的类引入到系统(试想你下载了一个库,一个命名空间下有上百个类且相互依赖,你就需要花费额外的精力在包含文件时处理依赖)。传统的include方式在开发程序的时候是不会出问题的,但假设你在开发的是一整个库,希望他可以最大化的被复用到任何项目中,include会给你库的使用者造成不必要的麻烦。
第二个场景是,你在文件中使用了定义的一个类;假如在之后的一次迭代更新中,这个类在你当前的程序中不再需要了,你在删除相关代码的时候还要记住要删除include语句。不然即使你的类不再被当前程序使用,他还是会被加载。以上
- thinker_g 回复了 KillMeAgain 的回复
支持后者
有这样一条原则,不依赖数据库处理主要数据逻辑。由于数据库时间戳取出的时候在PHP变量内表示为字符串,会在需要计算时带来不便。在对这些字段筛选时,PHP不得不依赖于数据库查询函数来进行数据转换。 还是时区的问题,如果数据库时区配置和PHP配置不同,或者用户来自多时区,还需要根据客户端时区来处理时差。使用时间戳可以避免这些麻烦,直接对秒数进行数学计算。
@xjdata 你是说在数据库里使用PHP时间戳?可是这样我感觉会增加开发复杂度, 因为我们在写程序的时候还要考虑客户端的不同时差的转换问题。其实这就是一个操作处理是我们开发时候自己写,还是交由数据库处理的问题。我感觉交由数据库处理他的内建数据结构,效率可能会高一点,不过没有实际测试过,只是感觉。
- thinker_g 2015-06-15 已签到连续签到1天,获得了5个金钱
- thinker_g 2015-06-13 已签到连续签到4天,获得了20个金钱
- thinker_g 2015-06-12 已签到连续签到3天,获得了15个金钱
- thinker_g 2015-06-11 已签到连续签到2天,获得了10个金钱
- thinker_g 回复了 KillMeAgain 的回复
支持后者
有这样一条原则,不依赖数据库处理主要数据逻辑。由于数据库时间戳取出的时候在PHP变量内表示为字符串,会在需要计算时带来不便。在对这些字段筛选时,PHP不得不依赖于数据库查询函数来进行数据转换。 还是时区的问题,如果数据库时区配置和PHP配置不同,或者用户来自多时区,还需要根据客户端时区来处理时差。使用时间戳可以避免这些麻烦,直接对秒数进行数学计算。
那如果程序出现问题有时候需要在数据库里直接筛查和校正数据时怎么处理的?
- thinker_g 2015-06-10 已签到连续签到1天,获得了5个金钱
- thinker_g 2015-06-08 已签到连续签到1天,获得了5个金钱