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

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

ruen
Форум/Флуд/Философия(программирования) хД
Поиск

Философия(программирования) хД

3 ответов94 просмотровСейчас просматривают: 1
D
Doomer
· 02.03.2010, 21:53

Вот сижу голову ломаю
db.php

Раскрывающийся текст

Код
<?
class stream
{
    public $mysql,$mssql;
            
    function __construct()
    {
                
    }
            
    function add_mysql($name=null)
    {
        static $i = 0;
        $this->mysql[$name?$name:$i++] = new mysql($value["host"],$value["login"],$value["password"],$value["db"],$value["encode"]);
    }
            
    function add_mssql()
    {
                
    }
}


class db
{
    public $stream;
    
    function __construct($type = null,$value = array(),$name=null)
    {    
        if($type)
        {
            $this->stream = new stream();
            $this->add_stream($type,$value,$name);
        }
        else
        {
            $this->stream = new stream();
        }
    }
    
    public function add_stream($type,$value,$name=null)
    {
        switch($type)
        {
            case "mysql":
                include_once("/db/mysql.php");
                $this->stream->add_mysql($name?$name:null);
            break;
        }
    }
    
    public function return_stream($type,$value)
    {
        switch($type)
        {
            case "mysql":
                include_once("/db/mysql.php");
                return new mysql($value["host"],$value["login"],$value["password"],$value["db"],$value["encode"]);
            break;
        }
    }
}
?>



mysql.php просто класс с конструктором
Раскрывающийся текст
Код
<?
class mysql
{
    public $connect;

    function __construct($host,$login,$password,$db,$encode)
    {
    }
    
    function test()
    {
        print "as";
    }
}
?>


Вот делаю класс работы с различными системами баз хранения
вообщем подключения представляю как потоки

Можно создать древовидной подключение
дб->поток->тип подключения->функции
или вернуть позначению
mysql = дб->создать подключение
Общий набор функций

У кого какое представления API, кто, как видит себе концепцию?
Я так пока представляю
Раскрывающийся текст

Код
<?
include_once("import/object/db.php");
$db = new db("mysql",$value);
$db->stream->mysql[0]->test();

$db = new db();
$mysql = $db->return_stream("mysql",$value);
$mysql->test();
?>


Пишим свои соображения
У меня тут, есть мысль использовать пространство имён...

0
К
Кирилл

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

Участник

Постов: 53

На форуме с: 09.05.2009

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

Рейтинг: 0

· 02.03.2010, 22:05

мммм.... может глупость, но не проще ли создать классы подключения к каждой БД, а потом написать свитчер(выбор) ну и конструкторы фнкций под каждую БД с одинаковым названием функций но с разным составом?

0
D
Doomer
· 02.03.2010, 22:10

nimbo: мммм.... может глупость, но не проще ли создать классы подключения к каждой БД, а потом написать свитчер(выбор) ну и конструкторы фнкций под каждую БД с одинаковым названием функций но с разным составом?

не я хочу создать рефлексивность в классах что бы в потоке было несколько подключения, но пока удобный на вид интерфейс не приходит в голову to_become_senile.gif

0
Войдите или зарегистрируйтесь чтобы ответить