如何调用php中不存在的类方法?

Viv*_*mbi 3 php oop overriding magento magic-methods

我只想创建像getFieldname()magento 中一样的函数。

例如:

在 Magento 中

getId()ID- 返回字段值

getName()Name- 返回字段值

我怎样才能创建这样的功能?在这种情况下请帮助我..

我想做的就像下面的代码一样,

Class Called{
    $list=array();
    function __construct() {
        
        $this->list["name"]="vivek";
        $this->list["id"]="1";
    }
    function get(){
        echo $this->list[$fieldname];
    }

}

$instance=new Called();

$instance->getId();
$instance->getName();
Run Code Online (Sandbox Code Playgroud)

Adr*_*uer 5

你可以使用神奇的方法 __call来解决你的情况

<?php
class Called
{
    private $list = array('Id' => 1, 'Name' => 'Vivek Aasaithambi');

    public function __call($name, $arguments) {
        $field = substr($name, 3);
        echo $this->list[$field];
    }
}

$obj = new Called();
$obj->getId();
echo "<br/>\n";
$obj->getName();

?>
Run Code Online (Sandbox Code Playgroud)

您可以阅读更多相关__call内容:

http://php.net/manual/en/language.oop5.overloading.php#object.call