Duda sobre trabajo en PHP

Publicado por Elias Peraza
hace 8 años

<p>Estoy iniciandome en la programacion PHP, y tengo la siguiente duda sobre el trabajo en PHP. Espero darme a entender.<br />La siguiente pagina, es como una plantilla:</p><p>http://www.comunidadq.com/usuarios/Tes0n3<br /></p><p>Los datos que rellenan esta plantilla, están contenidos en una base de datos, la plantilla es solo una, solo un archivo en el servidor, y lo que cambia son los datos. Cierto?<br /><br />De ser así, si es por ejemplo un blog, la pagina tambien es una plantilla y el contenido está contenido en una base de datos? O en una pagina empresarial digamos, podría ser la misma "plantilla" y tener los escritos de "Sobre nosotros", "Servicios", etc, en una base de datos? Y de ser así, como se hace para que guarde tanto texto la base de datos? No es mucho? Algun tipo de variable sql especifico ?<br />Gracias. </p>

programación web php
Respuesta de Cristian Olaz
hace 8 años

<p>Efectivamente, por lo general se crean plantillas y se rellenan de manera dinámica con los datos extraídos desde la base de datos. En PHP como en muchos lenguajes es común usar el patrón de diseño <a href="http://es.wikipedia.org/wiki/Modelo%E2%80%93vista%E2%80%93controlador" rel="nofollow">MVC ( Modelo-Vista-Controlador )</a>. En las vistas como su nombre lo indica, definís el aspecto de la página y podés completarlas con los datos que traen los modelos desde la base de datos. O bien con datos pasados por el controlador.</p><blockquote>De ser así, si es por ejemplo un blog, la pagina tambien es una plantilla y el contenido está contenido en una base de datos?</blockquote><p>Sí. Podés verlo por ejemplo, en las bases de datos de Blogs open source como Wordpress. En este tenés una tabla que se llama <span style="font-weight:bold;">wp-posts</span> donde se guarda el detalle de todas las publicaciones: <a href="https://codex.wordpress.org/Database_Description#Table:_wp_posts" rel="nofollow">https://codex.wordpress.org/Database_Description#Table:_wp_posts</a></p><p>El campo <span style="font-weight:bold;">post_content</span> es el encargado de guardar el contenido más pesado. Y como podés ver es del tipo longtext (mysql)</p><blockquote><span>En una pagina empresarial digamos, podría ser la misma "plantilla" y tener los escritos de "Sobre nosotros", "Servicios", etc, en una base de datos?</span></blockquote><p><span>Sí. Podrías hacerlo. Aunque si el contenido es <span style="font-weight:bold;">estático</span>, es decir, que no cambia periódicamente, podrías dejarlo directamente incrustado en la plantilla, de esta forma te ahorrás las conexiones a la base de datos.</span></p><blockquote>como se hace para que guarde tanto texto la base de datos? No es mucho? Algun tipo de variable sql especifico ?</blockquote><p>Las bases de datos más conocidas están preparadas para guardar grandes cantidades de datos. Si te preocupa tener que mover muchos datos por cada petición, podrías implementar un sistema de caché basado en archivos.</p><p>Y aunque a simple vista te parezca que vas a manejar datos muy grandes, por lo general no lo son tanto. Solo mira la obra completa de William Shakespeare. Cabe en apenas 5.5MB de espacio.</p><p>Saludos.</p>