Hackintosh, hackintosh…

MSI Wind OS X

Una curiosidad que tengo…

Valencia, 01/11/2012, G.B.
Un amiguete me ha comentado que ha probado lo del Hackintosh, es decir, instalar un sistema MAC OX en un PC, y que el sistema ha funcionado de maravilla, inclusive desde una memoria USB o pendrive.

También me ha dicho que me iba a enseñarlo “en vivo y en directo” instalado en un netbook, creo que un ACER Aspire con un procesador Atom, si no recuerdo mal (que pudiera ser que sí). Mi amigo me reitera que funciona “a las mil maravillas“. Yo tengo mis dudas, pero quiero verlo con is propios ‘ojitos‘. Una web dedicada e este ‘menester’ es www.hackintosh.com.

También me ha contado que hay una determinada placa base que está especialmente preparada para ‘asimilar’ esta ’emulaci¡on’, ese engaño al PC para hacerle creer vía software que el PC es un Mackintosh…. ¿Una blasfemia para los acólitos del Mac? Pudiera ser, pero yo soy un ‘apátrida’ en cuanto a estos temas se refiere, si bien mis afinidades se decantan más por Linux, qué le vamos a hacer…

Pero el ‘saber’, el experimentar no ocupa lugar, al menos no demasiado, y aunque lo ocupara, vale la pena probarlo. La tentación de la manzana en un paraiso bien distinto… En cuanto lo pruebe, comento. Mientras tanto, dejo algunos enlaces relativos al tema, incluyendo un vídeo de instrucciones, del Consultorio del Dr. Kaos, toda una declaración de intenciones…

Reportaré (al menos esa es mi intención…)

P.D. Otro interesante vídeo al respecto:

Instrucciones iterativas en PHP (II): bucles Foreach (I)

Estructuras de control de flujo en PHP

 

Valencia, 25/10/2012, G.B.
La siguiente instrucción iterativa en PHP que vamos a ver es el bucle foreach. Foreach nos permite iterar o ‘enunciar’ cada elemento de una matriz, vectorarray. En otras palabras, nos permite ‘recorrer’ todos los datos de una matriz, array o vector.

 

La diferencia entre el bucle For y el bucle Foreach es que cuando se utiliza el bucle foreach se ejecuta todo lo que está escrito en la instrucción iterativa, sin tener en cuenta ningún contador. En cambio, al utilizar el bucle for, se realizan las instrucciones un determinado número de veces, dependiendo del contador: “hazlo X veces”.  Así, en las instrucciones foreach no se pueden producir errores, siempre y cuando estén bien escritas, claro.

El bucle foreach tiene dos usos:
1) Mostrar todos los datos de un array
2) Mostrar un valor concreto del array

La sintáxis de foreach del primer uso (1), para recorrer y mostrar todos los datos de la matriz o  array es:

identificador de la matriz o vector; expresión con el operador ‘as’; variable que identifica cada uno de los elementos de la matriz; sentencias o instrucciones a realizar:

O lo que es lo mismo: 

foreach (array as $valor) {
instrucción;
}

Veámoslo con un sencillo ejemplo que recorre todos los valores de la matriz o array y los imprime con la instrucción echo, añadiendo un salto de línea en HTML (<br />) tras cada uno de los elementos recorridos y mostrados de la matriz $colores:

<?php
$colores = array("blanco", "azul", "verde manzana", "salmón");
foreach ($colores as $pintura) {
echo "Color: <b>$pintura</b><br />";
}
?>

Ejecutar ejemplo

El segundo uso de foreach (2) es para mostrar un determinado valor de la matriz. Pero será en el próximo post, y con más ejemplos…

 

Lecturas recomendadas:
foreach (PHP Manual)
Foreach PHP

¿Cómo nos informamos?

Otro post rápido

¿Cómo nos informamos?Valencia, 24/10/2012, G.B.
Por casualidad, como casi siempre suele ser, he encontrado un interesante blog llamado Leer en pantalla, con el lema Libros electrónicos para todos. Además de leer un par de interesantes artículos relativos al mundo de los ebooks, y en especial uno de ellos dedicado a los libros electrónicos infantiles y su potencial mercado, me he parado en uno titulado Internet y la manera en que leemos las noticias. Os recomiendo su lectura, si os interesa estos temas, claro.

El artículo, ‘posteado’  el pasado mes de abril de 2012,  explica y describe la forma en que los usuarios, las ‘personas humanas’, hemos cambiado nuestros hábitos a la hora de informarnos. No es algo que no sepáis, lo sé, pero creo que vale la pena que le echéis un vistazo.

El artículo se basa, entre otras cosas,  en un estudio de la web Mobiles Republic, incluyendo una infografía de la misma que nos muestra cómo ha moldeado Internet nuestros hábitos de lectura, “no sólo la literaria o de libros electrónicos, sino también la de noticias“, según afirma. Y sinceramente, creo que no va nada desencaminado, ni mucho menos. Para ver la infografía, visitad el artículo o la web de Mobiles Republic.

Por último, confesaros que yo, personalmente y también como ‘persona humana-oide‘, prefiero siempre una pantalla grande a la de un smartphone; eso de “caballo grande, ande o no ande” se acopla muy bien a la forma en que yo lo veo.  Será la edad, ¿no? Decir también que tampoco he dejado de lado los libros en papel, ni mucho menos -no os digo dónde suelo muchas veces leerlos…-, a pesar de mi nuevo Amazon Kindle, con el que estoy muy contento. ¿He dicho ya que me han regalado uno…?

Buenas noches.

Tipos de formatos estándar para ebooks y algunos recursos más de descarga

Continuando con el tema de mi Amazon Kindle, algunos apuntes más…

Valencia, 23/10/2012, G.B.
Tras haber trasteado ya con mi nuevo Amazon Kindle y descargado, de forma legal, unos cuántos libros, he querido ver las posibilidades en la Red para adquirir más ebooks de forma gratuita y legal. Voy a hablaros de epubgratis.me y de Calibre, para empezar.

En cuanto a los formatos, además del nativo del Kindle y del universal .pdf (que no es el más cómodo en muchos casos), los más adecuados para leer cómodamente un ebook para que se pueda adaptar a  distintos tamaños de letra y pantalla son los formatos .mobi y el .epub.

Para adquirir libros electrónicos en dichos formatos, además del Proyecto Gutemberg (que ya he visitado  y que seguiré haciendo) en el que podemos descargar libros en esos y más formatos, en el sitio epubgratis.me, en el que los usuarios comparten ebooks en formato epub, pudiéndose  descargar a través de programas clientes Torrent, como Flashget en Windows, entre otros muchos…


Y para poder visualizar los ebooks en nuestro PC, antes de haberlos pasado a nuestro e-reader de turno, deberemos disponer de un programa dedicado a ello. En el blog de Genbeta hay un muy interesante artículo al respecto titulado Seis lectores de EPUB para Windows y Linux rápidos y ligeros (el cual acabo de twitear). Yo he probado con Calibre, en su versión portable y para Windows, el sistema que en estos momentos estoy utilizando. Pero Calibre, además de ser gratuito, open source, es multiplataforma (Windows, Linux y Mac) y no es sólo un lector de ebooks, sino también un gestor. Creo que es una muy buena opción, aunque probaré más.

Bajo estas líneas debiera verse una animación de la instalación de Calibre Portable, pero por desgracia el plugin no es compatible con alguno de los que tengo ya instalados. De todas formas, dejo la primera captura de pantalla:

[slideshow_deploy id=7596]

Por último, os dejo con una definición del formato .epub:

 El ePUB es el estándar para libros electrónicos más popular en la actualidad, y es compatible con la mayoría de lectores modernos. Al ser redimensionable, el ePUB se adapta a distintos tamaños de letra y pantalla. Fuente: epubgratis.com

Seguiré…

Herramienta online SEO: WebsiteSuggestions.net

Herramienta online SEO: Websitesuggestions.netY optimizador web…

Valencia, 19/10/2012, G.B.
Website Suggestions (websitesuggestions.net) es una web que nos ofrece un informe online gratuito de nuestro sitio, considerando prácticamente todos los factores y mostrándonos un informe con los resultados y consejos a seguir para enmendar aquellos errores -de todo tipo-  que podamos haber cometido, y siempre cometemos  errores, como seguro sabéis.

Yo he probado este servicio online y me ha gustado mucho. Además, he hecho algunos cambios siguiendo las recomendaciones de Website Suggestions y al volver a analizar la web concreta -que ha sido esta misma, knowhow– apenas 3 minutos más tarde, he visto que dichos errores ya no aparecían y que el raking (de 0 a 100) de Website Suggestions había subido algunos puntos.

Hay muchos servicios online disponibles para analizar tu web o blog, pero Website Suggestions me ha parecido bastante sencillo, con resultados muy claros y detallados, sin ‘florituras’, muy al grano y con resultados sólidos y reales. Eso sí, está en inglés, para aquellos que pueda ser un handicap. En ese caso, utilizad algún servicio de traducción online para traducir el informe, y que Dios os pille confesados, je, je, je…

Os recomiendo que echéis un ‘vistacillo’. Y sí, se puede contratar el servicio de pago para disponer de  más características, más herramientas que permitan ‘afilar’ y optimizar todavía más vuestra web. Os dejo captura de pantalla de Website Suggestions:

websitesuggestions.net

Ya tengo el Amazon Kindle!

Un post muy rápido, que la semana ha sido muy complicada… y no, esto no es un post patrocinado ni nada por el estilo;  simplemente me apetecía comentarlo

Ya tengo el Amazon Kindle!

Valencia, 18/10/2012, G.B.
Por fin tengo el Amazon Kindle, un regalo por mi cumpleaños. Me faltan un par de accesorios que también pedí desde la página oficial de Amazon. Imagino que los recibiré en breve. Lo importante es que el Kindle ya está aquí y en buen uso…

He estado probando mi nuevo Kindle y me ha encantado, de verdad. Como añadido para mí, ya que no era algo que esperaba, deciros que dispone de conexión Wifi y un navegador web propio, suficiente para realizar consultas y, por supuesto, comprar ebooks a Amazon

Este verano probé en Dénia el Kindle de mi amigo Jaime – un saludo desde aquí, compadre!- y me llamó mucho la atención. Conocía al Kindle desde que salió al mercado, pero nunca lo había visto de cerca.

¿Las características del Kindle? Las tenéis en su web, pero os las adjunto, pudiendo afirmar que son totalmente ciertas:

Kindle: pequeño, ligero y rápido

  • Más ligero que un libro de bolsillo, sólo pesa 170 gramos
  • Nuevas fuentes más oscuras y ajustadas manualmente para que la lectura resulte aún más fácil
  • Se lee como en papel, sin reflejos, incluso a plena luz del sol
  • Descarga libros en 60 segundos gracias al wifi integrado
  • Lleva tu biblioteca a todas partes: puede contener hasta 1.400 libros
  • Amplio catálogo de libros. 8.000 títulos por menos de 5,99€ Fuente: Amazon Kindle

Ahora indagaré sobre recursos para el Kindle, tales como páginas de descarga de ebooks gratuitas. Una de ellas que quiero mencionar ahora mismo es la del  Proyecto Gutemberg, de la cual ya me he descargado ya varios libros (y empezado a leer), pudiendo elegir entre varios formatos disponibles. Es un portal realmente magnífico, una iniciativa cultural y social impresionante. Hay muchas más páginas de consulta y descarga de libros electrónicos que ya iré probando y comentando, poco a poco.

En cuanto a los formatos de ebooks más adecuados para el Kindle, además del suyo nativo, tenía mis dudas, pero ya las he resuelto  gracias a este foro: Kindle foro, sitio no oficial. En principio me quedo con el formato .mobi, pero probaré todos. El siguiente paso será buscar programas para convertir archivos .pdf, .doc, .odt, etc.,  a formatos compatibles. Hay muchos recursos en la Red, pero quiero probar unos cuántos para quedarme con el que más me guste. Poco a poco…

Comentaros que la mayor parte de los ebooks disponibles de forma gratuita y completamente legal en el proyecto Gutemberg  están en inglés, pero también hay alguno que otro en castellano. Esta es la dirección de la Wiki del proyecto Gutemberg en castellano: www.gutenberg.org/wiki/ES_Portada.

Bien, seguiré con estos temas que realmente me interesan mucho. Abriré el foro de ebooks en INDAGA.net, si no lo he hecho ya.

Buenas noches.

Cómo luchar contra el Splogging (I)

Splog viene de la unión de los términos Spam y Blog y es una práctica ilícita que desgraciadamente está creciendo a pasos agigantados en Internet

Cómo luchar contra el Splogging (I)
Fuente imagen:  http://ha.ckers.org/images/sploggers.jpg

Valencia, 13/10/2012, G.B.
Antes que nada, una definición del Splogging y los Splogs. El splogging es una práctica ilícita que se basa en la obtención de contenido de un blog a través de su feed de noticias. El Splog o falso blog ‘absorbe’ a través de sistemas automáticos, como por ejemplo plugins, el contenido publicado en un blog y lo publica en el suyo, sin atribuir la autoría al blog original. El término Splog viene de la unión de los términos ingleses Spam y Blog (ver definición de la wikipedia. http://en.wikipedia.org/wiki/Spam_blog)

Con la práctica ilícita del splogging, los sploggers consiguen publicar de forma automatizada una gran cantidad de contenidos ajenos, haciéndolos propios, consiguiendo así aumentar el tráfico de su web y obtener más beneficios en sistemas de publicidad online, tales como Google Adsense, por nombrar uno de los más conocidos y utilizadas hoy por hoy, al disponer de una gran cantidad de contenido -aunque ajeno- en el que mostrar los anuncios para que los usuarios hagan ‘clic’ en ellos o simplemente beneficiarse del número de impresiones de los mismos. Su objetivo es ‘cuanto más contenido, mejor’, sin importarles demasiado lo que se publica, siempre y cuando venga de alguna web o blog que publique de forma regular. Además, en el caso de WordPress, cambian la fecha de publicación para que la suya sea anterior al post o artículo original.

Lo malo es que, al parecer, muchos buscadores parecen ‘premiar’ de forma inconsciente (al menos eso creo y espero) a los splogs, posicionándolos en los resultados de búsqueda muchas veces por delante del contenido original, de las webs o blogs que han publicado ese contenido que ellos ‘hacen suyo’ con prácticas fraudulentas. Así son las cosas, por ahora…

¿Y cómo luchar cotra el splog y su práctica, el splogging?
Por desgracia, no hay soluciones 100 por 100 efectivas, a menos que denuncies al Splog o falso blog. Lo que sí puedes hacer es minimizar sus efectos y ‘ponerlos en evidencia’. Os dejo algunas ideas y prácticas que yo he puesto en marcha, al sufrir los efectos de los sploggers en uno de mis blogs, NCV (noticiascomunitat.es). Aquí van.

– Créate una licencia de Creative Commons y muéstrala en tu web o blog. así, además de demostrar la autoría, podrás defender tus derechos en el caso de que quieras dar un paso más.

– Protege tu contenido insertando una firma que lo identifique, así como imágenes. Hay muchas formas de hacerlo, tanto manuales como automáticas. Yo he utilizado una mezcla de ambas.

– Si tienes una cuenta de Feedburner, protege tu feed mostrando un enlace a la licencia e insertando la autoría del mismo.

– Protege tu archivo .htaccess (en el caso de que tu CMS esté hajo la tecnología AMP, servidor Apache, MySQL y PHP, como es el caso de WordPress). Puedes incluso banear IPs, aunque es una solución algo drástica.

– Modifica tu archivo robots.txt para alejar ‘agentes’ indeseados

– Instala plugins para evitar el robo de contenido. aunque no sean la solución perfecta, pondrás un poco más difícil el ‘robo’ de contenidos

– Contacta con el webmaster del’Splog’ y dile que deje de hacer lo que está haciendo. esto último sospecho que no funcionará…

– En última instancia, y si ya estás demasiado harto, denuncia al Splog, aunque no es algo sencillo…

También deciros que sí existe una forma radical de evitar el Splogging, anque no os la recomiendo. Simplemente debes deshabilitar el feed de tu sitio, con la consecuente pérdida de flexibilidad y alcance de tu web. Yo lo he probado y funciona, pero he decidido no utilizar esa opción al ser contraria de la filosofía de un blog.

Yo seguiré indagando. Hasta pronto…

Más opciones para mejorar el SEO en Blogger

Más opciones para mejorar el SEO en BloggerValencia, 03/10/2012, G.B.
Siguiendo con las mejoras de Blogger, CMS que también utilizo y me gusta bastante –aunque no tanto como WordPress-, se me olvidó comentar que en la nueva interfaz de Blogger hay un par de nuevas características muy interesantes en cuanto a la mejora del SEO y la indexación se refiere.

Para acceder a las mismas, debemos loguearnos en nuestro Escritorio de Blogger,  pulsar en Configuración y luego en Preferencias de búsqueda (Escritorio -> Configuración -> Preferencias de búsqueda). Encontraremos tres nuevos apartados con sus respectivos subapartados:

1) Etiquetas meta

  • Descripción

2) Errores y redireccionamientos

  • Mensaje de página no encontrada personalizado
  • Redireccionamiento personalizado

3) Rastreadores e indexación

  • Archivo robots.txt personalizado
  • Etiquetas de encabezado de robots personalizadas

Os dejo captura de pantalla (ejemplo de eventalia.blogspot):

Más opciones para mejorar el SEO en BloggerCon estas mejoras Blogger se acerca  más a la flexibilidad y versatibilidad de WordPress, aunque todavía le quede mucho camino… De todas formas, son buenas noticias.

Instrucciones iterativas en PHP: bucles For

php

Estructuras de control de flujo en PHP

Valencia, 02/10/2012
El lenguaje PHP dispone también de un tipo instrucciones llamadas iterativas o de repetición ‘heredadas’  del lenguaje C. Son los conocidos ‘bucles‘, instrucciones que realizan una determinada acción un número determinado de veces que se especifica a través de un contador. Es como si diéramos cuerda a una instrucción para que se realice hasta que finalice el contador que hemos especificado, el ‘paso’, por llamarlo de algún modo. Se llaman bucles porque se repiten hasta que la condición deja de cumplirse, o lo que es lo mismo, se evalúa como falsa (FALSE).

Las instrucciones iterativas o bucles en PHP son las siguientes:

    • for
    • foreach
    • while
    • do… while

Veamos la primera de ellas, las  instrucciones o bucles for. Su sintaxis es la siguiente:

for ([Inicialización de la variable] ; [Condición] ; [Incremento o decremento de la variable])
{
[Instrucciones];
}

O como lo explica el portal oficial PHP.net:

for (expr1; expr2; expr3) sentencia

Veamos algunos ejemplos prácticos para entenderlo mejor:

<?php
/* ejemplo sencillo de bucle for en PHP */
for ($n = 1; $n <= 10; $n++)
{ 
echo "$n <br />";
//añadimos un salto de línea en HTML (<br />)
}
?>

 Lo muestro también con otro formato de visualización: 

<?php
/* ejemplo sencillo de bucle for en PHP */
for ($n = 1; $n <= 10; $n++) {
    echo “$n <br />”; //añadimos un salto de línea en HTML (<br />)
}
?>
Ejecutar ejemplo

EXPLICACIÓN del ejemplo: En primer lugar hemos inicializado la variable $n y le hemos dado el valor 1.Esto sólo se realizará la primera vez.  En segundo lugar, hemos establecido la condición, que la variable $n sea menor de 15 para que se realice la instrucción o sentencia que veremos al final . En  tercer lugar, hemos establecido el ‘paso’ -incremento o decremento- de la variable cada vez que ‘dé una vuelta’, es decir, cada vez que acabe y vuelva a la condición para evaluarla ($n <= 10;). En nuestro ejemplo, ha sido con un incremento de +1 a través del operador de incremento ($n++). Por último, y entre brackets, hemos especificado cuál es la instrucción que debe realizar e bucle for (echo $n;) mientras se cumpla la condición -sea verdadera o TRUE) ($n <= 10;) y con qué incremento ($n++),  $n+1 en nuestro caso. La instrucción for finaliza en cuanto la condición se evalúa como falsa (FALSE): en nuestro primer  ejemplo, en cuanto la variable $n alcanza el valor de 10.


NOTA:
Os debo unos cuantos ejemplos más.  En breve, prometido…

Lecturas recomendadas:
Definición de iteración
Estructura for
Estructuras control PHP

Retirada de más productos de Google en breve

“More Spring Cleaning” es como titula  Google en su blog oficial al cierre de productos
Retirada de más productos de Google en breve

Valencia,  30/09/2012, G.B.
Acabo de leer en el blog oficial de Google que este otoño, ‘la pequeña’ empresa de Mountain View va a cerrar unos cuantos productos y servicios más, aunque no dejará a los usuarios en ‘el aire’, sino que los fusionará con otros ya existentes y que han tenido mejor respuesta y beneficios, supongo. Google ha titulado el artículo o post que anuncia estos ‘recortes’ como “More Spring Cleaning” (no, no voy a comentar…).

Los productos y servicios que “sufren este recorte“, es decir, que desaparecerán a partir de este otoño, son los siguientes:

  • AdSense for Feeds
  • Classic Plus
  • Google Storage, que pasa a Picasa y Google Drive
  • Spreadsheet Gadgets
  • Google News Badges
  • Insights for Search, que pasa al rediseñado Google Trends
  • Places Directory for Android, ahora en Google Play
  • +1 Reports in Webmaster Tools, que pasa a Social reports en Google Analytics

Tenéis toda la información detallada en el blog oficial de Google, en el post More Spring Cleaning

Para ser que esto de los recortes está muy de moda últimamente, aunque sean por motivos y naturalezas distintas… 


Enlace relacionado:
Google’s retiring of products and services continues

Estructuras de control en PHP IV: el operador ternario

[Control de flujo o estructuras de control en PHP VI] Operador Ternario

Valencia, 28/09/2012, G.B.
Como os comenté en el anterior post, para finalizar con las instrucciones condicionales en PHP, vamos a conocer ahora el denominado  operador ternario. En realidad, no es una nueva clase de instrucción condicinal, sino una forma distinta de representar las instrucciones condicionales if/else, pero utilizando menos  líneas de código, por decirlo de algún modo.

Toma el nombre de ternario porque utiliza 3 argumentos; tiene tres partes definidas: (PARTE1) ? (PARTE2) : (PARTE3);

    • La primera parte es la condición o expresión que incluye la variable
    • La segunda el resultado de esa condición o expresión si el valor de la variable es verdadero (TRUE), cuando la condición se cumple
    • La tercera parte es el valor o expresión si el resultado es falso (FALSE), cuando no se cumple la condición

Sintaxis del operador ternario:

$NombreVariable = (condición) ? sentencia1-cuando-se-cumple : sentencia2-cuando-no-se-cumple;
Si utilizamos alguna instrucción o expresión como por ejemplo echo, la sintaxis sería:
echo ($NombreVariable = (condición)) ? sentencia1-cuando-se-cumple : sentencia2-cuando-no-se-cumple;

Otra forma de representarlo sería como lo hace la Wikipedia (añadiendo el punto y coma final de la expresión):

expresión boleana ? valor si cierto : valor si falso;
ó
variable = condición ? valor si es cierto : valor si es falso;

 Como podemos observar se constituye de (PARTE1) ? (PARTE2) : (PARTE3); que significa (CONDICIÓN) ? (RESULTADO1) : (RESULTADO2); También podemos representarlo así:
INSTRUCCIÓN (CONDICIÓN) ? (RESULTADO-SI-SE-CUMPLE) : (RESULTADO-SI-NO-SE-CUMPLE);

Vamos a verlo con un ejemplo. Primero escribiremos la instrucción condicional utilizando la estructura if/else que ya conocemos. En segundo lugar, la reescribiremos utilizando la sintaxis del operador ternario. El ejemplo, muy sencillo, nos mostrará el mensaje “Son las 7 y cuarto de la mañana, hora de levantarse!!“, si son las 7:15 horas de la mañana (TRUE) y el mensaje “Estoy aprendiendo PHP, poco a poco.” , si lo ejecutamos a cualquier otra hora del día, es decir, si la condición es falsa ya que el valor de la variable  es distinto (FALSE):

Primero, la instrucción if/else que ya conocemos:

<?php $hora = date ('H:i');
// formato de hora y minutos en PHP
if ($hora == ('7:15'))
{
echo 'Son las 7 y cuarto de la mañana, hora de levantarse!!';
}
else
{
echo
'Estoy aprendiendo PHP, poco a poco!';
}
?>

Ejecutar ejemplo

Y ahora lo mismo utilizando el operador ternario:

<?php
$hora = date ('H:i');
echo ($hora == ('7:15')) ? 'Son las 7 y cuarto de la mañana, hora de levantarse!!' : 'Estoy aprendiendo PHP, poco a poco!';
?>

Ejecutar ejemplo

El resultado será exactamente el mismo. Tened en cuenta que echo no necesita paréntesis, ya que no es una función, sino una sentencia del lenguaje.

Con esto finalizamos las instrucciones condicionales o de control de flujo en PHP. Lo siguiente que veremos serán las instrucciones de iteracción o bucles. De todas formas, las seguiremos utilizando en los próximos ejemplos.

Lecturas recomendadas:
El operador ternario en PHP (webtaller.com)
Operador terciario (Wikipedia)
Operadores de comparación en PHP

Estructuras de control en PHP V: instrucción switch

php

[Control de flujo o estructuras de control en PHP V] Instrucciones Switch

Valencia, 27/09/2012, G.B.
Tras haber conocido ya las estructuras condicionales en PHP con if, if/else y if/elseif/else, pasamos ya a la última: la estructura switchYa sabemos que las sentencias o estructuras condicionales se utilizan para realizar distintas acciones basadas en diferentes condiciones. Switch actúa de la misma manera que lo hace la estructura if/elseif/else, pero permite simplificar el código cuando las condiciones o posibilidades son muchas.

La expresión o variable que va después de la palabra reservada switch se evalúa utilizando la palabra case (caso en inglés) seguida de dos puntos. Si hay un equivalente, una coincidencia, se ejecutará la sentencia tras ‘case‘. En caso contrario, se sale de la instrucción utilizando la palabra reservada break y se pasa al siguiente ‘caso’ o case, en donde se evaluará la siguiente sentencia,  y así hasta llegar a un case en el que se cumpla.  En el caso de que no se cumple ninguna de las equivalencias presentadas tras cada uno de los ‘case’, es decir, en el caso de que no haya ninguna equivalencia, se puede utilizar una instrucción por defecto representada por la palabra default, también  seguida de dos puntos. La estructura condicional switch está ‘encerrada’ entre brackets { }.

Pero mejor veamos una representación de la sintaxis de switch:

switch ($nombreVariable) {
case valor1:
      (sentencia1);
      break; // salida que se utiliza opcionalmente
case valor2:
      (sentencia2);
      break;
case valor3:
      (sentencia3);
      break;
case valor4:
      (sentencia4);
      break;
case valor5:
      (sentencia5);
      break;
defaulf:
      (sentencia o instrucción predeterminada); // esta se ejecutará en caso de que ninguna de las equivalencias anteriores se cumpla
}

Resumiéndolo:

switch (variable) {
   case: sentencia1;
   break; 
case: sentencia2;
   break; 
default: sentencia predeterminada;

Para entenderlo mejor, vamos a adaptar el ejemplo del post anterior a la estructura switch, aumentando con esa instrucción las posibilidades:

<?php
$hora = date ('H');
switch ($hora) {
   case 7:
   echo 'Es hora de levantarse, campeón';
   break; // salida que se utiliza opcionalmente
case 8:
   echo '¿Estás despierto ya?';
   break;
case 10:
   echo '¿Un cafetito?';
   break;
case 13:
   echo 'Falta menos para comer. ¿Tienes hambre ya?';
   break;
case 14:
   echo 'A comer!';
   break;
case 16:
   echo '¿Te apetece otro café?';
   break;
case 19:
   echo 'Descansa un poco: apaga el ordenador.';
   break;
case 20:
   echo 'Queda menos para cenar. ¿Tienes hambre?';
   break;
case 23:
   echo 'El día ya casi ha pasado. Debes estar cansado';
   break;
case 24:
   echo '¿Por qué no te vas a dormir?';
   break;
default:
   echo '<h2>Bienvenido a Aprendiendo PHP</h2>'; /* Esta es la frase por defecto que aparecerá en formato Título 2 en el caso de que no se cumpla ninguna de las equivalencias presentadas */
   break; 
}
?>

Ejecutar ejemplo

Ya sólo nos queda  ver -respecto a las estructuras condicionales en PHP- otro tipo de operador condicional que equivale a la estructura if/else denominado operador ternario. En el próximo post…


Lecturas recomendadas:
Switch
PHP Instrucción Switch
PHP Switch Statement