Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/Web обвязка/[шара] L2jscheme
Search

[шара] L2jscheme

6 replies332 viewsCurrently viewing: 1
Mangoost
Mangoost

User

Участник

Posts: 34

На форуме с: 04/26/2009

Репутация: +9

Рейтинг: 0

· 08/22/2009, 08:03 PM

Данная библиотека парсит SQL запросы по определенной схеме.

Пример:

Код
<?php
/**
* Index file.
* Testing L2JScheme.
*
* @author mangoost <[email protected]>
* @license http://www.gnu.org/licenses/gpl.html
* @version 0.1-dev
*/

// Подключаем библиотеку
require 'L2JScheme/L2JScheme.php';

// Конфигурация для библиотеки
// ключ => схема
$config = array(
  'l2jserver_it' => 'l2jserver_it',
  'l2jserver_t2_2' => 'l2jserver_t2_2'
);

// Создаем новый экземпляр библиотеки(класса)
$object = new L2JScheme($config);

// SQL запрос
$sql = "SELECT * FROM {table:accounts} WHERE {col:accounts:login}='user' and {col:accounts:access}=0;";

// Для того что бы выполнить парсинг необходимо обратится к любому ключу который мы указали в конфигурации
// $object->ключ->parseSql($sql);

echo "<pre>";
echo 'Global SQL: '.$sql;
echo "</pre>";

echo "<pre>";
echo 'L2JServer IT <br />';
echo ' Result SQL: '.$object->l2jserver_it->parseSql($sql);
echo "</pre>";

echo "<pre>";
echo 'L2JServer T2.2 <br />';
echo ' Result SQL: '.$object->l2jserver_t2_2->parseSql($sql);
echo "</pre>";


В результате:
Global SQL: SELECT * FROM {table:accounts} WHERE {col:accounts:login}='user' and {col:accounts:access}=0;

L2JServer IT
Result SQL: SELECT * FROM accounts WHERE login='user' and access_level=0;

L2JServer T2.2
Result SQL: SELECT * FROM accounts WHERE login='user' and accessLevel=0;

Пример схем:
L2JServer IT
Код
# Tables
tables:
  accounts: accounts

# Columns
cols:
  accounts: { login: login, access: access_level }


L2JServer T2.2
Код
# Tables
tables:
  accounts: accounts

# Columns
cols:
  accounts: { login: login, access: accessLevel }


Требования:
- PHP 5
- PCRE

Для написание схем баз данных разных серверов нужно знать язык YAML
_http://ru.wikipedia.org/wiki/YAML


[attachment=4034:L2JScheme.zip]

Dump: _http://dump.ru/file/3282838

0
Анатолий
Анатолий

User

Бывалый

Posts: 496

На форуме с: 11/19/2008

Репутация: +124

Рейтинг: 0

· 08/23/2009, 07:48 AM

Что это, можно объяснить для чайников?

— Random Post Generator

0
BuDulay
BuDulay

User

Бывалый

Posts: 192

На форуме с: 06/30/2007

Репутация: +209

Рейтинг: 0

· 08/23/2009, 11:08 AM

Объясняю для чайников: данная библа полезна для написания CMS и движков для Л2 с использованием разных баз данных (как в примере - интерлюдия и грация), т.е. без использования громоздких конструкций и больших кусков кода.

— Дурак дураком

0
xgl
xgl

User

Участник

Posts: 95

На форуме с: 12/09/2007

Репутация: +176

Рейтинг: 0

· 08/30/2009, 08:48 AM

Идея наша однако.
И как показывает практика, лучше прям запросы выносить, а не столбцы, особенно актуально для запросов с джоинами.

0
Mangoost
Mangoost

User

Участник

Posts: 34

На форуме с: 04/26/2009

Репутация: +9

Рейтинг: 0

· 08/31/2009, 05:39 AM

Не знаю чея это идея, но я писал с нуля.
Я даже ваш модуль толком и не смотрел.

А вообще я бы еще написал бы по другому.

Схема:


Пример:

Код
$configuration = array(
    'server_1' => array('controller' => 'L2JServer', 'params' => array('...')),
    'server_2' => array('controller' => 'L2JFree', 'params' => array('...'))
);
$object = new BaseClass($configuration);
$object->server_1->method($var);
$object->server_2->method($var);
$object->method($var);


В результате мы получим удобную работу гибкую работу с серверам в частности с database, telnet и много другое.
Контроллеры могут использовать разные плагины, хелперы, библиотеки(например работа с разными базами данных (MySQL, MSSQL)), модели данных.

0
xgl
xgl

User

Участник

Posts: 95

На форуме с: 12/09/2007

Репутация: +176

Рейтинг: 0

· 09/02/2009, 10:28 AM

Да я уже думал на классах все делать, ща базу знаний вояю, 1-ый раз попробовал на пхп заюзать классы, реально удобно, только не привычно после функционального/структурного постоения кода. И в башке как-то все эти структуры пока сложновато правильно строить)
Но надо учиться, ибо ООП это круто, я это понял =)

0
Topic is closed for replies