Saludos compañeros,
- Respecto a como empezar, tal y como te comenta muy sensatamente Synkronice, me gustaría añadir un granito de arena.
Mi sugerencia es que te diseñes una clase base para tareas repetitivas y comunes del resto de las clases.
Me explico:
Todos los objetos de tus tres clases (usuarios, noticias y mensajes), tienen métodos comunes como son el crear un nuevo objeto, actualizar y/o borrar uno existente, mostrarlo en pantalla mediante tablas, formularios u otros objetos HTML.
Eso te llevaría a tener que implementar esos métodos en cada una de las clases para cada tipo de objeto.
En proyectos pequeños o medianos no representa mucho problema, pero en cuanto tu aplicaión crezca, el mantenimiento se volverá tedioso y farragoso.
El modo en el que acostumbro a trabajar, y a mi personalmente me funciona bien es:
Crearme una clase Base.
- En esta clase gestiono conexiones con el servidor de la base de datos, fechas, asignar nuevos ids de registros, validaciones, en definitiva todo lo que afecta a un objeto de una aplicación web.
- Seguidamente, creo una clase específica de cada objeto que va a heredar de la superclase Base.
- Con esto tan solo tienes que jugar con los maravillosos parámetros y te ahorras una buena cantidad de trabajo.
- Incluso me he creado mis própias librerias de tareas comunes y repetitivas para cualquier tipo de aplicación.
Un poco de resumen de todo esto sería lo siguiente:
Parte del código de BaseMiProyecto.php
Código PHP:
<?php
class BaseMiProyecto
{
// Definición de las variables miembro
// El constructor
public function __construct()
{
}
// Métodos miembros de la clase
public function ConectaBD()
{
$this->conexion = mysqli("localhost","usuario","password","basededatos");
/* resto del código del método */
}
/// Aquí los n métodos que necesites
}
// Código de la clase usuario
Usuario.php
<?php
include 'BaseMiProyecto.php';
class Usuario extends BaseMiProyecto
{
/* Código de la clase */
}
// Código de la clase noticias
Noticia.php
<?php
include 'BaseMiProyecto.php';
class Noticia extends BaseMiProyecto
{
/* Código de la clase */
}
// Código de la clase mensajes
Mensaje.php
<?php
include 'BaseMiProyecto.php';
class Mensaje extends BaseMiProyecto
{
/* Código de la clase */
}
Esto intenta ser una humilde opinión de un modo de organizarte el trabajo en previsión de que la aplicaión pueda crecer, incluso, si los métodos de uso más frecuente los implementas en una sola clase de la que el resto de clases pueda heredar, te facilita el hecho de modificar el código, pues haciéndolo en una sola clase, repercute en el resto, recuerda que si un método común no se te ajusta del todo a alguna de las otras clases puedes recurrir a la técnica de la sobrecarga del método.
Bueno, no sé si me he explicado correctamente pero la intención es buena, suerte y ya me contarás.