Hola

Bueno, cuando comencé con PHP la primer clase que hice fue esta, que es una clase que con MySQL te permite mostrar noticias, comentarios y un par de cositas más. Tiene las funciones básicas
(mostrar comentarios, formulario, listar noticias, etc) y utiliza una sencilla base de datos para almacenar las noticias.
También reemplaza smilies, y viene con un conjunto "default" de smilies que se reemplazan por ": D, : ), : P :lol:" etc. (sin espacios).
Otra cosa interesante es que me fijé en todo lo que es seguridad, para evitar SQLi y ataques XSS.
Todo se concentra en un solo archivo, que es el
class.core y en una carpeta con los smilies.
Si mal no recuerdo, el peso de todo eso no superaba los 200kB.
El proyecto no lo seguí, pues me falta todo lo que es el panel de administración de entradas, pero si sabes como poner noticias desde consultas, te puede ser útil (creo yo).
Link de descargahttp://blog.chevaz.com.ar/wp-content/uploads/2012/02/core.rarEn la creación de artículos detecta los saltos de línea
(no hace falta poner <br>) y permite tags HTML. Por el contrario, los comentarios tienen habilitados los emoticones solamente
(por seguridad).
USO DE LA CLASElistar_news(); Hace un listado de todas las noticias.
get_new(id); Muestra la noticia. Necesita que indiquen la ID.
show_comments(id); Muestra los comentarios de la noticia por ID.
form_comment(); Muestra el formulario para agregar un comentario.
EJEMPLOSPara mostrar una noticia (usando $_GET para conseguir la ID):
require_once "/core/class.core.php"; //Llamamos a la clase
if(empty($_GET['id'])){
header("/news.php");
}else{
$manager->get_new($_GET['id']);Para mostrar una noticia y los comentarios:require_once "/core/class.core.php";
if(empty($_GET['id'])){
header("/news.php");
}else{
$manager->get_new($_GET['id']);
$manager->show_comments($_GET['id']);Para mostrar una noticia, los comentarios y un formulario para agregar comentario:require_once "/core/class.core.php";
if(empty($_GET['id'])){
header("/news.php");
}else{
$manager->get_new($_GET['id']);
$manager->show_comments($_GET['id']);
$manager->form_comment();Así de simple
BASE DE DATOSCopian y pegan esto en la consola:
CREATE TABLE IF NOT EXISTS `comentarios` (
`new_id` int(11) NOT NULL,
`nombre` varchar(25) NOT NULL,
`mail` varchar(30) NOT NULL,
`mensaje` varchar(200) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `noticias` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`contenido` text NOT NULL,
`titulo` varchar(25) NOT NULL,
`autor` varchar(25) NOT NULL,
`fecha` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
Crea las tablas para las noticias y los comentarios.
CONFIGURACIÓNHay que configurarle la conexión al a base de datos. Iba a hacer un archivo de "configuración", pero preferí dejar todo allí y tener menos archivos

Vamos al archivo
class.core.php y buscamos la línea "mysql_connect(...)" y modificamos con nuestra información (host, usuario, contraseña). Luego vamos una línea más abajo y editamos el nombre de la base de datos. Guardamos y listo.
RESULTADOS (CON ESTILO FEO xd)Bueno les dejo algunas imágenes con los resultados del uso de la clase

Está claro que si se sabe de CSS, puedes editar a tu gusto el estilo de las noticias ^^


Con el tiempo me di cuenta de que hay varias cosas que se pueden mejorar en la clase, pero desafortunadamente carezco de tiempo para hacerlo. Por eso, la clase es de libre edición

Siempre y cuando dejen los créditos.
Saludos y espero les sea de utilidad
Para información un poco más detallada sobre la configuración y el uso de las funciones se pueden pasar por aquí.