El metodo magico __construct esta justamente para ahorrarte una de las lineas que pusiste.. Deberias usarlo asi
Código PHP:
$query="SELECT * FROM posts LIMIT $inicio, ".POST_PER_PAGE;
$db->query($query);
$posts=array();
while ($row = $db->fetch_array())
{
$posts[] = new post( $row['id'], $row['post_title'], $row['post_content'], $row['post_author'], $row['post_date'], $row['comment_count'] );
}
Me parece que te estas haciendo demasiado lio... me parece que podrias hacerlo mas sencillo...
Analizalo.
Una cuestion de estetica: los nombre de las clases comenzalos con mayusculas y a los atributos en minusculas.
Un saludo