Autor Wiadomość
Gala
PostWysłany: Nie 19:45, 12 Lis 2006    Temat postu: Smarty => OPT by Thion

marty jest według Ciebie za mało wydajne? Chcesz je zmienić na coś lepszego? W tym poradniku opiszę jak to (mniej więcej) zrobić.

Ściągamy OPT 1.0.0 RC2 (najnowsza wersja w czasie pisania artykułu). Usuwamy katalog libs/ z folderu gry i tworzymy opt/ - tam umieszczamy wszystkie pliki .php z folderu lib/ z ściągniętego OPT.

Teraz przyszedł czas, na najtrudniejsze zmiany, zmiany w plikach (przykład obejmuje head.php, smarty'iego należy jeszcze zmienić w register.php, index.php, aktywacja.php - analogicznie do przykładu).

Otwieramy head.php - szukamy linijki dołączenia Smarty'iego, czyli:
require 'libs/Smarty.class.php';

Zastępujemy to tym:
define('OPT_DIR', './opt/');
require_once('./opt/opt.class.php');

Następnie przechodzimy do inicjalizacji Smarty'iego, czyli:
$smarty = new Smarty;
$smarty -> compile_check = true;

I zastępujemy to:
$smarty = new optClass;

Teraz nadszedł czas na ustawienie folderu do kompilacji, czyli zastępujemy to:
if ($player -> graphic != '')
{
$smarty -> template_dir = "./templates/".$player -> graphic;
$smarty -> compile_dir = "./templates_c/".$player -> graphic;
}
else
{
$smarty -> template_dir = './templates';
$smarty -> compile_dir = './templates_c';
}

Tym:
if ($player -> graphic != '')
{
$smarty -> root = "./templates/".$player -> graphic;
$smarty -> compile = "./templates_c/".$player -> graphic;
}
else
{
$smarty -> root = './templates';
$smarty -> compile = './templates_c';
}

Teraz będzie nam potrzebny ConTEXT. Dlaczego? Smarty do wyświetlania plików .tpl użwywa funkcji display();, natomiast OPT parse(); więc należy je zamienić.

Otwieramy wszystkie, które są używane przez Smarty'iego i zmieniamy za pomocą ConTEXT'a wszystkie wyrazy display(); na parse();

Jest jeszcze jeden problem - Smarty odczytuje inaczej sekcje niż OPT. Dlatego należy je "wymienić" na te z OPT.

Teraz Twoja kolej - spróbuj sam wymienić sekcje Smarty'iego na sekcje OPT. Jeżeli będziesz miał problemy - w pacze OPT są przykłady, możesz się na nich wzorować (example7.php).


Artykuł pochodzi z serwisu Vallheru Community.

Powered by phpBB © 2001, 2005 phpBB Group