Из любопытства, есть ли способ передать массив в магическом методе get.Это должен быть только магический метод get или что-то эквивалентное.(Но для этого не следует использовать другую функцию)
Например, ЭТО ВОЗМОЖНО?
<?php
// Book.php
Class Book{
/**
* Hold the book's details
* @var array
*/
private $book_details = [];
function __set($name, $value)
{
$book_list[$name] = $value;
}
function __get($name)
{
if (is_array($name)) {
$collect_info = [];
foreach ($this->book_details as $item => $value) {
if ($item == $name) {
$collect_info[$item] = $value;
}
}
return $collect_info;
} else {
return $this->book_details[$name];
}
}
}
и в другом файле, например resourses.php
<?php
// resources.php
require_once "Book.php";
$book = new Book();
$book->name = "Somebook's Name";
$book->author = "This awesome dude";
$book->pages = "723";
$book->about = "Programming Content";
$book->name; // prints Somebook's Name
print_r($book->(["name", "pages"]));
// prints
// Array(
// [name] => Somebook's Name,
// [pages] => 723
// )