Bueno.. de a poco nos vamos haciendo una idea. Vamos paso a paso.
Primero y antes que nada, habría que revisar TU concepto de Framework, ya que el mismo suele variar de persona en persona que lo utiliza. Muchos piensan que el tener un Linux, configurado con Apache+PHP+MySQL compone un FrameWork para desarrollar PHP. Otros piensan lo mismo del Windows+IIS para decir que "tienen un framework para desarrollar ASP".
Yo, por mi parte, tengo una concepción "distinta" de lo que es nu FrameWork a lo que anteriormente te mencioné. Y para mi, un FrameWork ( de ahora en más FW, porque me pudro de escribirlo seguido ) no es más que una base predeterminada para basarte en ella y realizar desarrollos de software de una manera más simple y sencilla. Por ejemplo, un sistema de plantillas, un sistema de identificación de usuarios, un sistema de acceso a Bases de Datos, unidos de manera simple para facilitar el proceso de programación de una aplicación en base a esos componentes ya existentes. Se entiende MI idea de un FW ? Bueno, para mucha gente, el ambiente de desarrollo que ofrece .NET es en si un FW con muchos componentes y sistema de plantillas ya desarrollados, con un lindo IDE y listo para que un programador utilice eso mismo y base sus programas.
Con esto de lado, vamos al siguiente punto. Si los tutoriales sobre FWs te lian porque hablan de objetos y UML, yo te recomendaría que antes de seguir, te documentes. Ahá, adivinaste, sobre Objetos y UML! Para eso, yo te diria que te imprimas y te leas toda la web
www.phppatterns.com que te va a servir de maravillas para este propósito, pero claro, no te limites solo a eso y recurrí a nuestro buen amigo Google para buscar más información al respecto. Una vez familiarizado sobre el trabajo con objetos, el diseño con UML, recién ahí podés pasar a entender como trabaja con los objetos PHP, así aprenderás sobre la posibilidad de reutilizar código eficientemente.
Recién en este punto, vas a sentir que vas conociendo bastante el manejo de PHP. Ahora, no explicás si tenés que incluir si o si MySQL en linux por Requerimiento del trabajo, o si te basás en la idea de que MySQL es lo único que PHP puede utilizar. Porque de ser asi, te comento que PHP puede utilizar una infinidad de bases de datos, por lo que generalmente se suelen utilizar Layers de Abstracción de Acceso a Bases de Datos ( como lo son PEAR::DB o AdoDB, que puedes buscar en google y leer sobre ellas ). Allí tendrías cubierto el manejo de Bases de Datos en tu FW sobre linux, pero claro, aún te quedan dos puntos bastante clave :
1) Seguridad : Acá te recomiendo que antes que nada, leas el Foro de Sistemas Operativos>Linux ya que la seguridad del entorno de desarrollo llega hasta niveles de SO, asi que si tu usuario del APache está bien configurado, y tomas los recaudos necesarios a la hora de trabajar con tu codigo PHP ( como tener en cuenta que debes tratar todo dato que viene del usuario como si fuera un posible ataque, tener cuidado de las SQL Injections, etc ), se podrá decir que tu sistema es moderadamente seguro ( claro, no existe la seguridad TOTAL ). Luego, por el tema de Bugs o Agujeros de Seguridad en aplicaciones que soporten a tu FW, siempre tienes la posibilidad de instalarle todos los parches necesarios a tu Apache, PHP, MySQL, Sendmal, etc.
2) Utilidades : Bueno, este punto dentro de todo es como el más sencillo. Necesitás utilidades para ayudarte en el desarrollo de tus aplicaciones PHP ? Te puedo decir que tenés una amplísima Gamma de utilidades disponibles, para casi cualquier cosa que necesites programar, en lo general muy bien documentadas y disponible su código fuente. PAra ello, te invito que visites sitios de código como
www.hotscripts.com o
www.freshmeat.net para que te des una idea.
Espero que sea lo que necesitabas, tuve que divagar mucho e irme por las ramas para asegurarme de que alguno de los puntos son lo que realmente necesitabas.
Saludos.