百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>网页制作> use在php中的运用办法(代码示例)
分享文章到:

use在php中的运用办法(代码示例)

发布时间:09/01 来源:未知 浏览: 关键词:

use在php中的使用办法(代码示例)

比来一段时间在研讨php框架,不断想的什么时候才能开发出本人的框架,当然这是为了晋升本人的编程水平,同时能把平常学的零散的东西糅合在一块熟练利用。但是开发一个框架基本不知道怎样做起,先开发什么,虽然php的框架也不少,但是都是怎样利用,没有文档和视频可以学习,这是让我特殊愁闷的事情,信赖不少想本人开发框架玩的小伙伴都有相似的感受,愁闷归愁闷,本人还是动手做了,做的时候艰难和想象的一样难,从一开端就有点蒙了。

那就是命名空间的使用及use引入。看了许多网上的说法,也看了官方文档,意思大约清楚,也很好懂得,命名空间还好说,给这个空间起个名字嘛,但是use详细操纵起来就不可了,如何也搞不通。后来看一个yii学习视频才恍然清楚。

比方说建三个文件。

第一个文件 A.php,里边有两个类,命名空间是 a\b\c;

<?php
namespace a\b\c;
class Apply{
  function get_info(){
    echo 'this is A Apply';
  }
}
class C{
  function info(){
    echo 'this is info';
  }
}

第二个文件 B.php 命名空间 a\b\d;

<?php
namespace a\b\d;
class Apply{
  function get_info(){
    echo 'this is B Apply';
  }
}

第三个文件 index.php ,用来使用上边两个文件的类。

比方说我们此刻想实例化A.php里的类,该如何实现呢?

第一要包括这个文件 require_once(‘A.php’);

然后 use a\b\c;? 还是a\b\c\A? 起初我也是这么认为的。其实这是错的,use应当是这样的,命名空间\这个空间下你要实例化类的类名。比方说我们要实例化 A.php里的Apply类,那么 use a\b\c\Apply; 这就相当于引入这个类,接下来再 new Apply();调取里边的办法,跟平常是一样的。假如要实例化类C,就 use a\b\c\C;

留意:use不等于require_once或者include,use的前提是已经把文件包括进当前文件。

顺便提一句,在MVC模式中,类名和文件名是雷同的,所以use的时候会让不理解的人认为use后面跟的是文件名,我此前就这么认为的。其实use的还是类名。

有的人大概问了,那我不一样的命名空间下,有雷同的类名,在统一个文件中使用如何办?比方说我们上边的index.php,把A.php和B.php都包括进来,然后new Apply();这个时候是会报错的,解决方案就是起别号,比方说 use a\b\d\Apply as b; 此时我们new 的时候不该该写成 new Apply();而是new b();这样就不会发生冲突了。

感激大家的阅读,但愿大家收益很多。

引荐教程:《php教程》

以上就是use在php中的使用办法(代码示例)的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有152人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板