导航:首页 > 编程语言 > php使用use

php使用use

发布时间:2023-02-16 19:10:14

php闭包函数用use传参有什么意义

PHP语法对于全局变量和局部变量分得太清楚,这里不讨论它好与不好,但确实使用起来比较麻烦。在函数里面调用全局变量,必须global声明以后,才能使用,其它的语言貌似都能直接用。而use在这里的用法,就是解决这个问题的,有时候不但要传参数进来,还要调用局部变量进行计算或判断。举个例子,你也许更明白:

<?php
functiongetMoney($cny){
$usd=6;//这个局部变量,想在闭包里面用,必须放到use里
$func=function($jpy)use($cny){
echo$cny.'<br>';//10
echo$jpy.'<br>';//0.1
echo$usd;//否则就报错,Undefinedvariable:usd
};
$func(0.1);
}
getMoney(10);

❷ PHP 的use 命名空间 是什么意思

有点类似于 java 中的包机制,用来解决重名问题的,每一个命名空间都是独立的

给你举个例子吧,比如我现在想写两个类,名字都叫 Action

<?php

namespaceA;//定义命名空间

classAction{
//..
}


namespaceB;//定义第二个命名空间

classAction{
//..
}

use 关键字用于导入某个命名空间下的类, 如果我在B空间内想使用A空间中的Action类,就需要导入这个类才能使用(当然也可以指明空间前缀来使用)

namespaceB;

//在本空间中需要使用A空间中的Action类,使用use导入

useAAction;//导入,如果本空间中也有一个Action会出现错误,因为类重名了
useAActionasA_Action;//通过取别名的方式解决

$var=newA_Action;

❸ php7使用use引入命名空间提示语法错误

我也遇到了这个问题,我是这样解决的,我服务器装了5.2和7.2两个版本,可能两者有冲突,5.2不支持命名空间,不支持use和namespace,解决办法就是卸载5.2版本!!!

❹ php子类怎么使用父类的use

你指的是导入命名空间的语法 use?

那不存在父类子类的说法。use只是将另外一个命名空间的定义(类或函数等)导入到当前命名空间使用。

每个文件(如果一个文件有多个命名空间,那每个命名空间导入一次)使用该语法导入一次,就可以一正常使用了。

如果一个文件里同时定义了两个类,同时只有一个命名空间,那在命名空间后导入一次就可以在两个类里同时使用了

PHP: 命名空间

❺ PHP关于Use用法的疑问

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

❻ php命名空间 use使用的问题:

命名空间是运行时解析的。use就相当于一种声明,并不解析和加载。在使用时就可以自动加载进来,那么这里你就可以理解为把db这个类库导入进来了,所以可以正常使用。

❼ php 使用use 和直接传参的区别

实际应用 1 : 在创建闭包时, 生成所use变量的快照, 下文再次调用闭包函数时, 快照变量不改变
$a = 5;

$b = function ($x) use ($a) {
$a += $x; echo $a;
};

$a = 10; // 这个变量被再次赋值, 但是在use语句中的'快照'是不会改变的

$b(100); // 输出 : 105

实际应用 2 : 使用引用传值, 生成所use变量的指针, 下文再次调用闭包函数时, 快照变量会改变(其实这样做与直接传参已经没有区别, 所以这么做意义不大, 而且代码可读性降低)

$a = 5;

$b = function ($x) use (&$a) {
$a += $x; echo $a;
};

$a = 10; // 变量重新赋值, 上文中闭包所引用的变量值也被改变

$b(100); // 输出 : 110

❽ php匿名函数中的use有什么用

php文档中关于use的说明

所有支持命名空间的PHP版本支持三种别名或导入方式:为类名称使用别名、为接口使用别名或为命名空间名称使用别名。PHP5.6开始允许导入函数或常量或者为它们设置别名。
在PHP中,别名是通过操作符use来实现的.下面是一个使用所有可能的五种导入方式的例子:
Example#1使用use操作符导入/使用别名
<?php
namespacefoo;
useMyFullClassnameasAnother;

//下面的例子与useMyFullNSnameasNSname相同
useMyFullNSname;

//导入一个全局类
useArrayObject;

//importingafunction(PHP5.6+)
usefunctionMyFullfunctionName;

//aliasingafunction(PHP5.6+)
;

//importingaconstant(PHP5.6+)
useconstMyFullCONSTANT;

$obj=newnamespaceAnother;//实例化fooAnother对象
$obj=newAnother;//实例化MyFullClassname对象
NSnamesubnsfunc();//调用函数MyFullNSnamesubnsfunc
$a=newArrayObject(array(1));//实例化ArrayObject对象
//如果不使用"useArrayObject",则实例化一个fooArrayObject对象
func();//
echoCONSTANT;//
?>
阅读全文

与php使用use相关的资料

热点内容
文件加密了怎么找到了 浏览:193
jellyfin插件怎么选择主服务器 浏览:836
asp用户注册源码 浏览:48
什么是照片压缩文件 浏览:392
java调用js代码 浏览:979
昆山市民app怎么修改身份信息 浏览:779
php登陆次数 浏览:744
python字符转成数字 浏览:822
海川用的是什么服务器 浏览:376
口才是练出来的pdf 浏览:458
云服务器哪个公司性价比高 浏览:517
源码论坛打包 浏览:558
php怎么做成word 浏览:692
python批量生成密钥 浏览:492
程序员要不要考社区人员 浏览:150
app的钱怎么充q币 浏览:814
android银行卡识别 浏览:756
怎么在app投放广告 浏览:11
手机文件管理怎么看app名称 浏览:192
程序员学数学哪本书最全 浏览:789