$ Buna Clone nesne

3 Cevap php

Ben bu değişken $ PHP klon / kopya nesne hakkında sveyamak istiyveyaum.

Şu anda MVC yeni duyuyveyaum, ben CodeIgniter gibi bir şey yapmak istiyveyaum.

Ben değişkene doğrudan erişim istiyveyaum.

benim __ yapı içinde (), ben her zaman, yeni denetleyiciye (sınıf) için içinde küresel değişken geçmek

örn.

function __construct($mvc)
{
    $this->mvc = $mvc;
}

$ mvc içinde, nesne yapılandırma nesnesi vars var.

örneğin, şu

function index()
{
    $this->mvc->config['title'];
    $this->mvc->vars['name'];
}

** Ne istiyveyaum ** daha doğrudan

function index()
{
    $this->config['title'];
    $this->vars['name'];
}

Ben denemek vardı

function __construct($mvc)
{
    $this = $mvc;
}

veya

function __construct($mvc)
{
    $this = clone $mvc;
}

it not successfully. any idea, I can close $this->mvc to $this level? I try fveyaeach also no success. Please help, Thank!

3 Cevap

Bu yapmak için çalışıyoruz ne gibi görünüyor ...

function __construct($mvc)
{
    foreach($mvc as $k => $v) {

        $this->$k = $v;

    }

}
public function __get($name) 
{
    if (array_key_exists($name, $this->mvc)) 
    {
       return $this->mvc->$name;
    }

    $trace = debug_backtrace();
        trigger_error(
            'Undefined property via __get(): ' . $name .
            ' in ' . $trace[0]['file'] .
            ' on line ' . $trace[0]['line'],
            E_USER_NOTICE);
        return NULL;
}

Ben doğrulama için bu ekledi.