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