精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-30
jiorry 写道 ...相信性能上,肯定比直接require一堆php文件,要好。
用命名空间难道不需要require? |
|
返回顶楼 | |
发表时间:2011-07-01
zwws 写道 jiorry 写道 ...相信性能上,肯定比直接require一堆php文件,要好。
用命名空间难道不需要require? 用命名空间配合 spl autoload 可以代替 require_once(当然 PEAR 命名法也可以,但是使用起来不方便,要写太长的前缀) |
|
返回顶楼 | |
发表时间:2011-07-01
tonyseek 写道 zwws 写道 jiorry 写道 ...相信性能上,肯定比直接require一堆php文件,要好。
用命名空间难道不需要require? 用命名空间配合 spl autoload 可以代替 require_once(当然 PEAR 命名法也可以,但是使用起来不方便,要写太长的前缀) 命名空间这个东东就是为了解决大量引用代码,复杂应用,长期维护的,使用上的不方便没法了。use将无处不在 |
|
返回顶楼 | |
发表时间:2011-07-05
这样升级, PHP里面也得分PHP4, 5, 5.2, 5.3程序员了..
|
|
返回顶楼 | |
发表时间:2011-07-20
现在主要用的是PHP5.2.x,不过在开发中,还是保留了PHP4的习惯!
|
|
返回顶楼 | |
发表时间:2011-09-29
PHP5.3加入了命名空间,很高兴有了这个特性,把自己写的框架改成使用命名空间的,发现很不爽。 写了个没有命名空间的函数 function myFnc(){} 调用的时候如果页面里声明了命名空间,就必须用 \myFnc() 来调用。 写了一个没有命名空间的类 class MyClass {} 调用的时候如果页面里声明了命名空间,就必须用 new \MyClass() 来调用。 为什么声明了命名空间就不能直接用 myFnc()、new MyClass() 类调用全局函数和类呢? 万恶之源在于画蛇的时候添了一足。 那条足在哪呢? 就是相对命名空间 我定义了如下命名空间 namespace sp\A; namespace sp\A\B; namespace sp\A\B\C; 在namespace sp\A;中,我可以使用 use B\ClassName、use B\C\ClassName来使用命名空间 namespace sp\A\B和namespace sp\A\B\C下的类,这是使用相对命名空间来访问命名空间,这造成混乱不少。 有相对就会有绝对,而绝对访问方式是: use \spA\B\ClassName; use \sp\A\B\C\ClassName; 看见use中的开头的反斜杠“\”了吗?他就是万恶之源中的万恶之源。 为什么一定要搞个相对命名空间出来而不统一直接用 use spA\B\ClassName; use sp\A\B\C\ClassName; 如果这样我们没有命名空间的类可以直接用 new MyClass(),而不用 new \MyClass(), 调用没有命名空间的函数就可以直接用 muFnc(),而不必用 \myFnc() 画蛇何必添足呢! |
|
返回顶楼 | |
发表时间:2011-10-17
近两年一直都用 5.3
|
|
返回顶楼 | |
发表时间:2011-10-17
其实差不太多
|
|
返回顶楼 | |