lunes, 1 de junio de 2015

Programacion en PHP

Definición


PHP es un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la página Web resultante. PHP ha evolucionado por lo que ahora incluye también una interfaz de línea de comandos que puede ser usada en aplicaciones gráficas independientes. Puede ser usado en la mayoría de los servidores web al igual que en casi todos los sistemas operativos y plataformas sin ningún costo.

PHP se considera uno de los lenguajes más flexibles, potentes y de alto rendimiento conocidos hasta el día de hoy, lo que ha atraído el interés de múltiples sitios con gran demanda de tráfico, como Facebook, para optar por el mismo como tecnología de servidor.

Este lenguaje forma parte del software libre publicado bajo la licencia PHP, que es incompatible con la Licencia Pública General de GNU debido a las restricciones del uso del término PHP.

Visión general


PHP puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores. El enorme número de sitios en PHP ha visto reducida su cantidad a favor de otros nuevos lenguajes no tan poderosos desde agosto de 2005. El sitio web de Wikipedia está desarrollado en PHP. Es también el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web.

El gran parecido que posee PHP con los lenguajes más comunes de programación estructurada, como C y Perl, permiten a la mayoría de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta. También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones.

Aunque todo en su diseño está orientado a facilitar la creación de sitios webs, es posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando alguna extensión como puede ser PHP-Qt, PHP-GTK, WxPHP, WinBinder, Roadsend PHP, Phalanger, Phc o HiP Hop VM. También puede ser usado desde la línea de comandos, de la misma manera como Perl o Python pueden hacerlo; a esta versión de PHP se la llama PHP-CLI (Command Line Interface).

Cuando el cliente hace una petición al servidor para que le envíe una página web, el servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará el contenido de manera dinámica (por ejemplo obteniendo información de una base de datos). El resultado es enviado por el intérprete al servidor, quien a su vez se lo envía al cliente.

Mediante extensiones es también posible la generación de archivos PDF, Flash, así como imágenes en diferentes formatos.

Permite la conexión a diferentes tipos de servidores de bases de datos tanto SQL como NoSQL tales como MySQL, PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird, SQLite o MongoDB.

PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos, tales como Unix (y de ese tipo, como Linux o Mac OS X) y Microsoft Windows, y puede interactuar con los servidores de web más populares ya que existe en versión CGI, módulo para Apache, e ISAPI.

PHP es una alternativa a las tecnologías de Microsoft ASP y ASP.NET (que utiliza C# y Visual Basic .NET como lenguajes), a ColdFusion de la empresa Adobe, a JSP/Java, CGI/Perl y a Node.js/Javascript. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres, bajo la licencia GNU, existe además un entorno de desarrollo integrado comercial llamado Zend Studio. CodeGear (la división de lenguajes de programación de Borland) ha sacado al mercado un entorno de desarrollo integrado para PHP, denominado 'Delphi for PHP. También existen al menos un par de módulos para Eclipse, uno de los entornos más populares.

Fuente: Wikipedia

domingo, 31 de mayo de 2015

Historia y Características de PHP

Historia de PHP

* PHP Tal y como se conoce hoy en día, es en realidad el sucesor de un producto llamado PHP/FI.
* Creado en 1994 por RASMUS LERDOR, La primera encarnación php era un conjunto simple de ficheros binarios COMMON GAWAY Interface (CGI) escritos en el lenguaje C.
* En junio de 1995, Rasmus el código fuente de php tools, lo que permitió a los desarrolladores usarlo como considerasen apropiado. Esto también permitió y animó a los usuarios a proporcionar soluciones a los errores del código, y generalmente a mejorarlo.

Características

* La mayor partes de su sintaxis ah sido tomada de C, Java y perl con alguna característica especifica de si mismo.
* No es un lenguaje de marcas como podría ser HTML, XML O WML Esta mas cercano JavaScript o a C.
* A diferencia de JavaScript que se ejecutan en el navegador de PHP se ejecuta en el servidor permitiendo acceder a los recursos del servidor.
* al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que el Navegador lo soporte.
* Al ser un lenguaje libre dispone de características que lo convierten en la herramienta ideal para la creación de paginas web dinámicas.
* Soporte para una gran cantidad de base de dato: MySQL, PostgreeSQL, Oracle, MS SQL Server, SybasemSQL, entre otras.
* Integración con varias bibliotecas externas, permite generar documentos en PDF.
* Ofrece una solución simple y universal para las paginaciones dinámicas del web del fácil programación. 


Comparación con otros Lenguajes.

   TOP10: Lenguajes de Programación
Lugar
Lenguaje
Score
    Lugar
Lenguaje
Score
    Lugar
Lenguaje
Score
1
Java
15194
1
Java
18%
1
Java
18%
2
C++
7298
2
C
16%
2
C++
18%
3
C#
5608
3
C++
11%
3
C
17%
4
VBasic
5534
4
PHP
9%
4
PHP
13%
5
Perl
4515
5
VBasic
8%
5
Perl
7%
6
Assembler
1905
6
Perl
6%
6
Python
5%
7
PHP
1295
7
Python
4%
7
C#
3%
8
C
1240
8
JavaScript
4%
8
JavaScript
3%
9
Python
755
9
C#
3%
9
VBasic
2%
10
Ruby
287
10
Ruby
3%
10
Assembler
2%


En este cuadro se expresa una idea mas clara y concisa de la comparación con algunos programas.

sábado, 30 de mayo de 2015

Sintaxis básica y Tipos de Datos

Abrir Scripts PHP

El código PHP está incrustado entre medio del código HTML. Por tanto debemos indicar de alguna forma que dejamos de escribir en código HTML y empezamos a escribir en código PHP. También debemos indicar dónde acaba el código PHP y volvemos a escribir en código HTML. Esto se hace indicándolo mediante unas etiquetas especiales que indican dónde empieza y acaba el código PHP.
la etiqueta <?php indicará que empezamos a escribir en PHP, y la etiqueta ?> indica que acaba el código PHP.
<?php .... codigo php ... ?>
También podemos indicar que estamos escribiendo en PHP mediante la etiqueta:
<script language="php">.... codigo php ... </script>
Hay otras etiquetas para delimitar el código PHP, pero no funcionan bien con todas las versiones de "Apache" o de "XAMPP". estas son:
<? .... codigo php ... ?>
<% .... codigo php ... %>
La versión que utilizamos en este manual (XAMPP 1.7.3) no admite estas etiquetas, por lo que utilizazremos alguna de las dos primeras para crear el código PHP.

Escribir en la página con PHP

La instrucción echo es una de las más utilizadas en PHP, ya que nos permite visualizar en pantalla lo que escribamos detrás de esta palabra clave. Si lo que queremos visualizar es un texto, debemos escribirlo entre comillas. de la siguiente manera:
<?php 
echo "Hola mundo"; 
?>
Lo escrito dentro de la instrucción echo entre comillas, es interpretado por el navegador como código HTML, pòr lo que podemos poner etiquetas HTML dentro del texto entre comillas para integrar mejor este texto en la página:
<?php 
echo "<p>Hola mundo</p>"; 
?>
La instrucción print es en todo igual a la instruccion echo pudiendo usar una u otra indistintamente para obtener el mismo resultado:
<?php 
print "<p>Hola mundo</p>"; 
?>
Esta instrucción o sentencia es en todo idéntica a la anterior, y tiene el mismo efecto en la página.

Escribir instrucciones

Al igual que en javascript, podemos escribir las instrucciones con varios espacios en blanco entre palabras, y con tabulaciones. Estos no serán tomados en cuenta al interpretar el código, y se considera que sólo hay un espacio en blanco entre palabras aunque haya más de uno. Esto nos permite organizar el código para que pueda ser más inteligible.
Sin embargo todas las instrucciones o sentencias PHP deben acabar con el signo de punto y coma ( ; ). El cambio de línea al escribir el código no supone un cambio de instrucción, por lo que si no se pone el signo de punto y coma seguiremos en la misma instrucción al cambiar de línea. Esto supone una diferencia importante con Javascript, ya que en Javascript al cambiar de línea acabamos la instrucción para empezar otra. En PHP el punto y coma es obligatorio al final de cada sentencia.

Primera página

Con lo visto hasta ahora podemos ya crear una primera página sencilla con lenguaje PHP. para ello abriremos el programa editor de textos (HTML-Kit) y escribiremos lo siguiente:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Página con PHP</title> 
</head>
<body>
<p>Este texto no esta escrito en PHP</p>
<?php  
echo "<p>Este texto está escrito con PHP</p>";
?>
</body>
</html>

En esta página el código PHP está marcado en azul. Para ver como funciona esta página la copiamos en nuestro editor de textos, y la guardamos en la carpeta "htdocs" del directorio de XAMPP con el nombre prueba1.php.
Para verla abrimos el navegador y escribimos en la barra de navegacion:http://localhost/prueba1.php. En el navegador debemos ver las dos líneas de texto tanto la escrita fuera de PHP como la escrita dentro de PHP.
Si examinamos el código fuente de la página (en la mayoría de los navegadores barra superior: ver/código fuente) veremos que sólo hay texto en HTML. Si en lugar de abrir la página desde http://localhost/... la abrimos directamente con el navegador, sólo veremos el código escrito directamente en HTML, y el código en PHP será ignorado.

La carpeta htdocs

Este será nuestro directorio de trabajo. Dentro de esta carpeta puedes crear subcarpetas para organizar mejor todos nuestros archivos en PHP. Para verlos en el navegador debemos ir a la página "http://localhost/misubcarpeta/archivo.php". Dentro de cada subcarpeta podemos guardar pruebas, proyectos de sitios, carpetas raiz de sitios en php, etc. Cada subcarpeta puede tener un archivo principal al que llamaremos "index.php" y que será el que se abra por defecto al poner sólo el nombre de la subcarpeta.
Tal vez nos resulte más cómodo acceder a la carpeta "htdocs" desde la carpeta de "mis documentos" o desde otra que nos sea más familiar. Para ello no tenemos más que crear en "mis documentos" (o en la carpeta que queramos) un acceso directo a la carpeta "htdocs".
Para escribir los nombres de los archivos debemos seguir las mismas reglas descritas para los archivos en HTML. Recordemos que éstos son básicamente los siguientes:
  • Texto en minúsculas: Todo el texto del nombre de archivo se escribirá en minúsculas.
  • No poner acentos: Escribiremos todas las palabras sin acento, aunque los tengan.
  • No empezar por un número: El primer carácter o signo que escribamos no debe ser un número, pues algunos programas podrían interpretar mal el nombre del archivo
  • No utilizar otros caracteres que no sean letras o números: no utilizar barras, paréntesis, puntos, dos puntos, comas, comillas, signo más, etc.
  • Separar las palabras con guión normal - o con guión bajo _ : Esto nos asegura un sólo espacio entre palabras, el ocupado por el guión bajo.(El guión bajo ( _ ) se escribe pulsando la tecla Mayúsculas y la tecla Guión a la vez).
"En php aparte de texto o código HTML podemos escribir otras cosas. Lo más sencillo son las variables.


Tipos de datos


Un tipo de datos se define como un conjunto de valores y las operaciones permitidas en esos valores. Casi todos los lenguajes de programación incluyen explícitamente el concepto de tipo de datos, aunque lenguajes diferentes pueden usar terminología diferente.

Los tipos de datos comunes en lenguajes de programación incluyen números enteros, números en punto flotante, y caracteres, un lenguaje podría soportar muchos más.

En PHP el tipo de datos de una variable no está definido por el programador. PHP decide el tipo de datos de las variables después de interpretar la página web. El tipo de datos básicos incluidos en php son variables, que no son más que identificadores para la ubicación de memoria para almacenar datos.

Los tipos de datos en PHP son:

domingo, 24 de mayo de 2015

Constantes, Expresiones y Operadores

CONSTANTES EN PHP

Definir constantes en PHP nos es útil para poder resusar su contenido en diferentes instancias de ejecución del código PHP. Ya que sabemos que el contenido de la constante no va a cambiar a lo largo de la ejecución del programa.
La definición de constantes en PHP se hace mediante el uso de la función define, su sintaxis es la siguiente:
  1. define(__NOMBRE_CONSTANTE_,_VALOR_DE_CONSTANTE_);
Los nombres de las constantes en PHP deben de empezar por letra o subrayado, seguido de letras, número o subrayados.
Por convención, los nombres de las constantes en PHP, se suelen definir en mayúsculas.
A continuación vemos como hemos definido unas cuantas constantes en PHP mediante la sentencia define:
  1.  
  2. define("PATH","/directorio/subdirectorio/"); // definiendo ruta al directorio actual
  3. define("PI",3.141592); // definiendo una constante numerica
  4. define("FLAG",TRUE); //definiendo un flag
  5. define("BR","<br>"); //definiendo un salto de linea html
  6.  
Para hacer uso de las constantes en PHP solo se usan en funcion de los nombres de las constantes de la siguiente forma:
  1. echo PATH;
  2. echo PI*$radio;
  3. echo FLAG;
Es decir, nos basta con poner el nombre de la constante en PHP.

Expresiones

La expresiones son las piedras de construcción más importantes de PHP. En PHP casi todo lo que se escribe es una expresión. La manera más simple y acertada de definir lo que es una expresión es "cualquier cosa que tiene un valor".

Las formas más básicas de expresiones son las constantes y las variables. Cuando se escribe "$a = 5", se está asignando '5' a $a. '5', obviamente, tiene el valor 5, o en otras palabras, '5' es una expresión con el valor de 5 (en este caso, '5' es una constante entera).

Después de esta asignación, se espera que el valor de $a sea 5 también, por lo que si se escribe$b = $a, se espera que esto se comporte tal como si se escribiera $b = 5. En otras palabras,$a es también una expresión con el valor 5. Si todo funciona bien, esto es exactamente lo que sucederá.

Un ejemplo de expresiones algo más complejo son las funciones. Por ejemplo, considere la siguiente función:
<?phpfunction foo ()
{
    return 
5;
}
?>
Asumiendo que está familiarizado con el concepto de función (si no lo está, échele una ojeada al capítulo sobre funciones), asumirá que escribir $c = foo() es esencialmente igual que escribir $c = 5. Y está en lo cierto. Las funciones son expresiones con el valor de sus valores devueltos. Ya quefoo() devuelve 5, el valor de la expresión 'foo()' es 5. Normalmente las funciones no sólo devuelven un valor estático, sino que computan algo.
Por supuesto, los valores en PHP no tienen que ser enteros, y con frecuencia no lo son. PHP soporta cuatro tipos de valores escalares: valores enteros (integer), valores de coma (punto) flotante (float), valores de cadena (string) y valores booleanos (boolean) - (valores escalares son aquellos que no se pueden descomponer en piezas más pequeñas, a diferencia de las matrices, por ejemplo). PHP también soporta dos tipos compuestos (no escalares): matrices (arrays) y objetos. Cada uno de estos tipos de valores pueden ser asignados a variables o devueltos desde funciones.
PHP lleva las expresiones mucho más allá, de la misma manera que lo hacen otros lenguajes. PHP es un lenguaje orientado a expresiones, en el sentido de que casi todo es una expresión. Considere el ejemplo que ya hemos tratado, '$a = 5'. Es fácil de ver que aquí hay dos valores involucrados, el valor de la constante entera '5', y el valor de $a que ha sido actualizado a 5 también. Aunque la verdad es que existe aquí un valor adicional involucrado, que es el valor de la asignación misma. La asignación evalúa al valor asignado, en este caso 5. En la práctica, esto significa que '$a = 5', sin importar lo que haga, es una expresión con el valor 5. De este modo, escribir algo como '$b = ($a = 5)' es igual que escribir '$a = 5; $b = 5;' (el punto y coma marca el final de una sentencia). Ya que las asignaciones se analizan de derecha a izquierda, también se puede escribir '$b = $a = 5'.
Otro buen ejemplo de orientación a expresiones es el pre- y post-incremento y decremento. Los usuarios de PHP y de otros muchos lenguajes pueden estar familiarizados con la notaciónvariable++ y variable--. Éstos son los operadores de incremento y decremento. En PHP, al igual que en C, hay dos tipos de incrementos - pre-incremento y post-incremento. Ambos esencialmente incrementan la variable, y el efecto sobre la variable es idéntico. La diferencia está con el valor de la expresión de incremento. Pre-incremento, que se escribre '++$variable', evalúa al valor incrementado (PHP incrementa la variable antes de leer su valor, de ahí el nombre de 'pre-incremento'). Post-incremento, que se escribe '$variable++' evalúa el valor original de $variable, antes de que sea incrementado (PHP incrementa la variable después de leer su valor, de ahí el nombre de 'post-incremento').
Un tipo de expresiones muy comunes son las expresiones de comparación. Estas expresiones evalúan si algo es FALSE (falso) o TRUE (verdadero). PHP soporta > (mayor que), >= (mayor o igual que), == (igual), != (distinto), < (menor que) y <= (menor o igual que). El lenguaje también soporta un conjunto de operadores de equivalencia estricta: === (igual y del mismo tipo) y !== (diferente o de distinto tipo). Estas expresiones se usan mayormente dentro de ejecuciones condicionales, tales como la sentencia if.

OPERADORES:

En PHP como en cualquier otro lenguaje existen los operadores, los hay aritméticos, de asignación, lógicos y condicionales.Operadores castLos operadores cast son para cambiar el tipo de variable.
<?php
// (int), (integer) Transforma a tipo Entero
// (float), (real), (double) Tranforma a tipo flotante
// (string) Transfor a tipo String
// (bool), (boolean) Transforma a tipo Boolean
// (array) Transforma a tipo Array
// (object) Transform a tipo Object
 
$str = "100";
$numero = (int) $str;
?>

Operadores de negación

El operador de negación es ! y se coloca por delante de lo que quiero negar, por ejemplo !$cicle
<?php
$a = true;
$b = false;
 
if(!$a)
    echo 'Este mensaje nunca se mostrar ya que estoy negando un valor verdadero';
if(!$b)
    echo 'Este mensaje lo muestro por pantalla';
?>

Operadores lógicos

Primero convierten las expresiones a valores boolean y luego realizan las compraciones.
<?php
// and o && Devuelve true si ambas partes son verdaderas
// or o || Devuelve true si una de las partes de verdaderas
// xor Es verdadero una sola parte de los das variables lógicas comparadas y 
// falso cuando ambas son verdaderas o cuando ambas son falsas.
 
$a = true;
$b = false;
$c = true;
$d = false;
 
if($a and $b) //false
    echo '$a es true y $b es false, este mensaje nunca se vera';
if($a && $c) // escribir and o && es lo mismo
    echo 'Ambas son verdaderas por lo cual se mostrará este mensaje';
if($c or $d)
   echo 'Este mensaje se mostrará por que $c es true';
if($b || $d) // escribir or o || es lo mismo
    echo 'Este mensaje nunca se mostrará por que ambas son falsas';
if($a xor $b)
    echo 'Esto es verdadero ya que solo a es verdadera';
if($a xor $c)
   echo 'Este mensaje nunca se mostrará por que ambas son verdaderas';
if($b xor $d)
   echo 'Este mensaje nunca se mostrará por que ambas son falsas';
?>

Operadores condicionales

Los operadores condicionales nos permiten tomar decisiones como: hacer o no hacer tal cosa, o también: hacer algo bajo determinadas condiciones y otra cosa distinta en caso de que no se cumplan.
<?php
// == Comprueba igualdades
// === Comprueba que ambos sean identicos
// !=  Comprueba desigualdades
// >  Izquierda mayor a derecha
// <  Izquierda menor a derecha
// >= Izquierda mayor o igual a derecha
// <= Izquierda menor o igual derecha
 
 
if(150 == 150)
    echo 'true';
if(1 === "1")
    echo 'Será verdadero cuando ambos sean 1';
if(1 === 1) // Esto es verdadero, ambos son numericos
    echo 'true';
if(150 != 100)
   echo 'true';
if(150 > 10)
   echo 'true';
if(10 < 150)
   echo 'true';
if(150 >= 150)
   echo 'true';
if(100 <= 100)
   echo 'true';
?>

Operadores de asignación

Los operadores de asignación sirven para asignar valores a variables.

<?php
// =    Asigna la parte derecha a la parte izquierda
// +=  Realiza la suma derecha + izquierda y la asigna a la izquierda
// -=   Realiza la resta derecha - izquierda y la asigna a la izquierda
// *=  Realiza la multiplicación derecha * izquierda y la asigna a la izquierda
// /=   Realiza la división derecha / izquierda y la asigna a la izquierda
// %=  Se obtiene el resto de la división derecha / izquierda y se asigna en izquierda
// .=   Concatena el valor de la izquierda con la derecha y lo asigna a la izquierda
 
$a = 10;
$b = 5;
$a += $b; //$a = 15
 
$a = 10;
$b = 5;
$a -= $b; //$a = 5
 
$a = 10;
$b = 5;
$a *= $b; //$a = 50
 
$a = 10;
$b = 5;
$a /= $b; //$a = 2
 
$a = 10;
$b = 3;
$a %= $b; //$a = 1
 
$a = "Daniel";
$b = "Segovia";
$a .= $b; // $a = DanielSegovia
?>

Operadores aritméticos

Los operadores aritméticos nos permiten hacer cualquier operación aritmética que necesitemos, por ejemplo suma, resta, multiplicación, etc.

Aquí un ejemplo de cada uno.
<?php
// +   Suma dos valores
// -  Resta dos valores
// *  Multiplica dos valores
// /  Divide dos valores
// %  Resto de dividir dos valores
// ++ Incremento en una unidad
// --  Decremento en una unidad 
 
echo 7 + 5; // 12
echo 5 - 7; //  -2
echo 8 * 5; // 40
echo 50 / 5; // 10
echo 10 / 3; // 1;
echo 5++; // 6
echo 100--; //99
?>