2013-07-13 43 views

回答

-1

首先,创建和应用地点sessionpayload.php /库文件夹,并延伸这样的:

class Sessionpayload extends \Laravel\Session\Payload { 

//stuff 

} 

然后,创建和应用地点session.php文件/文件夹的库和延伸那样:

class Session extends \Laravel\Session { 


public static function start($driver) 
{ 
    static::$instance = new Sessionpayload(static::factory($driver)); 
} 

} 

然后,你应该注释掉以下行,或者如果您使用的命名空间为您的类,你可以改变:

'Session'  => 'Laravel\\Session', 

在application/config/application.php中。

+0

这是否在Laravel 4中工作?我没有在Laravel 4中看到应用程序或库文件夹。 – Louis

+1

您需要使用[composer](http://getcomposer.org)来安装框架(laravel/framework) 。你可能刚刚得到了骨架应用程序(laravel/laravel)。 – fideloper

+1

如果作曲家不是混淆的地方,那么我相信你所寻找的答案是你可以简单地创建一个图书馆目录。最好的情况是创建一个库目录,并通过composer.json文件设置PSR-0自动加载。 – fideloper

0

检查出延长Laravel的Laravel文档: http://laravel.com/docs/4.2/extending#session

你要创建一个新的ServiceProvider尽早启动新的会话处理程序,并将其置于您的应用程序配置的原始SessionServiceProvider参考。例如,

use Illuminate\Support\ServiceProvider; 

class MySessionServiceProvider extends ServiceProvider { 

    /** 
    * Register my custom service provider. 
    * 
    * @return void 
    */ 
    public function register() 
    { 
     $this->registerMySessionHandler(); 
    } 

    /** 
    * Register your session manager instance. 
    * 
    * @return void 
    */ 
    protected function registerMySessionHandler() 
    { 
     $this->app->bindShared('mysession', function($app) 
     { 
      return new MySessionHandler($app); 
     }); 
    } 

看看照亮/会话/ SessionServiceProvider.php和文档的ServiceProvider(http://laravel.com/docs/master/providers)如果你需要更多的信息。

写您的会话类:

class MySessionHandler implements SessionHandlerInterface { 

    public function open($savePath, $sessionName) {} 
    public function close() {} 
    public function read($sessionId) {} 
    public function write($sessionId, $data) {} 
    public function destroy($sessionId) {} 
    public function gc($lifetime) {} 

} 

然后你就可以使用Session扩展Session类::延长()方法(我相信这正好起始文件,但不可以引用我这句话):

Session::extend('mysession', function($app) 
{ 
    return new MySessionHandler; 
}); 

一旦会话司机已被注册,你应该在你的应用程序/配置/ session.php文件配置文件使用mysession驱动程序。