Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
lovefc opened this issue Jun 17, 2017 · 2 comments

Comments

@lovefc
Copy link

lovefc commented Jun 17, 2017

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!

@jasonweicn
Copy link
Owner

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

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

再次感谢您对MiniFramework的关注,我的QQ是1460871,邮箱是jasonwei06@hotmail.com,水平有限,还请多多指教!

@lovefc
Copy link
Author

lovefc commented Jun 17, 2017

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants