问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PHP关于Use用法的疑问

发布网友 发布时间:2022-04-06 10:18

我来回答

3个回答

懂视网 时间:2022-04-06 14:40

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

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

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

比方说建三个文件。

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

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

第二个文件 B.php 命名空间 ad;

<?php
namespace ad;
class Apply{
  function get_info(){
    echo 'this is B Apply';
  }
}

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

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

首先要包含这个文件 require_once(‘A.php’);

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

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

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

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

感谢大家的阅读,希望大家收益多多。

推荐教程:《php教程》

热心网友 时间:2022-04-06 11:48

子类B不可以直接使用类C的方法。需要Use类C后,才可以使用类C的方法。
use是你在当前文件需要引用哪个类时,在当前文件的代码前面声明——如果当前文件有声明namespace,则放在namespace之后。

热心网友 时间:2022-04-06 13:06

use的用法简单归纳如下:

  1. used to do sth.意为"过去常常做某事",它表示过去经常发生的动作或存在的状态,而现在已不再发生或存在。这个短语含有今昔对比之意,其否定形式常用used not to或didn't use to。反意疑问句中应该用did/didn't或used/usedn't。例如:

  I used to swim in this river when I was young.我年轻时常在这条河里游泳。

  They used to be good friends, didn't they?他们过去是好朋友,是吗看

  2. be used to sth. / doing sth.意为"习惯、适应某事/做某事",它表示习惯于某一客观事实或状态,其中to是介词,后面跟名词、代词或动名词;be used可用于多种时态;如强调动作可用get或become替换be。例如:

  Old people are used to getting up early in the morning.老年人习惯早晨很早起床。

  I wasn't used to city life, but now I have got used to living in this city.我以前不习惯都市生活,但现在我已习惯住在这座城市了。

  3. be used to do sth.意为"被用来做某事",其中use表"使用"之意,是被动语态形式,to是动词不定式符号。例如:

  Wood can be used to make paper.树木可以用来造纸。

  4. be used for...意为"被当做……",其中use表"使用"之意,是被动语态形式。例如:

  The seal's fur can be used for coats.海豹皮可当做大衣用。

  5. be of use意为"有用的",其中use是名词,可用形容词来修饰。例如:

  The dictionary is of great use to the students.这本字典对学生们很有用。

  6. be in use意为"在使用",其中use也是名词。例如:

  The laboratory is in use until three o'clock.实验室一直到3点钟都有人使用。

  7. make use of sth.意为"利用、使用某物",其中use也是名词,可用good, full, more, little等形容词来修饰。同学们应特别注意它的被动形式。追问SB 答非所问 OOXX你老母

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
神九返回后轨道舱分离去哪里了,是在轨道继续运行,还是不管了。天宫一... 空间站通常由对接舱、气闸舱、轨道舱、生活舱、服务舱、专用设备... 为什么不让神舟七号的轨道舱留在天上让神州八号去追? 洗衣机生产厂家 狗鱼好吃吗? 洪霞的爷爷知识很丰富,你能用哪些成语来形容他 用什么成语可以形容包罗各种各样的想法 什么万千的成语有哪些 重庆哪些考研大学 重庆师范大学考研好不好考 松下plc程序r3f是什么指令 西门子程序里R1R2R3R4R5都是啥定义 单片机汇编流水灯后段程序怎么理解,L1L2L3 R2R3是什么作用?我不懂,求高手指点 单片机程序中R3,R4的作用是什么 电脑重装系统用u盘进入pe怎么操作 怎么用U盘启动电脑进入pe操作系统?(我要重装系统) 进入u盘pe系统后怎么安装系统 进入PE系统后怎么装系统?步骤! 进入pe后怎么重装系统? 帮忙起个有含义的小女孩名字。姓杨。谢啦 小女孩,姓杨,取什么名字好听。 西安做双眼皮手术要花多少钱? 做压双眼皮一般多少钱 西安做双眼皮整形术得花多少钱啊? 我的一个朋友说她割了一个双眼皮花了2万元是真的 要这么贵吗?也看不出来有多明显 西安做双眼皮整形价格要花多少钱大概啊? 重庆时光双眼皮修复一般要花多少钱好吗? php编程高手们来吧 use有什么用? 关于上海理工大学 南京邮电大学和上海理工大学哪个好?综合考虑应选择哪一个? 加工中心程序中R Q 代表什么 单片机中寄存器间接寻址为啥不能用R3,或者说R0,R1,与其他工作寄存器有何区别? 程序里面有个Ultrafunk Sonitus-fx R3是干什么用的 php匿名函数中的use有什么用 word文档中的光标总是倾斜的,怎么改回正常 word中光标变方块了怎么变回去? php子类怎么使用父类的use 在word中,怎么将竖着的光标切换成横着的 怎样改变word光标形状,光标突然变得又黑又粗 word里的光标形状不对 一个萝卜两头切是什么意思? 有什么出处么 说具体点 word 编辑屏幕上的光标有哪些不同的形状?各有何功用?怎样正确使用? word文档中的光标不知道哪里设置了,总是倾斜的,怎么改回正常谁知道? 俗语 一个萝卜八头切 是什么意思 word2016中鼠标指针的形状出现了变化 手机在哪查看真伪的了? 新买的手机在哪查看真伪的了? 新买的手机在哪可以查看真假的? 手机是在哪可以查看真假的啊? 手机在哪查看真假的了?