【发布时间】:2013-06-08 04:36:00
【问题描述】:
有没有办法扩展 Laravel 4 的分页类?
我尝试了一些东西,但没有什么好...
我来了:
PaginationServiceProvider.php
class PaginationServiceProvider extends \Illuminate\Pagination\PaginationServiceProvider {
/**
* Indicates if loading of the provider is deferred.
* @var bool
*/
protected $defer = false;
/**
* Bootstrap the application events.
* @return void
*/
public function boot(){
$this->package('thujohn/pagination');
}
/**
* Register the service provider.
* @return void
*/
public function register(){
$this->app['paginator'] = $this->app->share(function($app){
$paginator = new Environment($app['request'], $app['view'], $app['translator']);
$paginator->setViewName($app['config']['view.pagination']);
return $paginator;
});
}
/**
* Get the services provided by the provider.
* @return array
*/
public function provides(){
return array();
}
}
Environment.php
class Environment extends \Illuminate\Pagination\Environment {
public function hello(){
return 'hello';
}
}
我将 'Illuminate\Pagination\PaginationServiceProvider', 替换为 'Thujohn\Pagination\PaginationServiceProvider',
当我调用 $test->links() 没问题
当我调用 $test->hello() 失败
当我调用 Paginator::hello() 没问题
有什么想法吗?
【问题讨论】:
-
$test 是你的 Environment 的一个实例吗?
-
就像文档中的一样 ;) laravel.com/docs/pagination#usage