jhorlima/parametrizacao

此包最新版本(1.0.4)没有可用的许可信息。

MocaBonita的参数模块

安装: 92

依赖: 1

建议者: 0

安全: 0

星星: 0

关注者: 2

分支: 0

开放问题: 0

类型:wordpress-framework-plugin

1.0.4 2018-01-03 17:36 UTC

This package is auto-updated.

Last update: 2024-09-07 12:14:37 UTC


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”的参数即可。