在 October Cms 中,我应该在哪里声明整个应用程序的配置
Where should I declare the configurations for entire application in October Cms
我必须设置一些常量值才能在应用程序的任何地方使用。我怎样才能设置这个常量。我正在尝试如下:
我将 STATUS
常量设置为 layouts/admin.htm
function onStart()
{
if(!Auth::getUser()){
\Flash::error($this['theme_lang']['not_allowed']);
return Redirect::intended('login');
}
$this['STATUS'] = [
'PENDING' => 0,
'PACKAGING' => 1,
'PICKUP' => 2,
'REPICKUP' => 3,
'PICKUPDONE' => 4,
'ASSIGNTODELEVER' => 5,
'REASSIGNTODELEVER' => 6,
'DELIVERED' => 7,
'PAID' => 8,
'RETURNTOHUB' => 9,
'RETURNTOMERCHANT' => 10,
'REFUSED' => 100,
];
}
这不是我使用的标准方式。我不能在整个应用程序中使用 STATUS
作为 GLOABL 常量。你能给我一些聪明的建议吗?
例如。我们有 users
table,我们需要为其添加相关的状态信息
所以我们可以将它作为 static attribute
添加到 User
模型中
Ex. model: plugins\rainlab\user\models\User.php
<?php namespace RainLab\User\Models;
class User extends UserBase
{
use \October\Rain\Database\Traits\SoftDelete;
/**
* @var string The database table used by the model.
*/
protected $table = 'users';
// HERE ----->
public static $Status = [
'PENDING' => 0,
'PACKAGING' => 1,
'PICKUP' => 2,
'REPICKUP' => 3,
// ... add more
]
// .... other code
}
Now, How to use it
// any where in php code
echo User::$Status['PENDING']; // output -> 0
// may be you need to pass it in twig section
function onStart()
{
$this['STATUS'] = User::$Status;
}
通过这种方式,您可以保留适当的信息,例如
- 此状态是关于用户的
- 将来如果您需要修改任何内容,只需在
User
模型中更新即可
- 易于参考和使用
如有疑问请评论。
我必须设置一些常量值才能在应用程序的任何地方使用。我怎样才能设置这个常量。我正在尝试如下:
我将 STATUS
常量设置为 layouts/admin.htm
function onStart()
{
if(!Auth::getUser()){
\Flash::error($this['theme_lang']['not_allowed']);
return Redirect::intended('login');
}
$this['STATUS'] = [
'PENDING' => 0,
'PACKAGING' => 1,
'PICKUP' => 2,
'REPICKUP' => 3,
'PICKUPDONE' => 4,
'ASSIGNTODELEVER' => 5,
'REASSIGNTODELEVER' => 6,
'DELIVERED' => 7,
'PAID' => 8,
'RETURNTOHUB' => 9,
'RETURNTOMERCHANT' => 10,
'REFUSED' => 100,
];
}
这不是我使用的标准方式。我不能在整个应用程序中使用 STATUS
作为 GLOABL 常量。你能给我一些聪明的建议吗?
例如。我们有 users
table,我们需要为其添加相关的状态信息
所以我们可以将它作为 static attribute
添加到 User
模型中
Ex. model:
plugins\rainlab\user\models\User.php
<?php namespace RainLab\User\Models;
class User extends UserBase
{
use \October\Rain\Database\Traits\SoftDelete;
/**
* @var string The database table used by the model.
*/
protected $table = 'users';
// HERE ----->
public static $Status = [
'PENDING' => 0,
'PACKAGING' => 1,
'PICKUP' => 2,
'REPICKUP' => 3,
// ... add more
]
// .... other code
}
Now, How to use it
// any where in php code
echo User::$Status['PENDING']; // output -> 0
// may be you need to pass it in twig section
function onStart()
{
$this['STATUS'] = User::$Status;
}
通过这种方式,您可以保留适当的信息,例如
- 此状态是关于用户的
- 将来如果您需要修改任何内容,只需在
User
模型中更新即可 - 易于参考和使用
如有疑问请评论。