Php 可以使用';使用';关键词?

Php 可以使用';使用';关键词?,php,closures,Php,Closures,PHP中的非匿名函数能否使用“use”关键字?或者它仅适用于匿名函数 我可以这样写一个php文件吗 // L.php // assume $_texts is in this context.. $_language = null; function L_init($language) use (&$_language) { $_language = $language; } function L($key) use ($_texts, $_language) { $_te

PHP中的非匿名函数能否使用“use”关键字?或者它仅适用于匿名函数

我可以这样写一个php文件吗

// L.php
// assume $_texts is in this context..

$_language = null;

function L_init($language) use (&$_language)
{
  $_language = $language;
}

function L($key) use ($_texts, $_language)
{
  $_texts[$_language][$key];
}
// client.php
require_once 'L.php';

L_init('en');
echo L('GREETING'); // Will output localize string of key 'GREETING'
所以,另一个文件可以这样使用它

// L.php
// assume $_texts is in this context..

$_language = null;

function L_init($language) use (&$_language)
{
  $_language = $language;
}

function L($key) use ($_texts, $_language)
{
  $_texts[$_language][$key];
}
// client.php
require_once 'L.php';

L_init('en');
echo L('GREETING'); // Will output localize string of key 'GREETING'
不,你不能


代码生成语法错误。

它可用于匿名函数,但您可以将其分配给变量:

$some_external_var = "World!";
$function = function() use($some_external_var){
    echo "Hello ".$some_external_var;
};
最后,您可以通过以下方式调用它:

call_user_func($function);
或者只是:

$function();

你可以试试看。:)你会发现答案是:不。
answer=(代码编译时没有语法错误吗?
谢谢你们两位。代码没有编译,所以答案是:没有