Laravel 4中的全局变量声明?

时间:2014-04-30 18:27:38

标签: php laravel laravel-4

我有几个控制器,我为分页声明了perpage变量,如下所示:

   // per page definition 
   protected $perpage = 10;

如何为所有控制器创建此变量全局变量?而不是在每个控制器上都有相同的声明

由于

2 个答案:

答案 0 :(得分:2)

正如docs所说,你可以在app / config目录下创建一个配置文件,让它命名为app_globals,它可以包含上面的内容:

<?php

return array(

    'perpage' => 10,

);

你可以像这样访问它:

Config::get('app_globals.perpage');

此外,您可以使用继承方法,即在BaseController类上声明属性,然后从此类继承:

class BaseGlobalController extends BaseController {

    /**
     * Show the profile for the given user.
     */
   private $per_page = 10

} 

然后

class XController extends BaseGlobalController {

}

试一试

答案 1 :(得分:1)

使用您自己的文件进行自定义配置。你可以尝试这样的事情:

$perpage = Config::get('settings.pagination.perpage')

现在只需在settings.php文件夹中创建一个app/config文件:

<?php

return array(
    'pagination' => array('perpage' => 10)
);

你也可以使用这样的单一(一维)数组:

$perpage = Config::get('settings.pagination');

所以数组应该是:

return array( 'pagination' => 10 );

因此,当在任何控制器中使用分页时,您可以使用以下内容:

$allUsers = User::paginate(Config::get('settings.pagination'));