Certificación Larastan Nivel 9
En el desarrollo empresarial no hay lugar para errores en tiempo de ejecución. Mañuti Framework es sometido a la revisión más rigurosa de PHPStan / Larastan sobre PHP 8.5, garantizando cero deuda técnica y consistencia matemática en cada capa.
# Ejecutando análisis estático sobre el árbol completo del framework...
$ ./vendor/bin/phpstan analyse --level=9 --memory-limit=2G
Note: Using configuration file /var/www/manuti/phpstan.neon.
De Nivel 0 a Nivel 9: El Estándar Mañuti
Cada nivel de Larastan introduce reglas progresivamente inflexibles. Así fue auditada y superada cada fase en el código fuente de Mañuti.
Sintaxis, Clases y Conteo de Parámetros
Qué evalúa: Clases inexistentes, llamadas a métodos ausentes en $this y cantidad incorrecta de argumentos pasados.
Variables No Definidas y Alcance Léxico
Qué evalúa: Variables posiblemente no asignadas en bifurcaciones condicionales (if/else) y propiedades huérfanas.
Comprobación de Métodos y Docblocks Reales
Qué evalúa: Métodos invocados sobre cualquier expresión y coherencia entre los tipos de los bloques PHPDoc y las clases físicas.
Contratos de Retorno y Asignación Tipada
Qué evalúa: El valor devuelto por cada función debe coincidir sin excepciones con su firma de retorno declarada.
: void, : JsonResponse, : bool) en controladores y acciones.
Detección de Código Muerto (Dead Code)
Qué evalúa: Sentencias lógicas siempre ciertas o falsas, chequeos instanceof redundantes y código inalcanzable.
Tipos Estrictos en Parámetros y Funciones
Qué evalúa: Validación rigurosa de tipos al pasar argumentos. Prohíbe pasar cadenas numéricas donde se espera un entero estricto.
declare(strict_types=1); en cada archivo PHP de la aplicación.
Genéricos en Colecciones y Tipado Universal
Qué evalúa: Prohibido omitir tipos en arrays o colecciones iterables. Exige definición precisa de llaves y valores.
Collection<int, Usuario> y arrays fuertemente tipados en Eloquent.
Manejo Seguro de Tipos de Unión (Union Types)
Qué evalúa: Si una variable es TipoA|TipoB, no se puede invocar un método que no exista en ambos sin validar previamente.
instanceof antes de procesar adaptadores tri-motor.
Blindaje Contra Nullables (Null-Safety Total)
Qué evalúa: Prohíbe acceder a propiedades o métodos de variables que puedan ser nulas (Objeto|null) sin comprobación previa.
?->, métodos deterministas findOrFail() y aserciones explícitas.
Erradicación Absoluta de Operaciones sobre 'mixed'
En el Nivel 9 de PHPStan, el pseudo-tipo mixed es considerado tóxico si no se valida de forma explícita.
No se puede llamar a un método, acceder a una propiedad, iterar o pasar una variable de tipo mixed a otra función
sin haber restringido previamente su tipo exacto en tiempo de ejecución.
$payloadId = $request->input('id'); // Tipo: mixed
Usuario::find($payloadId); // ❌ ERROR FATAL en Nivel 9
if (!is_string($payloadId) && !is_int($payloadId)) {
throw new InvalidArgumentException('ID inválido');
}
Usuario::findOrFail($payloadId); // ✓ 100% Certificado y Type-Safe
Código diseñado para resistir las condiciones más extremas
La certificación Larastan Nivel 9 forma parte integral del ecosistema de ingeniería de Mañuti junto a nuestras 7 arquitecturas de infraestructura y pruebas de benchmarking con k6.