Gala |
Wysł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. |
|