jhorlima/parametrizacao

There is no license information available for the latest version (1.0.4) of this package.

Modulo Parametrização para o MocaBonita

Installs: 92

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 0

Type:wordpress-framework-plugin

1.0.4 2018-01-03 17:36 UTC

This package is auto-updated.

Last update: 2024-04-07 11:23:27 UTC


README

#Parametrizacao - MocaBonita

Modulo Parametrização para o MocaBonita

$ composer require jhorlima/parametrizacao

Para integrar o modulo ao plugin, basta adicionar uma controller para a Parametrizacao e depois obter a view e método de salvar.

<?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;
        }
    }
}

Cada parametro pode ser obtido através do método

<?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

Caso seja necessário, um parametro também pode ser criado pelo sistema.

<?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.

*Obs: É possível também salvar um parametro como Array, basta envia-lo como JSON ou começar o texto com array seguido de um quebra de linha. É possível definir também um outro delimitador para o array, basta criar um parametro para o atributo "array".