我已经用
PHP编写了半年多的时间,虽然我还远没有成为一名专家,但我可以很容易地解决问题,并根据我的需要编写脚本.我来自面向对象的背景,这似乎是PHP在其默认库中使用的很少(如果有的话).
我使用或创建的大多数外部库都使用面向对象的设计,而默认设置似乎使用下一个示例.我将使用文件/写入阅读过程作为示例:
$file_path = "/path/to/file.txt";
$file_handle = fopen($file_path, "w+");
$content = fread($file_handle, filesize($file_path));
fclose($file_handle);
现在对我而言,使用看起来像这样的设计会更有意义:
$file_handle = new FileStream("/path/to/file.txt");
$content = $file_handle->read();
$file_handle->close();
现在我很确定这背后会有一个明确的推理,因为同样的想法适用于字符串,数组,cURL,MySQL查询等.我很想知道它是什么.
因此,如果最好用句柄或资源作为第一个参数来编写不同的函数,例如
object_method($handle, $value);
那么为什么大多数流行的(外部)PHP库更喜欢使用:
$object->method($value);
在编写自己的库和应用程序时,我应该使用哪个?