欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 编程语言 > php >内容正文

php

php 函数有命名空间吗-凯发k8官方网

发布时间:2024/10/14 php 36 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 php 函数有命名空间吗_一篇弄懂php命名空间及use的使用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

最近一段时间在研究php框架,一直想的什么时候才能开发出自己的框架,当然这是为了提升自己的编程水平,同时能把平时学的零散的东西糅合在一块熟练应用。但是开发一个框架根本不知道如何做起,先开发什么,虽然php的框架也不少,但是都是如何应用,没有文档和视频可以学习,这是让我特别郁闷的事情,相信不少想自己开发框架玩的小伙伴都有类似的感受,郁闷归郁闷,自己还是动手做了,做的时候困难和想象的一样难,从一开始就有点蒙了。

那就是命名空间的使用及use引入。看了很多网上的说法,也看了官方文档,意思大概明白,也很好理解,命名空间还好说,给这个空间起个名字嘛,但是use具体操作起来就不行 了,怎么也搞不通。后来看一个yii学习视频才恍然明白。

比方说建三个文件。

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

第二个文件 b.php 命名空间 abd;

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

比方说我们现在想实例化a.php里的类,该怎么实现呢?

首先要包含这个文件

require_once('a.php');

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

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

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

有的人可能问了,那我不同的命名空间下,有相同的类名,在同一个文件中使用怎么办?比方说我们上边的index.php,把a.php和b.php都包含进来,然后new apply();这个时候是会报错的,凯发k8官方网的解决方案就是起别名,比方说 use abdapply as b; 此时我们new 的时候不应该写成 new apply();而是new b();这样就不会发生冲突了。

原文:一篇弄懂php命名空间及use的使用 - php|php教程|php开发|php基础

总结

以上是凯发k8官方网为你收集整理的php 函数有命名空间吗_一篇弄懂php命名空间及use的使用的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

网站地图