Ken*_*Ken 0 php parameters scope function
目标:在调用运行函数的函数范围内声明/设置变量.
详情:
嘿Overflowans,
我想在我的很多php函数中使用的实用程序中添加最后一小块糖.它允许我在我的函数输入上定义一个灵活的契约.经过几次迭代,我已经把它缩减到一个看起来像这样的用法:
function doSomething($param_arr){
FPX::contract(array(
'required' => array("length", "width", "height", "weight"),
'optional' => array("circumference")
));
$length = $parr['length'];
$width = $parr['width'];
$height = $parr['height'];
$weight = $parr['weight'];
$circumference = $parr['circumference'];
....
}
Run Code Online (Sandbox Code Playgroud)
FPX :: contract()自动获取$ param_arr并对其进行解析以确保它与定义的合同兼容.
我现在要做的是消除之后声明每个变量的需要.在最低的函数中,有没有一种方法可以在调用它的函数范围内声明变量?因此FPX :: contract()需要能够设置doSomething()范围内的变量,这样我就不必声明每个变量.(我不想声明全局变量).
理想情况下,它看起来像:
function doSomething($param_arr){
FPX::contract(array(
'required' => array("length", "width", "height", "weight"),
'optional' => array("circumference")
));
....
}
Run Code Online (Sandbox Code Playgroud)
然后doSomething()将能够访问合同中列出的每个变量$ length,$ width等.
我知道函数($ var0,$ var1,$ var2 = null)语法,但是这个语法与大量可选变量一起使用并不是很容易.
谢谢,肯