Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/07/2011, 12:06
Avatar de DinamiteDog
DinamiteDog
 
Fecha de Ingreso: febrero-2005
Ubicación: Rosario, Argentina
Mensajes: 77
Antigüedad: 19 años, 10 meses
Puntos: 4
Respuesta: Duda existencial sobre el diseño

No se si te entendí bien, pero si te la complicas tanto para eso, por que no complicarse del todo y tener dos estilos, uno para cada idioma? o generarlos dinámicamente...

Igualmente, creo que la mejor manera de utilizar un sistema de idiomas se puede dividir en que tanta edición requiera:

1. Mediante una función
Código PHP:
Ver original
  1. function __l($lang_key, $replace = array()) {
  2.     // TODO: Implementar replace...
  3.     include(SYSTEM_URL.'languages/lang_file.php');
  4.     return (isset($lang[$lang_key]) ? $lang[$lang_key] : 'Key no encontrada!');
  5. }

En lang_file.php:
Código PHP:
Ver original
  1. $lang['welcome_user'] = 'Hola manola';

En una página (ejemplo):
Código PHP:
Ver original
  1. if(isLoggedIn()){ echo __l('welcome_user'); }

2. Almacenando lo mismo que arriba pero en una base de datos, se cambiaría el include por un query a la BD y se implementaría un CRUD para la administración de la tabla.

Por lo de las mejores prácticas para PHP podes encontrar montones de tutoriales y recomendaciones. Buscar: 'php best practices', 'mejores practicas para php'.

Entre las generales vas a encontrar:

- El más importante: 4 espacios (NO TABULACIONES!) de identación

- No cerrar tags de php al final del documento
Código PHP:
Ver original
  1. <?php
  2.  
  3. class Jorge extends Persona {
  4.     var $asd;
  5.     public function saludar() {
  6.         echo 'Hola manola!';
  7.     }
  8. }

- Liberar resultados de query's a bases de datos
Código PHP:
Ver original
  1. $res = mysql_query("SELECT * FROM personas");
  2. //codigo que hace uso de este recurso generado

- Carpetas bien ordenadas, sistemas MVC, archivos de configuración

Espero que te haya servido...

Saludos!
__________________
All generalizations are false, including this one ~ Mark Twain