2017-02-15 11 views
1

Я знаю, что есть хороший способ определения соединений через app/config/database.php. Но я не думаю, что для меня есть водитель.Laravel custom db driver

Представьте, что мой db читается из файла, как txt. (Да, это мой клиент db, вроде).

Так что в этом файле, прежде чем я

'connections' => 
    'filedb' => array(
     'driver' => 'what-should-i-put-here' 

я нужен реальный драйвер!

В настоящее время он использует базу данных txt базы данных, но в будущем мы будем мигрировать в mysql, поэтому текущая красноречивая реализация будет для вас отличной. Но сейчас я хотел бы реализовать драйвер для моего txt db, поэтому теперь я могу полностью использовать красноречивый.

Предоставляет ли laravel возможность реализовать собственный драйвер? В обоих случаях (true или false) у вас есть предложения по этому поводу?

ответ

5

Laravel не предлагает такой драйвер.

Компонент базы данных Laravel использует PDO внутри, что означает, что он может работать только с базами данных, поддерживаемых PDO.

Вы могли бы построить драйвер, который будет поддерживать текстовые файлы, которые вы используете, но если честно усилие кажется больше, чем переход проекта в MySQL, независимо от его размера :)

Если вам нужен пример, посмотри на здесь: https://github.com/jenssegers/laravel-mongodb. Laravel не предлагает поддержку MongoDB, но ее можно добавить с помощью этой библиотеки. Просмотрите код - это поможет визуализировать объем работы, который потребуется.

+0

Это чертовски сложная задача, теперь я имею дело с основными поставщиками. Но проект монго предоставил мне представление о том, что я должен делать. Спасибо. – Illiax