CMS - Sistemas de gestión de contenidos

Rodrigo Fuentealba the.code.keeper en gmail.com
Sab Mayo 17 18:27:06 CLT 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Baronti escribió:
> El día 17 de mayo de 2008 16:57, Rodrigo Fuentealba
> <the.code.keeper en gmail.com> escribió:

>> Dios mata a un gatito blanco cada vez que usas Joomla. El codigo es
>> horrible.
> 
> A ver, señor de los códigos
> podria UD. decir, a qué código se refiere?

> Joomla Versión 1.0.15, ?

Yep.

> Joomla Versión 1.5.x ?

También.

> ¿Y cuál es el fundamento de la apreciación?

De muestra un boton:

Joomla 1.5 fue escrito para PHP 5; sin embargo en el fichero
libraries/joomla/database/database.php me encuentro con una clase que
declara sus atributos como var $atributo.

¿Que clase de programador deja a merced del lenguaje el tratamiento de
los atributos de sus clases? Cualquier estudiante de informatica chileno
sabe que las clases importantes, tales como las que se usan en
conexiones a bases de datos deben usar funciones para poblar sus atributos.

<?php

class imbecil
{
   var $user;
   var $pass;
   var $host;
   var $base;
}

?>

es especialmente estupida; cualquier persona puede extender la clase y
usarla en un modulo para sus propios usos. quien la controla?

<?php

  private $user;
  private $pass;
  private $host;
  private $base;

  function setUser($user) { validacion de $user; asignacion }
  function setPass($pass) { validacion de $pass; asignacion }
  function setHost($host) { validacion de $host; asignacion }
  function setBase($base) { validacion de $base; asignacion }

?>

Esta clase es mucho menos vulnerable a estupideces del tipo "uy, puse un
modulo que me extendio la clase y me hackearon".

Los tipos de Joomla no tienen idea de PHP.

- --
Rodrigo Fuentealba
Concepción, Región del Bío-Bío, Chile
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkgvW7kACgkQoqmdUrqLMt2kUgCgqxGCuLRMLhS3DeEHA29qUcpz
g7UAn1iH4EgPFg5sVBwI2DdRAV1Ocd70
=BGos
-----END PGP SIGNATURE-----


Más información sobre la lista de distribución Linux