请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请问下validate验证器是按照怎样的规则自动加载的,我的代码出现了bug。



https://img1.sycdn.imooc.com/szimg//5919b7ef0001458b09540631.jpg

https://img1.sycdn.imooc.com/szimg//5919b8160001bead06660452.jpg

上图是老师的代码,如图所示 在Banner文件中直接new了TestValidate,可是我在使用的时候,会报错


下面是我定义的TestValidate类

https://img1.sycdn.imooc.com/szimg//5919bc60000168f819201048.jpg

下面是我的调用,use app\sample\validate;  这一行加不加都会报错

https://img1.sycdn.imooc.com/szimg//5919bc600001ac3c19201048.jpg

https://img1.sycdn.imooc.com/szimg//5919bc610001e8d815071004.jpg

使用后报错信息会更改

https://img1.sycdn.imooc.com/szimg//5919bea7000135c408290372.jpg

https://img1.sycdn.imooc.com/szimg//5919bea90001113219201048.jpghttps://img1.sycdn.imooc.com/szimg//5919bea80001c21618390830.jpg

烦请老师抽空解答下,我哪里用的不对

可以的话能不能说点use 变量空间使用的一些小技巧

正在回答 回答被采纳积分+3

2回答

7七月 2017-05-16 03:13:08

命名空间就相当于一个虚拟的文件夹一样,有很多好处,比如可以避免同名类冲突。详细的可以去补充一下PHP的基础知识。命名空间很重要无论是在PHP还是在其他语言里

0 回复 有任何疑惑可以回复我~
  • 提问者 潦草风尘 #1
    感谢老师,我自己找了一些资料研究,有两个概念搞不太清,一个是全局空间,如 new \class();一个是自动装载类,这两个怎么理解,自动装载类用了就不用require了么?
    回复 有任何疑惑可以回复我~ 2017-05-16 09:00:21
  • 7七月 回复 提问者 潦草风尘 #2
    不,自动装载一样需要require,只不过是由框架帮你完成的require。全局命名空间好理解,就根部的命名空间,想象树状结构。
    回复 有任何疑惑可以回复我~ 2017-05-16 13:07:46
  • 提问者 潦草风尘 回复 7七月 #3
    哦哦,那require是写在spl  auto register和autoload魔术方法里面么?
    回复 有任何疑惑可以回复我~ 2017-05-16 14:51:13
提问者 潦草风尘 2017-05-15 22:53:10

进过调试,找到了bug,和同学们分享下

https://img1.sycdn.imooc.com/szimg//5919c06100017acc05890423.jpg

上图是原来的错误写法

https://img1.sycdn.imooc.com/szimg//5919c0610001649707130366.jpg

删除命名空间中的类名

https://img1.sycdn.imooc.com/szimg//5919c0610001400408590252.jpg

老师,感觉个人对命名空间的使用还是比较糊涂,不太清楚怎样理解命名空间这个概念。

1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信