php - migraciones - ¿Puedo usar la capa de base de datos de Laravel independiente?
migraciones laravel (1)
Desde hace algún tiempo he estado mirando hacia el uso de un framework php para mi trabajo. He estado escribiendo estilo de procedimientos hasta hace poco y todavía estoy tratando de encontrar mi camino alrededor del mundo / estilo oop. Pensé que un framework php me ayudaría a escribir mejor código y estoy bastante seguro de que me inclinaré hacia el proyecto Laravel en un futuro cercano.
Ahora mismo necesito una capa de base de datos que pueda usar en mi código existente. Utilizo mysqli con declaraciones preparadas en este momento, ya que fue fácil de implementar (utilizando MySQL antes).
He estado viendo http://medoo.in como una forma "fácil" de usar una envoltura / clase pdo, pero la falta de actividad en la página de soporte y el hecho de que estoy trabajando en el uso de Laravel en el futuro , me hizo preguntarme si podría usar la capa de base de datos Laravel ahora para mi código existente.
¿Podría hacerse esto y tendría sentido o estoy malinterpretando y mezclando conceptos de estilo de código?
OMI es absolutamente válido para la transición a un enfoque OOP paso a paso.
A tu pregunta:
Sí, puedes usar elocuente independiente.
Aquí está el sitio de packagist: https://packagist.org/packages/illuminate/database Agregue "illuminate/database": "5.0.*@dev"
a su composer.json
y ejecute la composer update
. Ahora tendrás que arrancar elocuente. ( https://github.com/illuminate/database )
Lo siguiente se copia del archivo Léame del repositorio:
Instrucciones de uso
Primero, crea una nueva instancia de administrador "Capsule". Capsule pretende hacer que la configuración de la biblioteca para su uso fuera del marco de Laravel sea lo más fácil posible.
use Illuminate/Database/Capsule/Manager as Capsule;
$capsule = new Capsule;
$capsule->addConnection([
''driver'' => ''mysql'',
''host'' => ''localhost'',
''database'' => ''database'',
''username'' => ''root'',
''password'' => ''password'',
''charset'' => ''utf8'',
''collation'' => ''utf8_unicode_ci'',
''prefix'' => '''',
]);
// Set the event dispatcher used by Eloquent models... (optional)
use Illuminate/Events/Dispatcher;
use Illuminate/Container/Container;
$capsule->setEventDispatcher(new Dispatcher(new Container));
// Set the cache manager instance used by connections... (optional)
$capsule->setCacheManager(...);
// Make this Capsule instance available globally via static methods... (optional)
$capsule->setAsGlobal();
// Setup the Eloquent ORM... (optional; unless you''ve used setEventDispatcher())
$capsule->bootEloquent();
Una vez registrada la instancia de Capsule. Puedes usarlo así:
Usando el generador de consultas
$users = Capsule::table(''users'')->where(''votes'', ''>'', 100)->get();
Se puede acceder a otros métodos básicos directamente desde la cápsula de la misma manera que desde la fachada DB:
$results = Capsule::select(''select * from users where id = ?'', array(1));
Usando el generador de esquema
Capsule::schema()->create(''users'', function($table)
{
$table->increments(''id'');
$table->string(''email'')->unique();
$table->timestamps();
});
Usando el ORM elocuente
class User extends Illuminate/Database/Eloquent/Model {}
$users = User::where(''votes'', ''>'', 1)->get();
Para obtener más documentación sobre el uso de los diversos recursos de base de datos que proporciona esta biblioteca, consulte la documentación del marco Laravel.