Я пишу на 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);
А что я должен использовать при написании своих собственных библиотек и приложений?