1. PHP / Говнокод #5182

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    <?php
    class VIEW_View
    {
    	private $_path;
    	private $_template;
    	private $_var = array();
    
    	public function __construct($path = '')
    	{
    		$this->_path = $_SERVER['DOCUMENT_ROOT'] . $path;
    	}
    
    	public function set($name, $value)
    	{
    		$this->_var[$name] = $value;
    	}
    
    	public function __get($name)
    	{
    		if (isset($this->_var[$name])) return $this->_var[$name];
    		return '';
    	}
    
    	public function display($template, $strip = true)
    	{
    		$this->_template = $this->_path . $template;
    		if (!file_exists($this->_template)) die('Шаблона ' . $this->_template . ' не существует!');
    
    		ob_start();
    		include($this->_template);
    		echo ($strip) ? $this->_strip(ob_get_clean()) : ob_get_clean();
    	}
    
    	private function _strip($data)
    	{
    		$lit = array("\\t", "\\n", "\\n\\r", "\\r\\n", "  ");
    		$sp = array('', '', '', '', '');
    		return str_replace($lit, $sp, $data);
    	}
    
    	public function xss($data)
    	{
    		if (is_array($data)) {
    			$escaped = array();
    			foreach ($data as $key => $value) {
    				$escaped[$key] = $this->xss($value);
    			}
    			return $escaped;
    		}
    		return htmlspecialchars($data, ENT_QUOTES);
    	}
    }
    ?>

    Тема: "foreach в шаблонизаторе." http://www.php.ru/forum/viewtopic.php?t=29937

    Заголовок в блоге: "Меня зовут — Анатолий Ларин - Архив блога - Прощай Smarty или простой шаблонизатор"
    http://larin.in/archives/16

    Запостил: Devzirom, 08 Января 2011

    Комментарии (12) RSS

    • Блять, даже тему удалили
      Ответить
    • прощай смарти, здравствуй смартиговноподобный!
      Ответить
      • не, ну вот правда, не понимаю. Вот ругают смарти (и есть за что), выкидывают (правильно), изобретают свой - и получается похожий, только хуже!
        а где прогресс, где революция?

        за что ругали, то опять же изобретают - нелогично же
        Ответить
        • Свои велики ближе к телу.
          Ответить
          • И сидение в попу не заходит! хД
            Ответить
            • ви таки от жизни отстали
              http://www.spongywonder.com/Content/images/large_carpenter.jpg
              Ответить
              • Профессиональная модель... Не препятствует говнокодингу. Есть функция автоматического наброса говна на вентилятор тормозную систему.
                Ответить
            • That's a smart answer to a tricky qusteion
              Ответить
      • This article aciheved exactly what I wanted it to achieve.
        Ответить
    • Ну и чем это говнокод?
      Это чЁ не работает?
      Насрать говна мы аш за глаза ....
      Ответить
      • только наличием ненужного метода xss
        Ответить

    Добавить комментарий