Передача массива магическому методу get

Из любопытства, есть ли способ передать массив в магическом методе 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.

u_mulder 31.05.2018 12:03

Итак, он работает только с методом, а? Хорошо ... Что вы думаете об этом ... как вы думаете, это будет хорошим дополнением?

CovertX 01.06.2018 12:52
Какие будет хорошим дополнением?
u_mulder 01.06.2018 14:33

Форма массива функции magic get.

CovertX 01.06.2018 23:02
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
42
0

Другие вопросы по теме