3

我正在超薄框架中开发一个宁静的应用程序。我正在使用一个会话管理器,它使用照明数据库库。它需要我使用 Laravel 的光照实例创建一个数据库连接。但我收到一个错误。这是我的代码:

<?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();

这是我得到的错误:

传递给 Illuminate\Session\DatabaseSessionHandler::__construct() 的参数 1 必须是 Illuminate\Database\ConnectionInterface 的实例,资源给定

如果有人能指出我正确的方向,我将不胜感激。

提前致谢。

4

1 回答 1

2

您可以在此处查看 \Illuminate\Database 的源代码:
https ://github.com/illuminate/database

Taylor 在为独立使用这个模块和创建数据库连接提供文档方面做得很好。使用 Illuminate\Database\Capsule\Manager 作为 Capsule;

$capsule = new Capsule;

$capsule->addConnection([
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'database',
    'username'  => 'root',
    'password'  => 'password',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
]);
于 2016-05-01T11:38:13.197 回答