miniframework icon indicating copy to clipboard operation
miniframework copied to clipboard

您好,我觉得您定义初始数据的时候这样写会比较好一点!

Open lovefc opened this issue 7 years ago • 2 comments

MiniFramework/MiniFramework/Bootstrap.php

我看您在这个文件里用了大量的if语句检查并定义了一些常量

我觉得可以使用这样的简写方式来写,可以节省代码量,以及避免大量if语句的使用。

效率方面也会比if快一点。

defined('DS')) || define('DS', DIRECTORY_SEPARATOR);

defined('MINI_PATH')) || define('MINI_PATH', dirname(FILE);

还有,因为win和linux的系统分隔符的不一致,我觉得定义系统目录的时候,应该对目录的字符串进行一下处理,以便更好的兼容。

我是这样定义的

define("PATH", strtr(dirname(DIR), '\', '/'));

用strtr函数效率可以高一点。

本人水平不高,也就会些奇淫技巧。

希望能加大神的qq,共同讨论php!

lovefc avatar Jun 17 '17 02:06 lovefc

defined('DS') || define('DS', DIRECTORY_SEPARATOR); 这种写法的确非常值得借鉴,此前的版本在这些方面还有待进一步优化,非常感谢您的建议!

关于您提到的系统分隔符的问题,dirname()返回的路径中,会自动适应Windows和LInux系统分隔符的差异,因此,define("PATH", strtr(dirname(DIR), '', '/'));这样的写法是把已经自动适应的路径又被再次强制替换成了某种固定的分隔符,反而会给框架带来兼容性的问题。(在框架中,一些必须手写路径的地方,我已经用DS这个常量来作为分隔符使用了。)

再次感谢您对MiniFramework的关注,我的QQ是1460871,邮箱是[email protected],水平有限,还请多多指教!

jasonweicn avatar Jun 17 '17 05:06 jasonweicn

嗯嗯,我这种写法是强制把分隔符都便变成/,始终是觉得\有点反人类,

已经加您的QQ了,非常期待和您的交流!我觉得多和大神交流,还是非常能提升自己的水平的。

lovefc avatar Jun 17 '17 08:06 lovefc