Foros del Web » Programando para Internet » PHP »

Duda existencial sobre el diseño

Estas en el tema de Duda existencial sobre el diseño en el foro de PHP en Foros del Web. Hola de nuevo. Vengo con una nueva duda. Estoy haciendo una web en dos idiomas y para los textos utilizo una cookie, pero para las ...
  #1 (permalink)  
Antiguo 21/07/2011, 11:38
 
Fecha de Ingreso: junio-2011
Ubicación: Asturias
Mensajes: 228
Antigüedad: 12 años, 10 meses
Puntos: 14
Duda existencial sobre el diseño

Hola de nuevo.
Vengo con una nueva duda.
Estoy haciendo una web en dos idiomas y para los textos utilizo una cookie, pero para las imagenes me da más trabajo, porque lo tengo en un css aparte.

Estoy creando una clase para español y otra para inglés y luego según lo que el usuario escoja, pongo en el div una o la otra.
Este sería por ejemplo el código.
Código PHP:
<link href="estilo.css" rel="stylesheet" type="text/css">
<?
if(isset($_GET['lang']))
  {
  
$lang=$_GET['lang'];
  }else
      {
      
$lang=$_COOKIE['lang'];
      }
$lang=$lang."proof";
?>
<div class="<?echo $lang ;?>">
Pero creo que hay formas mejores de hacerlo y quería saber si las conocéis.
Por otra parte, y con relación a esto, quería saber de algún libro que te explique técnicas de programación o algo así, porque yo mezclo mucho php con html y también creo que hay formas más fáciles de hacerlo, porque si no estoy todo el día abriendo php, cerrando etc.
Gracias
  #2 (permalink)  
Antiguo 21/07/2011, 12:05
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Duda existencial sobre el diseño

y esta bien lo que haces, por que el style vas a poner la imagen segun el idioma

.fondo_en{
fondo:urlEnglish;
}
.fondo_es{
fondo:urlSpanish;
}

<div class="fondo_<?php echo $lang ;?>">

En cuanto a la forma de trabajar yo uso dos caminos.
1- para los sitios chicos o que no requieren tanta programacion hago un index.php y en el body hago INCLUDE 'archivo_que_necesito'; segun la seccion.

2- para sitios mas complejos me invento un framework segun la complejidad del sitio o descargo alguno que se adapte los mas posible al sistema en cuestion:
  #3 (permalink)  
Antiguo 21/07/2011, 12:06
Avatar de DinamiteDog  
Fecha de Ingreso: febrero-2005
Ubicación: Rosario, Argentina
Mensajes: 77
Antigüedad: 19 años, 2 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
  #4 (permalink)  
Antiguo 21/07/2011, 15:04
 
Fecha de Ingreso: junio-2011
Ubicación: Asturias
Mensajes: 228
Antigüedad: 12 años, 10 meses
Puntos: 14
Respuesta: Duda existencial sobre el diseño

Muchas gracias a las dos respuestas.
Lo de crear un estilo para cada idioma lo descarto, porque hay cosas que son iguales para los dos idiomas y sería escribir demás.
Lo de las mejores prácticas en php me lo miraré.
Y lo otro le echaré también un vistazo.
Un saludo

Etiquetas: diseño, existencial, html, imagenes, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:24.