PHPackages                             sham/load-parameters-laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. sham/load-parameters-laravel

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

sham/load-parameters-laravel
============================

Carga los parámetros enviados por PUT, POST o GET; y los valida según las reglas asignadas.

v1.0(10y ago)024MITPHPPHP &gt;=5.3.0

Since Feb 23Pushed 10y ago1 watchersCompare

[ Source](https://github.com/shamFactory/load-parameters-laravel)[ Packagist](https://packagist.org/packages/sham/load-parameters-laravel)[ RSS](/packages/sham-load-parameters-laravel/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependenciesVersions (2)Used By (0)

Load Parameters Laravel 5 y Lumen
=================================

[](#load-parameters-laravel-5-y-lumen)

Carga los parámetros enviados por PUT, POST o GET; y los valida según las reglas asignadas en el proyecto.

Esta librería lo primero que hace es cargar los datos enviados a la url, después les asigna un nuevo nombre a cada variable (en caso se haya especificado) y finalmente se valida los datos con el [Validador de Laravel](https://laravel.com/docs/master/validation). Si todo los datos son correctos, retorna los inputs enviados en un array, sino retornará los errores encontrados.

La librería maneja tres aspectos importantes:

- Rules: que es un array de reglas que se usará para validar los campos, estan reglas también pueden ser las [reglas personalizadas](https://laravel.com/docs/master/validation#custom-validation-rules)
- Messages: Son los mensajes que se mostrarán en caso de error.
- Params: Esta es una variable nueva para la librería, ya que con ella podemos especificar el nombre de una variable para ser enviada por POST GET o PUT, pero nosotros la utilizaremos con otro nombre, es decir, tenemos nuestro paramétro `usuario` enviado por POST, sin embargo en nuestra tabla o nuestra aplicación necesitamos que se llame `user`, es por eso que se usa esto, para cambiar de nombre a la variable, así el cliente cuando envíe los datos le saldrá un error con la variable `usuario`, pero nosotros la utilizaremos como `user`. Esto sería más usado en API REST ya que el nombre del dato enviado no siempre coincide con la varible que manejamos (en REST `nombre_usuario` en la aplicación `nombreUsuario`).

Instalación
-----------

[](#instalación)

La instalación actual es sólo por composer

```
composer require sham/load-parameters-laravel dev-master
```

Uso
---

[](#uso)

Actualmente hay tres formas de uso de la librería:

### Método 1:

[](#método-1)

La primera forma de utilizar la librería es usando una clase con los métodos necesarios (rules, messages, params) puede ser una clase [Form Validator](https://laravel.com/docs/master/validation#form-request-validation) de Laravel

```
...
use Sham\LoadParameters\Load;

class MyController extends Controller {

	public function myMethod(Request $request)
	{
		$load = new Load(new App\Http\Requests\MyFormRequest());

		if(!$load->validate($request, 'post')){
			$load->setTypeError(Load::ERROR_ARRAY);
			var_dump($load->getErrors());
		}else{
			extract($load->getInputs());
			echo "welcome $user";
		}
	}
...
```

La clase `MyFormRequest` debe tener por lo menos el método `rules()`; `params()` y `messages()` son opcionales.

```
class MyFormRequest extends FormRequest {

	public function rules()
    {
    	return [
			'user' => 'required',
			'pass' => 'required|min:6',
    	];
    }
...
```

La forma de llamarlo sería:

```
curl -d "user=myuser" -d "pass=mipass"  "http://myurl.com/my-function"
```

y retornaría `welcome myuser`

### Método 2:

[](#método-2)

La siguiente forma es añadiendo un array con las reglas, mensajes y parámetros a usar:

```
...
use Sham\LoadParameters\Load;

class MyController extends Controller {

	public function myMethod(Request $request)
	{
		$load = new Load();
		//obligatorio
		$load->setRules([
			'user' => 'required',
			'pass' => 'required|min:6',
		]);
		//opcional
		$load->setParams([
			//variable en tu proyecto => nombre de parametro de envio
			'user' => 'usuario',
			'pass' => 'contrasena',
		]);
        //opcional
		$load->setMessages([
			'user.required' => 'usuario es requerido',
			'pass.required' => 'contrasena es requerido',
			'pass.min' => 'Debe ingresar al menos 6 caracteres',
		]);

		if(!$load->validate($request, 'post')){
			$load->setTypeError(Load::ERROR_ARRAY);
			var_dump($load->getErrors());
		}else{
			extract($load->getInputs());
			echo "welcome $user";
		}
	}
...
```

La forma de llamarlo sería:

```
curl -d "usuario=myuser" -d "contrasena=mipass"  "http://myurl.com/my-function"
```

y retornaría `welcome myuser`

### Método 3:

[](#método-3)

Si son varios los métodos en tu proyecto y no quieres llenarte de más lineas en tu controlador, puedes usar una clase en la cual tengas todas las reglas de validación por método, para ello primero debes crear una clase en donde creas conveniente y extender de `Sham\LoadParameters\MultiAttributes`:

```
...
use Sham\LoadParameters\MultiAttributes;

class MyParameters extends MultiAttributes
{
    public function multiParams()
    {
    	return [
    		'myMethodFirst' => [
    			'user' => 'usuario',
    			'pass' => 'contrasena',
    		]
    	];
    }

    public function multiRules()
    {
    	return [
    		'myMethodFirst' => [
    			'user' => 'required',
    			'pass' => 'required|min:6',
    		],
    		'myMethodSecond' => [
    			'name' => 'required',
    		]
    	];
    }

    public function multiMessages()
    {
    	return [
    		'myMethodFirst' => [
    			'user.required' => 'usuario es requerido',
				'pass.required' => 'contrasena es requerido',
				'pass.min' => 'Debe ingresar al menos 6 caracteres',
    		],
    		'myMethodSecond' => [
    			'name' => 'el nombre es required',
    		]
    	];
    }
...
```

Después en tu controlador:

```
use Sham\LoadParameters\Load;

class MyController extends Controller {

	public function myMethod1(Request $request)
	{
		$load = new Load(new \path\to\MyParameters());
		$load->loadMultiAttributes('myMethod1');

		if(!$load->validate($request, 'post')){
			$load->setTypeError(Load::ERROR_ARRAY);
			var_dump($load->getErrors());
		}else{
			extract($load->getInputs());
			echo "welcome $user";
		}
	}

	public function myMethod2(Request $request)
	{
		$load = new Load(new \path\to\MyParameters());
		$load->loadMultiAttributes(__FUNCTION__);

		if(!$load->validate($request, 'post')){
			$load->setTypeError(Load::ERROR_ARRAY);
			var_dump($load->getErrors());
		}else{
			extract($load->getInputs());
			echo $user;
		}
	}
...
```

La forma de llamarlo sería al metodo 1:

```
curl -d "usuario=myuser" -d "contrasena=mipass"  "http://myurl.com/my-function-1"
```

y al metodo 2:

```
curl -d "name=my name"  "http://myurl.com/my-function-2"
```

###  Health Score

25

—

LowBetter than 36% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3779d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/5142522?v=4)[Michael](/maintainers/shamFactory)[@shamFactory](https://github.com/shamFactory)

---

Top Contributors

[![shamFactory](https://avatars.githubusercontent.com/u/5142522?v=4)](https://github.com/shamFactory "shamFactory (1 commits)")

### Embed Badge

![Health badge](/badges/sham-load-parameters-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/sham-load-parameters-laravel/health.svg)](https://phpackages.com/packages/sham-load-parameters-laravel)
```

###  Alternatives

[chaoswey/taiwan-id-validator

台灣身分證、統一編號驗證

319.9k](/packages/chaoswey-taiwan-id-validator)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
