ФорумПрограммированиеPHP для идиотовPHP и ООП → Жду критики предложений

Жду критики предложений

  • uralkid

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 28 декабря 2010 г. 16:13

    Чеканите мой вьювер.


    <?php

    class View {

    protected $_block = array();

    private static $_instance = FALSE;

    protected $_data = array();

    private function __construct(){
    }

    public function GetInstance(){
    if (self::$_instance === false) {
    self::$_instance = new View;
    }
    return self::$_instance;
    }

    public function SetViewClassFile($file){
    $file = 'application/view/'.$file.'.php';
    if(file_exists($file)){
    require_once($file);
    }
    else {
    throw new Exception('���� '.$name.' �� ������');
    }
    }

    public function Set($name,$data){
    $this->_block[$name] = $data;
    }

    public function __call($name,$val){

    if(array_key_exists($name,$this->_block)){
    $this->setViewClassFile($name);
    return new $name($this->_block[$name]);
    }
    }

    public function __set($name,$value){

    $this->_block[$name] = $value;
    }

    public function __get($name){
    return $this->_block[$name];
    }

    public function display() {
    $this->render();
    }

    public function render() {
    require_once('application/templates/index.tpl');
    }


    }

    ?>




    <?php

    class main {
    public $data;

    public function __construct($data){
    $this->data = $data;
    $this->SetFile();
    }

    public function SetFile(){
    include('Application/templates/main.tpl');
    }

    }

    ?>



    <?php

    include('view.php');

    $view = View::GetInstance();


    $main[] = array('title'=>'Main Block','text'=>'Text Main Block');
    $main[] = array('title'=>'Main Block2','text'=>'Text Main Block2');

    $view->main = $main;

    $view->display();
    ?>


    1. www_1.rar (23)
  • master

    Сообщения: 3242 Репутация: N Группа: Джедаи

    Spritz 28 декабря 2010 г. 16:39, спустя 25 минут 35 секунд

    на троечку
    не всё полезно, что в swap полезло
  • uralkid

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 28 декабря 2010 г. 16:59, спустя 20 минут 17 секунд

    Подкинешь идей?
  • artoodetoo

    Сообщения: 5146 Репутация: N Группа: в ухо

    Spritz 28 декабря 2010 г. 19:30, спустя 2 часа 30 минут 46 секунд

    Для чего здесь синглтон?
    ιιlllιlllι унц-унц
  • uralkid

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 28 декабря 2010 г. 21:27, спустя 1 час 57 минут 1 секунду

    Вобщем суть такая, есть основной класс main, есть классы такие как db,router,session,view они все синглтоны. Так вот основной класс смотрит конфиг и подключает в массив $lib db,router и т.д. далее роутер занимаеться роутингом урлов и запускает тот или инной контроллер, в контроллере вызывается вызывает модель и потом полученные данные отправляет вьюверу. вот как то так.
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 28 декабря 2010 г. 21:36, спустя 9 минут 29 секунд

    ппц, я подумал это вася_ц
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • uralkid

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 28 декабря 2010 г. 21:42, спустя 5 минут 33 секунды

    слава богу что не муха ц
  • md5

    Сообщения: 11956 Репутация: N Группа: в ухо

    Spritz 28 декабря 2010 г. 22:00, спустя 18 минут 20 секунд

    фу блять) я уже испугался)
    все умрут, а я изумруд
  • ivanscm

    Сообщения: 1251 Репутация: N Группа: Джедаи

    Spritz 28 декабря 2010 г. 22:03, спустя 2 минуты 41 секунду


    ппц, я подумал это вася_ц
    аха я тож. потом когда мастер сказал на 3. я посмотрел на ник :)uralkid, меняй аватар, ты вводишь нас в заблуждение.
    С возвращением, Пiха! hyperoff.ru - качественный хостинг php
  • uralkid

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 28 декабря 2010 г. 22:11, спустя 8 минут 4 секунды

    Ну че киньте пару коментов к коду.
  • ivanscm

    Сообщения: 1251 Репутация: N Группа: Джедаи

    Spritz 28 декабря 2010 г. 22:28, спустя 17 минут 16 секунд

    uralkid, нет анимации
    С возвращением, Пiха! hyperoff.ru - качественный хостинг php
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 28 декабря 2010 г. 22:29, спустя 1 минуту 6 секунд

    фейс контроль
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • ivanscm

    Сообщения: 1251 Репутация: N Группа: Джедаи

    Spritz 28 декабря 2010 г. 22:31, спустя 1 минуту 23 секунды

    uralkid, покажи истиное лицо.
    гы 666
    С возвращением, Пiха! hyperoff.ru - качественный хостинг php
  • uralkid

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 28 декабря 2010 г. 22:46, спустя 15 минут 17 секунд

  • master

    Сообщения: 3242 Репутация: N Группа: Джедаи

    Spritz 28 декабря 2010 г. 23:11, спустя 24 минуты 59 секунд

    Подкинешь идей?

    вьювер должен возвращать строку а не печатать. у него должна быть одна единственная функция

    interface iViewer {
    /**
    * @param string $template
    * @param array $data
    * @return string
    */
    function fetch($template, array $data=array());
    }


    при парсинге шаблона должны отключаться нотайсы и варнинги
    Спустя 240 сек.
    синглтон не нужен. уж если так хочется и лень писать нормальную фабрику - используй синглтон фабрики, но не в том же классе
    не всё полезно, что в swap полезло

Пожалуйста, авторизуйтесь, чтобы написать комментарий!