我期待在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