Получить значение функции в другом файле, возвращенном в массив - PullRequest
0 голосов
/ 05 июня 2019

У меня есть функция в файле, где она сообщает значения в массиве, но мне нужно получить эти значения в другом файле.

Я использую magento и мне нужно получить информацию из функции, в которой указано имя клиента, который сделал запрос, я попытался получить first_name, но он не сработал.

FileOne.php

public function getCustomerInfo($customer, $order)
    {

        $email = htmlentities($customer->getEmail());
        if ($email == "") {
            $email = $order['customer_email'];
        }

        $first_name = htmlentities($customer->getFirstname());
        if ($first_name == "") {
            $first_name = $order->getBillingAddress()->getFirstname();
        }

        $last_name = htmlentities($customer->getLastname());
        if ($last_name == "") {
            $last_name = $order->getBillingAddress()->getLastname();
        }

        return array('email' => $email, 'first_name' => $first_name, 'last_name' => $last_name);
    }

FILE Two.php

require(../Model/fileone.php

public function getName(){

            $name = $this->getCustomerInfo($customer, $order);
            $first_name = $name['first_name'];
            return $first_name;
    }

Мне нужно отобразить имя клиента в first_name, но оно не отображается.

1 Ответ

0 голосов
/ 05 июня 2019

У вас есть два файла, один с функцией, которую вы хотите вызвать из другого.

Чтобы использовать функцию getCustomerInfo() из другого файла, вам нужно будет импортировать класс, содержащий эту функцию (используяuse или require_once()).

Если вы импортируете другой файл, то ссылка на функцию не будет использовать this-> до вызова функции, поскольку функция getCustomerInfo() не является частью того же класса, что ифункция getName().

Поскольку в предоставленных вами примерах эти функции не являются частью классов, вы должны иметь возможность require_once(fileOne.php); в начале файла fileTwo.php и вызывать getCustomerInfo() в любом месте.внутри этого файла.

При вызове getCustomerInfo() необходимо иметь два аргумента в соответствии с объявлением функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...