使用switch
作为支持多种文件格式的方式是否可以接受,还是不好的做法?
像这样(未经测试):
<?php
// Load file
switch ($data_format) {
case 'xml':
$openfile = simplexml_load_file($filename . '.xml');
break;
case 'json':
$openfile = json_decode(file_get_contents($filename . '.json'));
break;
}
// Do stuff
// Save file
switch ($data_format) {
case 'xml':
$openfile->asXML($filename . '.xml');
break;
case 'json':
file_put_contents($filename . '.json', json_encode($openfile, JSON_PRETTY_PRINT));
break;
}
?>
答案 0 :(得分:2)
这取决于您的编码风格。如果你想面向对象,那么这将违背这个想法。在这种情况下,你会使用类似的东西:
$file = $repository->open($filename, $data_format);
// do stuff
$file->save();
当然$repository->open()
需要使用不同的保存方法返回一个对象,具体取决于您的数据格式。
但是,如果你不是面向对象但是旧的程序风格,我看不出你使用switch语句有什么问题。