jhorlima / parametrizacao
此包最新版本(1.0.4)没有可用的许可信息。
MocaBonita的参数模块
1.0.4
2018-01-03 17:36 UTC
Requires
- jhorlima/wp-mocabonita: >=3.3.0
README
#Parametrizacao - MocaBonita
MocaBonita的参数模块
$ composer require jhorlima/parametrizacao
要将模块集成到插件中,只需为Parametrizacao添加一个控制器,然后获取视图和保存方法。
<?php use MocaBonita\controller\MbController; use MocaBonita\tools\MbException; use MocaBonita\tools\MbRequest; use MocaBonita\tools\MbResponse; use Parametrizacao\model\Parametrizacao; class ParametrizacaoController extends MbController { /** * Lista de parametros que essa controller pode gerencias * * @var string[] */ protected $parametros = [ 'nome_padrao', 'quantidade_usuarios', 'lista_nomes', ]; /** * @inheritdoc */ public function indexAction(MbRequest $mbRequest, MbResponse $mbResponse) { return Parametrizacao::getMbView($this->parametros); } /** * Action para salvar parametro * * @param MbRequest $mbRequest * @param MbResponse $mbResponse * * @return MbView * */ public function salvarAction(MbRequest $mbRequest, MbResponse $mbResponse) { try { Parametrizacao::salvarParametro($mbRequest->input()); $mbResponse->adminNotice('Parametro atualizado com sucesso!'); } catch (\Exception $e) { MbException::registerError($e); } finally { $mbView = $this->indexAction($mbRequest, $mbResponse); return $mbView; } } }
可以通过以下方法获取每个参数
<?php use Parametrizacao\model\Parametrizacao; Parametrizacao::getParametro('nome_padrao'); //Obter parametro nome Parametrizacao::getParametro('quantidade_usuarios', 10); // Obter parametro quantidade_usuarios, caso não exista, retornar 10 Parametrizacao::getParametro('lista_nomes', [], true); // Obter parametro lista_nomes, caso não exista, retornar um array vázio e depois converter-lo em JSON
如果需要,系统也可以创建参数。
<?php use Parametrizacao\model\Parametrizacao; Parametrizacao::salvarParametro([ 'nome' => 'nome_padrao', 'valor' => 'Jhordan Lima', ]); //Salvar parametro nome Parametrizacao::salvarParametro([ 'nome' => 'quantidade_usuarios', 'valor' => 10, ]); //Salvar parametro quantidade_usuarios Parametrizacao::salvarParametro([ 'nome' => 'lista_nomes', 'valor' => ['Jhordan Lima', 'Alfredo Costa', 'Antonio Iago'], ]); //Salvar parametro lista_nomes a partir de um Array Parametrizacao::salvarParametro([ 'nome' => 'lista_nomes', 'valor' => "['Jhordan Lima', 'Alfredo Costa', 'Antonio Iago']", ]); //Salvar parametro lista_nomes a partir de um Json Parametrizacao::salvarParametro([ 'nome' => 'lista_nomes', 'valor' => "array\nJhordan Lima\nAlfredo Costa\nAntonio Iago", ]); //Salvar parametro lista_nomes a partir de um textarea com uma lista começando por array.
*注意:也可以将参数保存为数组,只需将其作为JSON发送或以数组开头并跟上换行符。还可以定义数组的其他分隔符,只需创建一个用于属性“array”的参数即可。