Php sınıfları ile Yardım

1 Cevap php
class Controller {

    protected $_controller;
    protected $_action;
    protected $_template;

    public $doNotRenderHeader;
    public $render;

    function __construct($controller, $action) {

        $this->_controller = ucfirst($controller);
        $this->_action = $action;
        $model = ucfirst($controller);/* Conecting the model  class*/
        $this->doNotRenderHeader = 0;
        $this->render = 1;
        $modelName = ucfirst($model).'Model';
        new $modelName;
        $this->_template = new Template($controller,$action);

    }

    function set($name,$value) {
        $this->_template->set($name,$value);
    }


    function __destruct() {
        if ($this->render) {
            $this->_template->render($this->doNotRenderHeader);
        }
    }

}

Ben uygulamak ve sınıfların mvc yapısı bu örnek ile çalışmak okumak istiyorum, sınıfları ile çalışma, ben çok anlamıyorum bir acemi değilim, ama ben diziye saklıyorum fonksiyon seti ile, bir sorun var , bazı bilgiler ve ardından i işlevinin içine kullanırken, sınıf şablonu içine gönderdi __ Ben $ this_template nesnesine veri kaydetmek rol seti () fonksiyonu ile yolluyorum inşa, o ok çalışıyor, ama yeni bir oluştururken olduğumda Bu sınıfın veya genişletilmiş sınıfta fonksiyon, çalışmıyor ...

The question is - how to do , when i create a function in Controller class , to set in array the value that i need , to work with them inside class template :) thanks very much for helping ..and sorry for my English

class Template {
    protected $variables = array();


function set($name,$value) {
	$this->variables[$name] = $value;
}


    function render(){
        extract($this->variables); print_r($this->variables);
    }
}

I need with function set() from Class Controller to export data inside class Template , and why when i creating a function inside Class Controller ex :

function functionName() {
   $data=array('a','b');
   $this->set('data',$data);
}

ve içeride class Template, i print_r($this->variables); koyarak, ve dizi boştur

1 Cevap

__construct($controller, $action) {

        $this->_controller = ucfirst($controller);
...}

Değişken $ denetleyicisi türü tam olarak nedir? bir dize belki de, nedir? ve "controller_name" aranmalıdır?

$model = ucfirst($controller);/* Conecting the model  class*/
...
$modelName = ucfirst($model).'Model';

Ikinci satırda ucfirst gereksiz değil mi?

new $modelName;

olmalıdır

$this->somevariable = new Someclass($modelName);

anyway, you have to go back to the drawing board and clean this up. Perhaps this is too complex of an exercise for your first project using classes.