我目前在PHP中有这个代码:
public function newFile($folder, $file){
fopen($folder."/".$file, 'w');
}
Run Code Online (Sandbox Code Playgroud)
我这样使用:
newFile('myfolder', 'myfile.txt');
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我想知道是否可以创建一个我可以这样使用的函数:
newFile('myfile.txt') inFolder('myfolder');
Run Code Online (Sandbox Code Playgroud)
如果有可能,我怎么能这样做?
我也可以用这个:
newFile('myfile.txt')->inFolder('myfolder');
Run Code Online (Sandbox Code Playgroud)
我可以看到你正在尝试实现类似Objective-C和类似语言的语法,但不幸的是,你做不到.只是习惯了PHP语法.
您可以使用数组来获取命名参数:
function newFile($params){
fopen($params['folder']."/".$params['file'], 'w');
}
newFile(array(
'folder' => 'myfolder',
'file' => 'myfile.txt'
));
Run Code Online (Sandbox Code Playgroud)
或者你可以使用代理来获得如下语法:newFile(...)->inFolder(...)但是这肯定是一种过度杀伤力.