2013-07-13 73 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驅動程序。