eh estado trabajando en un pequeño componente para yii 2, una forma diferente de trabajar con el AccessControl::class
que se usa en el behaviors
de todos los controladores.
-
primera versión
En la primer versión simplemente se agregaba un array donde el indice era el nombre de tu controlador la cual adentro de ese indice tenia un itemclass
la cual pide el nombre de tu controlador y el segundo itemexcepcion
pedía una array donde se agregaban las acciones que no se requerían de un inicio de sesión, adjunto una imagen de la primera version
Figura 1 captura de la primera version
2.Segunda versión en la segunda version cambie varias cosas
- Primer el indice sigue siendo el nombre del controlador, pero a este puedes agregar mas cosas como la posiblidad de desactivar todo el controlador ya sea que el controlador estan en mantenimiento o simplemente de que esta desactivado,tambien de cambiar el layout de todo el controlador osea el controlador de login tendra un
layout
en todas susactions
tendran un layout espeficico - Segundo que en las
actions
puedes decir si solo sera de formatojson
y si este solo se puede acceder medianteajax
asi tambien de desactivar la accion o cambiar su layout, ademas no importaba si no definias esa accion esta siempre necesitaba de logeo o si no solo le especificabas que este no tendra logeo usandoexcepcion
. adjunto imagen
Figura 2 captura de segunda version
3.Tercera version en esta versión es casi similar a la segunda pero con algunas diferencias como
- Desactivar tu controlador o tu accion y agregar
true o false si lo deseas activar o desactivar
yun mensaje de porque esta desactivado
asi como agregar una funcion - En las acciones y controladores agregar permisos ya sea usando funciones o usando un array pero este array debes agregarlo si tienes definido roles y permisos en tu
yii\rbac\Rule
- En el request puedas definir si la accion solo puedes usar
ajax,post,get,put y delete
,adjunto la siguiente imagen
Figura 3 Captura de la tercera version
¿Para los que usan yii que opinan de esto? trato de hacer algo diferente con yii algo que sea mas comodo para mis proyectos osea al crear un controlador o una accion no necesites usar un behaviors
porque ya tienes la seguridad de que todo necesita logeo o puedes cambiar algunos apartados a tu gusto. Agradezco su tiempo por leer el post y agredezco sus opiniones acerca de esto