ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

light-engine
  #1  
Старый 07.03.2010, 02:58
Аватар для AtomoS
AtomoS
Познающий
Регистрация: 17.02.2010
Сообщений: 64
Провел на форуме:
132243

Репутация: 1
По умолчанию light-engine

Всем привет. неськолько месяцев назад начал разрабатывать новый бесплатный продукт: light_engine - это простая и лёгкая веб-обвязка для мморпг игры lineage2.

С тех времён я достиг многово, но одно мне не удалось сделать до сих пор - шаблонизатор.

Собственно я ищу чеговека кот.поможет мне его сделать для моей вебки.
Исходники и sql для БД предоставлю в icq.
 
Ответить с цитированием

  #2  
Старый 07.03.2010, 03:11
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

http://bit.ly/bshHSo
To read.
 
Ответить с цитированием

  #3  
Старый 07.03.2010, 06:22
Аватар для AtomoS
AtomoS
Познающий
Регистрация: 17.02.2010
Сообщений: 64
Провел на форуме:
132243

Репутация: 1
По умолчанию

одно to read, но другое to write..
я просто не могу взять любой шаблонизатор и прикрутить его себе.
я просто не пойму как это сделть в моём случае..

Последний раз редактировалось AtomoS; 07.03.2010 в 06:26..
 
Ответить с цитированием

  #4  
Старый 09.03.2010, 08:03
Аватар для AtomoS
AtomoS
Познающий
Регистрация: 17.02.2010
Сообщений: 64
Провел на форуме:
132243

Репутация: 1
По умолчанию

need help.
 
Ответить с цитированием

  #5  
Старый 09.03.2010, 10:06
Аватар для LStr1ke
LStr1ke
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
Провел на форуме:
1455812

Репутация: 150
По умолчанию

Тема шаблонизации обсуждалась много раз. Юзай поиск.
Бесплатно врядли ты найдешь хорошего помошника
 
Ответить с цитированием

  #6  
Старый 09.03.2010, 12:55
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Тут знаешь что самое главное,это то, что не нужно усердствовать в писании_велосипедов.
Много раз убеждался на собственном опыте,что если есть готовые варианты,лучше юзать их(в плане,хорошие варианты).Если тебе нужен простой шаблонизатор,с его обычным функционалом,то лучше использую готовые решения,проверенные временем и пользователями.Советую Smarty,Quick.
Но вот если тебе нужно индивидуальное решение,как извращенство с загрузкой шаблонов с соседенего сервера по ftp, их дальнейшей обработкой сначала десктопным приложением,а потом уже выводом(как пример),то тут уже придется писать свой код.
 
Ответить с цитированием

  #7  
Старый 09.03.2010, 15:57
Аватар для AtomoS
AtomoS
Познающий
Регистрация: 17.02.2010
Сообщений: 64
Провел на форуме:
132243

Репутация: 1
По умолчанию

кто желает попробовать => _http://dump.ru/file/4046646
я просто не пойму как мне всё это организовать.
 
Ответить с цитированием

  #8  
Старый 09.03.2010, 23:03
Аватар для Nelzone
Nelzone
Постоянный
Регистрация: 12.04.2008
Сообщений: 403
Провел на форуме:
4700216

Репутация: 261
По умолчанию

в index.php

PHP код:
<?php
require_once 'templates/templates.class.php';
$tpl = new template();

    
$tpl->load_template('header.tpl');
    
$tpl->set('{nameurl}'$nameurl);
    
$tpl->set('{deslurl}'$deslurl);
    
$tpl->compile('header');
    echo 
$tpl->result['header'];
    
$tpl->global_clear();
?>
шаблонизатор templates.class.php

PHP код:
<?php

class template {
    
    var 
$dir '.';
    var 
$template null;
    var 
$copy_template null;
    var 
$data = array();
    var 
$block_data = array();

    
/* дада это */
    
var $result = array('temp' => '',
                        
'vote' => '',
                        
'speedbar' => '',
                        
'content' => ''
                        
);

    var 
$template_parse_time 0;
    
    function 
set($name $var) {
        if (
is_array($var) && count($var)) {
            foreach (
$var as $key => $key_var) {
                
$this->set($key $key_var);
            } } else 
$this->data[$name] = $var;
    }

    function 
set_block($name $var) {
        if (
is_array($var) && count($var)) {
            foreach (
$var as $key => $key_var) {
                
$this->set_block($key $key_var);
            } } else 
$this->block_data[$name] = $var;
    }    
    
    function 
load_template($tpl_name) {
    
$time_before $this->get_real_time();

        if (
$tpl_name == '' || !file_exists($this->dir "/templates/" $tpl_name)) { die ("Невозможно загрузить шаблон: "$tpl_name); return false;}
        
$this->template file_get_contents($this->dir "/templates/" $tpl_name);

        if ( 
stristr$this->template"{include file=" ) ) {

            
$this->template preg_replace"#\\{include file=['\"](.+?)['\"]\\}#ies","\$this->sub_load_template('\\1')"$this->template);

        }
        
        
$this->copy_template $this->template;

    
$this->template_parse_time += $this->get_real_time() - $time_before;
    return 
true;
    }

    function 
sub_load_template($tpl_name) {

        
$tpl_name totranslit($tpl_name);

        if (
$tpl_name == '' || !file_exists($this->dir DIRECTORY_SEPARATOR $tpl_name)) { die ("Невозможно загрузить шаблон: "$tpl_name); return false;}
        
$template file_get_contents($this->dir DIRECTORY_SEPARATOR $tpl_name);
        
        return 
$template;
    }

    function 
_clear() {

    
$this->data = array();
    
$this->block_data = array();
    
$this->copy_template $this->template;

    }

    function 
clear() {

    
$this->data = array();
    
$this->block_data = array();
    
$this->copy_template null;
    
$this->template null;

    }

    function 
global_clear() {

    
$this->data = array();
    
$this->block_data = array();
    
$this->result = array();
    
$this->copy_template null;
    
$this->template null;

    }
    
    function 
compile($tpl) {

    
$time_before $this->get_real_time();

    foreach (
$this->data as $key_find => $key_replace) {
                
$find[] = $key_find;
                
$replace[] = $key_replace;
            }

    
$result str_replace($find$replace$this->copy_template);

    if (
count($this->block_data)) {
        foreach (
$this->block_data as $key_find => $key_replace) {
                
$find_preg[] = $key_find;
                
$replace_preg[] = $key_replace;
                }

    
$result preg_replace($find_preg$replace_preg$result);
    }

    if (isset(
$this->result[$tpl])) $this->result[$tpl] .= $result; else $this->result[$tpl] = $result;

    
$this->_clear();

    
$this->template_parse_time += $this->get_real_time() - $time_before;
    }

    function 
get_real_time()
    {
        list(
$seconds$microSeconds) = explode(' 'microtime());
        return ((float)
$seconds + (float)$microSeconds);
    }
}
?>

дальше сам крути под себя...
 
Ответить с цитированием

  #9  
Старый 10.03.2010, 09:01
Аватар для AtomoS
AtomoS
Познающий
Регистрация: 17.02.2010
Сообщений: 64
Провел на форуме:
132243

Репутация: 1
По умолчанию

видел такое. пытался. но нифига не молучилось у меня..
 
Ответить с цитированием

  #10  
Старый 10.03.2010, 10:28
Аватар для Nelzone
Nelzone
Постоянный
Регистрация: 12.04.2008
Сообщений: 403
Провел на форуме:
4700216

Репутация: 261
По умолчанию

значит руки не отуда растут бросай
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Продам пачку шеллов и фтп Light ??? Доступы, shells, ftp - Покупка, продажа 15 08.10.2009 10:42
Symantec Scan Engine Multiple Vulnerabilities NeMiNeM Forum for discussion of ANTICHAT 1 25.04.2006 18:08



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ