我期待在Laravel 4中使用我自己的會話處理程序。我可以在哪裏擴展Laravel 4會話,以便我可以使用自己指定的類來讀取/寫入/刪除數據。Laravel 4 - 自定義會話處理程序
1
A
回答
-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的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
驅動程序。
相關問題
- 1. PHP - 默認會話處理與自定義會話處理
- 2. 自定義會話處理程序和重定向
- 3. 在自定義處理程序中保護PHP會話ID
- 4. PHP中的自定義會話處理程序
- 5. 自定義會話處理程序不工作
- 6. CakePHP自定義數據庫會話處理程序
- 7. PHP自定義會話處理程序行爲
- 8. 自定義會話處理程序上的CakePHP 2.0.2
- 9. AutomaticInputSessionShutdown自定義會話關閉處理程序
- 10. Tomcat - 自定義會話Cookie處理
- 11. 自定義會話超時處理
- 12. 使用自定義DynamoDB會話處理程序登錄後Symfony會話爲空
- 13. 使用自定義會話ID處理PHP數據庫會話
- 14. PHP會話上傳自定義會話處理器進度
- 15. Laravel 4會話
- 16. 自定義數據庫會話處理程序 - 特定讀取問題
- 17. Laravel自定義異常處理程序未運行
- 18. Laravel 4.2自定義錯誤處理程序不工作
- 19. GridButtonColumn自定義處理程序
- 20. 自定義標籤處理程序
- 21. Laravel 4 - 處理404使用自定義消息
- 22. 自定義PHP錯誤處理程序
- 23. Zend Framework - 將自定義字段添加到會話處理程序?
- 24. PHP自定義會話處理程序 - 數據庫連接變爲NULL
- 25. 無法使用use_strict_mode在'文件'上使用自定義會話處理程序
- 26. 在PHP中使用分隔符自定義會話處理程序
- 27. C#自定義事件處理程序
- 28. php自定義錯誤處理程序
- 29. 自定義錯誤處理程序
- 30. 自定義JQuery延遲處理程序
這是否在Laravel 4中工作?我沒有在Laravel 4中看到應用程序或庫文件夾。 – Louis
您需要使用[composer](http://getcomposer.org)來安裝框架(laravel/framework) 。你可能剛剛得到了骨架應用程序(laravel/laravel)。 – fideloper
如果作曲家不是混淆的地方,那麼我相信你所尋找的答案是你可以簡單地創建一個圖書館目錄。最好的情況是創建一個庫目錄,並通過composer.json文件設置PSR-0自動加載。 – fideloper