Ir al contenido principal

Aprendiendo PHP - Nociones básicas

Con este artículo empiezo una serie de artículos llamados "Aprendiendo PHP". Voy a ir haciendo unos esquemas y resumenes sobre PHP, y también iré poniendo unos ejercicios relacionados con los artículos para que fijemos bien los conceptos. Para poder seguirlos bien sólo hace falta tener un mínimo conocimiento sobre HTML y lenguajes de programación en general.

En este primer artículo vamos a ver:
  • Qué delimitadores se usan para definir bloques PHP

  • Cómo se pueden poner comentarios en el código

  • Cómo mostrar datos por pantalla, para poder hacer nuestro primer "Hola mundo" ;)

DELIMITADORES DE BLOQUES
Estándar <?php

// código 

?>

Es la mejor solución. No se pueden desactivar mediante el fichero de configuración de PHP (php.ini) y así nos aseguramos que siempre van a estar disponibles.

No puede haber espacios en la etiqueta <?php

Short Tags
 <? // código ?>

 <?=”Hola”;?>


Entran en conflicto con las cabeceras XML.

Necesita que la directiva short_open_tag* o --enable-short-tags estén activados.

Script
 <script  language=“php”>

 // código

 </script>

Raramente usado. Siempre están activas.

Estilo ASP
 <%

 // código

 %>

No disponible a partir de PHP 5.3.


¿Cómo saber si short_open_tag está activo?
phpinfo() muestra la configuración de PHP, con lo que sólo tendríamos que buscar la cadena short_open_tag y ver si está On.
<?php
   phpinfo();
?>

Cada instrucción debe terminar en punto y coma, excepto la última instrucción antes de un cierre de bloque que no es necesario pero sí recomendable.

Un fichero PHP utiliza una extensión .php. Pueden embeberse bloques PHP junto con HTML, como vemos en el siguiente ejemplo (index.php):
<html>
   <head>
      <title></title>
   </head>
   <body>
      <?php echo 'Bienvenido'; ?>
   </body>
</html>

COMENTARIOS EN PHP
Una sola línea // Comentario
Varias líneas /*Comentario*/
Estilo Shell # Comentario


CÓMO MOSTRAR DATOS POR PANTALLA
print 'hola';int print(args) Siempre devuelve 1.
echo 'hola';void echo(string arg1 [, ...string argN]) Al no devolver nada, puede que sea un poco más rápido que print, pero no es apreciable.
printf(“hola %s”,' Amigo');integer printf(string format [, args]) Se suele utilizar para mostrar el valor de varias variables junto con contenido estático.sprintf vuelca el contenido en un string.

Se pueden omitir los paréntesis en print y echo porque no son realmente una función, son constructores del lenguaje.

Vamos a crear nuestro primer "Hola Mundo", utilizando las distintas técnicas que acabamos de ver:

1) Utilizando el delimitador estándar, echo, y comentario en una sola línea
<?php
   // Mostrar 'Hola Mundo' por pantalla
   echo 'Hola Mundo';
?>

2) Utilizando el delimitador estándar, print y comentario en varias líneas
<?php
   /* Este es nuestro
     primer programa */
   print 'Hola Mundo';
?>

3) Utilizando short tags
<?="Hola Mundo";?>

EJERCICIOS

1) Crea un fichero ejer1-1.php que muestre "Hola Mundo" utilizando printf, delimitador script y que tenga un comentario shell.

2) Crea un fichero ejer1-2.php que muestre "Hola Mundo" en negrita (pista: etiqueta HTML)

Comentarios

Entradas populares de este blog

Leer un fichero properties con java.util.Properties

Los ficheros .properties son simples ficheros de texto que se suelen utilizar para guardar parámetros de configuración, en forma de pares clave-valor. Ejemplo de fichero: configuration.properties #User parameters user.name=Ana user.language=spanish Si estamos usando Java, podemos utilizar la clase java.util.Properties para leer los parámetros de este fichero: private static final String USER_NAME = "user.name"; private static final String USER_LANGUAGE = "user.language"; public void showProperties() throws Exception { Properties p = new Properties(); InputStream is = App.class.getResourceAsStream("/configuration.properties"); p.load(is); is.close(); String userName = p.getProperty(USER_NAME); String userCountry = p.getProperty(USER_LANGUAGE); System.out.println("userName: "+userName); System.out.println("userLanguage: "+userCountry); } Después de ejecutar este método, obtendríamos la siguiente salida: ...

JSF 2.0: Managed Beans (III)

Anteriormente ya hemos visto que cuando se declara un bean, tenemos que darle un scope: application, session, view, request, none. Un scope es un mapeo entre nombres y objetos que se almacena durante un determinado periodo de tiempo. En este post vamos a explicar cada uno de ellos. Si declaramos el bean desde el fichero faces-config.xml, indicamos el scope en <managed-bean-scope> y si queremos hacerlo con anotaciones, utilizaremos @{Application,Session,View,Request,None}Scoped Application Con este scope, se guarda la información durante toda la vida de la aplicación web, independientemente de todas las peticiones y sesiones que se realicen. Este bean se instancia con la primera petición a la aplicación y desaparece cuando la aplicación web se elimina del servidor. Si queremos que el bean se instancie antes de que se muestre la primera página de la aplicación, usamos la propiedad eager a true. @ManagedBean(eager=true) ó <managed-bean eager="true"> Session...

JSF 2.0: Message bundles

Los message bundles son ficheros .properties que guardan mensajes del tipo clave=valor. Si centralizamos todos los mensajes de nuestra aplicación en estos ficheros, es más fácil poder localizarlos si queremos realizar algún cambio y también nos ayuda para la internacionalización de la aplicación. Ejemplo: messages.properties (en src/java/com/examples) con dos mensajes name=Tu nombre: age=Tu edad: ¿Cómo los declaramos? 1) En cada página JSF donde lo necesitemos <f:loadBundle basename="com.examples.messages" var="msgs"/> 2) De manera global en faces-config.xml <application>      <resource-bundle>           <base-name>com.examples.messages</base-name>           <var>msg</var>      </resource-bundle> </application> Esta opción es más eficiente ya que sólo crea el bundle una v...