Cómo abordar la creación de un sitio web PHP MVC que tenga un panel de administración, un panel de usuario y un sitio web front end normal

Todo depende de muchos factores. ¿Quiénes son sus administradores y usuarios? ¿Qué características se necesitan? Algunas especificaciones más podrían ayudar a dar una mejor respuesta. Además, conocer su experiencia previa en programación ayudaría.

Voy a responder como si tiene un poco de experiencia en PHP sin CMS específica o experiencia marco.

Empezaría a elegir un CMS o un marco, dependiendo de las capacidades avanzadas de CMS que necesitarían los editores. Si necesitan la publicación diaria de artículos, personalizaciones pesadas, soporte de múltiples idiomas, revisión histórica de contenido, etc., comenzaría con elegir un CMS con las capacidades necesarias de sus editores. Si necesita un CMS realmente avanzado creado sobre un excelente framework, Symfony2, eche un vistazo a eZ Publish. Se advirtió, sin embargo, no es la CMS de un principiante.

Por otro lado, si sus necesidades son solo unas pocas páginas de contenido básico, sin funciones de contenido avanzadas, busque en otro lado. Echar un vistazo a algo así como https://sonata-project.org/. El generador de administración podría ayudarlo a comenzar si necesita CRUD rápidos y en funcionamiento, almacenando una gran cantidad de contenido estructurado generado por el usuario. De nuevo, esto se construye en la parte superior de Symfony2, mi marco preferido. Hay una gran cantidad de otros marcos de PHP, la mayoría de los cuales soportan características similares. Mashable tiene un artículo a partir de 2014 mencionar unos pocos marcos.

Hay un lof de otros factores que también podrían tener algo que decir elegir el marco adecuado o CMS. La comunidad local, las conferencias, la certificación, el acceso a futuros desarrolladores decentes, dependiendo de su aplicación y su organización, pueden ser importantes. En los EE. UU., Laravel podría ser el marco PHP más extendido, mientras que en Francia y algunos otros países europeos, Symfony2 podría ser más adecuado para usted.

Crear API para todos los datos de ida y vuelta con una aplicación PSR-7 como Slim. Uso Liga OAuth para la autorización y alcances de permisos.
Entonces uso Reaccionar + Redux o angular para el front-end.
El front-end se podría alojar en S3 plus cloudfront (escala muy bien). El back-end requeriría un servidor o contenedor.

El principal beneficio de este enfoque es que si luego decide expandir su proyecto a dispositivos móviles … ya está allí un 70% y solo necesita volver a implementar la interfaz de usuario y cualquier funcionalidad que decida que pertenece a la tierra móvil.