Pregunta

Esta pregunta es con respecto a F3 (framework PHP libre de grasa) en la que he tropezado en busca de una forma sencilla, rápida y segura marco adecuado para pequeños sitios web y / o blogs. Lo que era importante para mí era que el marco tiene algún tipo de ACL, y la simplicidad. Si sabes de algún buenas alternativas, soy todo oídos. Mientras tanto, una pregunta sobre F3 para aquellos que han tenido experiencia con ella:

¿Es posible tener una estructura de programación orientada a objetos MVC decente con F3? Desde rutas como F3::route('GET /',':indexController|home'); no trabajo, ¿cómo se implementar una estructura adecuada MVC? Sé que puedo establecer el método de hogar de estática y luego hacer F3::route('GET /','indexController::home');, pero esto parece como complicación innecesaria y una exageración, e ignora el método de construcción, lo que necesito para el diseño conjunto para cada controlador por separado. Lo que me gustaría tener en mi archivo index.php sólo son las rutas a los diversos controladores y acciones, el resto de la lógica será manejado de estos controladores. ¿Cuál es la mejor manera de abordar esto?

Muchas gracias

Edit: También me gustaría escuchar alguna opinión sobre Yu, lo veo bastante clasificado en gran medida de PHPFrameworks.com

¿Fue útil?

Solución

intento f3::route('GET /',array(new IndexController,'home'));

que va a llamar a su constructor y ejecutar el método de inicio () también. f3 no promueve cualquier enfoque "correcto" MVC. en cambio, tiene una "mano alzada" enfoque MVC.

Otros consejos

F3 no se hinche con ninguna construido en la arquitectura MVC, que es básicamente un controlador frontal. Y eso es todo el punto. En lugar de forzar a utilizar un conjunto específico de herramientas, se puede poner en práctica lo que quiera. Por ejemplo, si no lo hace igual que los conectores Axon y la plantilla de F3, puede utilizar Red Bean ORM para administrar sus modelos, y Smarty para construir sus puntos de vista. F3, en su núcleo, sólo las rutas de URLs a sus controladores y se queda fuera de su camino.

Si desea MVC, por qué el uso F3. Un mejor uso CodeIgniter o Kohana (si tienes PHP 5). Estos son bastante ligeros también, y se construyen para la estructura MVC.

suena como un viaje a la panadería no le haría daño. CakePHP tiene un excelente núcleo de ACL y puede ser tan ligero como usted quiere que sea en mi humilde opinión.

También puede mover su definición rutas a algún archivo de configuración separada con este ejemplo de estructura (routes.ini):

[routes]
GET|POST / = IndexController->indexAction
GET|POST @Index: /@lang = IndexController->langAction

e incluirla a F3 config:

\F3::config('routes.ini');

A continuación añadimos el directorio con los controladores y modelos en al cargador automático. Ver como se puede utilizar - por ejemplo PHPTal . Ahora tiene casi listo MVC sobre F3.

He creado un proyecto que yo llamo Grump-Free-marco, que hace precisamente esto.

Se puede comprobar a cabo el proyecto en github .

Se utiliza simple mapa de enrutamiento de llamadas a los controladores en una estructura totalmente modular, cada módulo tiene su propio MVC.

/@module = modules\@module\Controller

¿Dónde se pueden crear nuevos módulos dentro de la carpeta app/modules/ que contienen un controlador, opcionalmente tantos modelos como desee, y tantos puntos de vista como desee.

También hay otro proyecto que está a sólo algunos módulos básicos, como un módulo de inicio de sesión, que se puede encontrar en el readme del proyecto sin gruñón-marco.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top