如何在 Illuminate 库中创建数据库连接作为 Illuminate\Database\ConnectionInterface 实例的实例?
How to create database connection as instance of instance of Illuminate\Database\ConnectionInterface in Illuminate library?
我正在使用 slim 框架开发 restful 应用程序。我正在使用一个使用 illuminate 数据库的会话管理器。它要求我使用 Laravel 的 illuminate 实例创建数据库连接。但是我收到一个错误。这是我的代码:
<?php
require 'lib/vendor/PHPMailer/PHPMailerAutoload.php';
require 'lib/init.php';
require 'lib/Slim/Slim.php';
date_default_timezone_set('UTC');
use lib\Slim\Middleware\SessionCookie;
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim([
// cookie encryption (strongly recommend)
'cookies.encrypt' => true,
'cookies.secret_key' => 'put your secret key',
// session config
'sessions.driver' => 'database', // or database
//'sessions.files' => __DIR__ . '/../sessions', // require mkdir
'sessions.table' => 'sessions', // require create table
]);
$manager = new \Slim\Middleware\SessionManager($app);
$session = new \Slim\Middleware\Session($manager);
$manager->setDbConnection(mysql_connect('localhost', 'username', 'password', 'database'));
$app->add($session);
$app->run();
这是我得到的错误:
Argument 1 passed to
Illuminate\Session\DatabaseSessionHandler::__construct() must be an
instance of Illuminate\Database\ConnectionInterface, resource given
如果有人能指出正确的方向,我将不胜感激。
提前致谢。
您可以在此处查看 \Illuminate\Database 的源代码:
https://github.com/illuminate/database
Taylor 在提供独立使用此模块和创建数据库 connection.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' => '',
]);
我正在使用 slim 框架开发 restful 应用程序。我正在使用一个使用 illuminate 数据库的会话管理器。它要求我使用 Laravel 的 illuminate 实例创建数据库连接。但是我收到一个错误。这是我的代码:
<?php
require 'lib/vendor/PHPMailer/PHPMailerAutoload.php';
require 'lib/init.php';
require 'lib/Slim/Slim.php';
date_default_timezone_set('UTC');
use lib\Slim\Middleware\SessionCookie;
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim([
// cookie encryption (strongly recommend)
'cookies.encrypt' => true,
'cookies.secret_key' => 'put your secret key',
// session config
'sessions.driver' => 'database', // or database
//'sessions.files' => __DIR__ . '/../sessions', // require mkdir
'sessions.table' => 'sessions', // require create table
]);
$manager = new \Slim\Middleware\SessionManager($app);
$session = new \Slim\Middleware\Session($manager);
$manager->setDbConnection(mysql_connect('localhost', 'username', 'password', 'database'));
$app->add($session);
$app->run();
这是我得到的错误:
Argument 1 passed to Illuminate\Session\DatabaseSessionHandler::__construct() must be an instance of Illuminate\Database\ConnectionInterface, resource given
如果有人能指出正确的方向,我将不胜感激。
提前致谢。
您可以在此处查看 \Illuminate\Database 的源代码:
https://github.com/illuminate/database
Taylor 在提供独立使用此模块和创建数据库 connection.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' => '',
]);