Перейти к содержимому
La2Base
Главная
ЗагрузкиВикиФорумFAQ
Поиск
ruen
Регистрация Войти
ГлавнаяФайлыВикиВойти
  • Главная
  • Загрузки
  • Вики
  • FAQ
  • Обратная связь
  • О проекте
  • Правила
  • Конфиденциальность
  • Условия использования

© 2026 la2base.com · Все права защищены

ruen
Форум/Web обвязка/[шара] L2jscheme
Поиск

[шара] L2jscheme

6 ответов331 просмотровСейчас просматривают: 1
Mangoost
Mangoost

Пользователь

Участник

Постов: 34

На форуме с: 26.04.2009

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

Рейтинг: 0

· 22.08.2009, 20:03

Данная библиотека парсит 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
Анатолий
Анатолий

Пользователь

Бывалый

Постов: 496

На форуме с: 19.11.2008

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

Рейтинг: 0

· 23.08.2009, 07:48

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

— Random Post Generator

0
BuDulay
BuDulay

Пользователь

Бывалый

Постов: 192

На форуме с: 30.06.2007

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

Рейтинг: 0

· 23.08.2009, 11:08

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

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

0
xgl
xgl

Пользователь

Участник

Постов: 95

На форуме с: 09.12.2007

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

Рейтинг: 0

· 30.08.2009, 08:48

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

0
Mangoost
Mangoost

Пользователь

Участник

Постов: 34

На форуме с: 26.04.2009

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

Рейтинг: 0

· 31.08.2009, 05:39

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

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

Схема:


Пример:

Код
$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

Пользователь

Участник

Постов: 95

На форуме с: 09.12.2007

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

Рейтинг: 0

· 02.09.2009, 10:28

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

0
Тема закрыта для ответов