Из любопытства, есть ли способ передать массив в магическом методе 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
// )
Итак, он работает только с методом, а? Хорошо ... Что вы думаете об этом ... как вы думаете, это будет хорошим дополнением?
Форма массива функции magic get.






Нет, это невозможно. Создайте метод обычный, который будет понятно другими без
magic.