[PHP] Template System

Аватар
~jeff
Извън линия
Потребител
Потребител
Мнения: 158
Регистриран на: 24 Ное 2018, 12:39
Се отблагодари: 2 пъти
Получена благодарност: 27 пъти

[PHP] Template System

Мнение от ~jeff » 25 Ное 2018, 13:19

Здравейте, представям ви една малка, лесна template система за вашият сайт.


Първо създавате файл на имe: index.php

Код за потвърждение: Избери целия код

<?php
/*******************************************************************************
*  Author:  Krasimir "jeff" Kolev
*  Website: http://alienplay.net
*******************************************************************************/

session_start ();

ob_start ();
error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );

define ( 'WEB', true );
define ( 'ROOT_DIR', dirname ( __FILE__ ) );
define ( 'INCLUDE_DIR', ROOT_DIR . '/include/' );

require_once( INCLUDE_DIR . 'template.inc.php' );

$engine = new template;
$page = $engine -> _template('main');
$array = array(
'username' => 'Jeff',
'website' => 'http://alienplay.net'
);
echo $engine -> parse_($page, $array);
?>
---------------------------------------------------------------------------------------------------

Второ създаваме една папка include и в тази папка създаваме файл на име: template.inc.php

Код за потвърждение: Избери целия код

<?php
/*******************************************************************************
*  Author:  Krasimir "jeff" Kolev
*  Website: http://alienplay.net
*******************************************************************************/

if( ! defined( 'WEB' ) ) die('<code>PERMISSION DENIDED!</code>');

class template
{
    var $template_dir     = 'templates/default/'; //Direktoriqta na vashite .tpl failove
    var $file_ext         = '.tpl';
    var $buffer;
    
    function _template ($file) {
        if( file_exists( $this -> template_dir . $file . $this -> file_ext ) )
        {
            $this -> buffer = file_get_contents( $this -> template_dir . $file . $this -> file_ext );
            return $this -> buffer;
        } else {
            echo $this -> template_dir . $file . $this -> file_ext . ' does not exist!';
        }
    }
	
    function parse_($input, $array) {    
            $search = preg_match_all('/{.*?}/', $input, $matches);        
            for($i = 0; $i < $search; $i++)
            {
                $matches[0][$i] = str_replace(array('{', '}'), null, $matches[0][$i]);
            }
            foreach($matches[0] as $value)
            {
                $input = str_replace('{' . $value . '}', $array[$value], $input);
            }
            return $input;
    }
}
?>
---------------------------------------------------------------------------------------------------

Трето, връщаме се при файла index.php, създаваме папка templates, после вътре в нея, създаваме папка default и един файл на име main.tpl

Код за потвърждение: Избери целия код

Здравей, <strong>{username}</strong><br />
Посети: <a href="">{website}</a>
Go to work, get married, have some kids, pay your taxes, pay your bills, watch your tv, follow fashion, act normal, obey the law and repeat after me: I AM FREE

  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Уроци”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 5 госта