conociendo php

Download Conociendo PHP

Post on 13-Jun-2015

5.651 views

Category:

Technology

0 download

Embed Size (px)

DESCRIPTION

Introduccion a uno de los lenguajes de programacion web mas usados en Internet

TRANSCRIPT

  • Conociendo PHP

    Introduccin a uno de los lenguajes de programacin web ms usados en Internet

    Antonio Kobashikawa Carrasco

    akobashikawa@gmail.com

    @akobashikawa

    Hola, soy Antonio Kobashikawa, he trabajado un tiempo en desarrollo web, y voy a hablarles un poco de PHP.

    He programado en PHP ms o menos desde el 2006, cuando me encargaron la parte interactiva para un web site de automviles.

    Yo vena de programar en Java, con JSP para la aplicaciones web, as que no fue mi primer lenguaje web. PHP me pareci similar, pero ms prctico.

    Luego volv a Java, donde aprend a usar un framework estndar llamado Struts.

    Cosa curiosa, un tiempo despus y para otro proyecto, eso me ayud a aprender un framework para PHP llamado Cake.

    Lo que he aprendido de ambos mundos ha sido guiado por las necesidades del trabajo. Manejo un conjunto de tcnicas y herramientas que han sido tiles en los proyectos en que he participado. Pero es como conocer algunos puertos. Hay todo un mar all afuera.

    Yo les recomendara un enfoque similar. Traten de resolver problemas que los motiven, a su propio modo, luego revisen en la bibliografa y completen los huecos. Luego vuelvan sobre lo que resolvieron y vean si pueden hacerlo mejor.

    "Introduccin a uno de los lenguajes de programacin web ms usados en internet"

    Inicialmente haba pensado en titularlo "Introduccin al lenguage de programacin web ms usado en Internet". Pero me pareci un poco polmico.

    Algunos diran HTML; de eso se hacen todas las pginas web, no?. OK, pero es un lenguaje de formato, no de programacin.

    Otros diran C; con el que se hizo mucho del software que hace funcionar las redes de Internet. Pero no hay tantos programadores C. En realidad, hay ms programadores de Java.

    Aj; muchos diran Java; y s, hay muchos programadores de Java, empresas, publicaciones pero por alguna razn, hay ms servidores ofreciendo PHP que Java. Java es fuerte, pero PHP es econmico, rpido, popular el ms usado quizs.

    Podemos encontrar un ranking de lenguages de programacin ms usados en:

    http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

  • Audiencia

    Web

    Programacin

    Espero que para comprender muchos de las cosas de esta exposicin bastara con tener algunas nociones de lo que son las pginas web, y la programacin en general.

  • Qu es PHP?

    Lenguaje de programacin para generar pginas web

    Vamos al punto, qu es php?

    Es un lenguaje de programacin.

    En qu se usa? puedo hacer un sistema operativo con php?

    Es un lenguaje de programacin para generar pginas web.

    Por eso se usa en desarrollo web.

    Tambin se puede usar para crear comandos de lnea de consola, en el estilo de Perl.

    Recientemente ha aparecido la extencin PHP-GTK, que, usando php junto con gtk, permite crear aplicaciones de ventana.

    Sin embargo, php empez y sigue creciendo principalmete como un lenguaje de programacin para generar pginas web.

    Cmo as las genera? veamos

  • El ciclo web

    navegador

    servidor web

    solicitud

    respuesta

    1

    2

    3

    4

    proceso

    presentacin

    Internet es una red de redes.

    Dentro de cada red hay servidores y clientes a los que atiende.

    Un servidor web publica pginas web y un navegador web es un cliente que nos permite visualizarlas.

    El navegador enva una solicitud al servidor, el servidor atiende la solicitud, y enva una respuesta, el navegador publica la respuesta. Y as de nuevo, una y otra vez.

    Podemos llamar a esto el ciclo web.

  • respuesta web

    servidor

    web

    .html

    .php

    HTML

    HTML

    El contenido del documento .html es pasado tal cual a la respuesta HTML

    Un documento dinmico (como .php) es procesado para obtener HTML

    Lo que un servidorweb enva de respuesta es bsicamente HTML.

    Un documento HTML en el servidor es enviado tal cual al navegador.

    Un documento PHP, en cambio, es procesado para obtener el HTML que se enviar.

    La idea de documento dinmico es la misma que en JSP y ASP. Son bsicamente HTML con cdigo especial insertado.

    El HTML se pasa tal cual, pero el cdigo especial es procesado antes.

  • respuesta web

    servidor

    web

    en el proceso, un documento dinmico puede involucrar diversos recursos

    base de datos

    email

    archivos

    grficos

    etc

  • Por qu PHP?

    Es ampliamente soportado por los servicios de hosting

    Es libre

    Un nmero significativo de sites se ha escrito en PHP (Wikipedia , YouTube, Yahoo, Facebook, WordPress)

    Muchos paquetes importantes estn escritos en PHP (WordPress, OS Commerce, Joomla, Drupal)

    Es simple, directo, flexible

    Ha evolucionado para soportar programacin orientada a objetos

  • Conociendo PHP

    para empezar

  • instalando PHP

    PHP

    + MySQL

    instalar

    PHP

    instalar

    Apache

    instalar

    mdulo PHP

    instalar

    MySQL

    configurar

    Apache

    configurar

    PHP

    configurar

    PHP

    En la instalacin manual hay que bajar cada componente, instalarlo y configurarlo.

  • LAMP, WAMP,

    Tpicamente, PHP se instala para trabajar junto con Apache y MySQL

    Cuando la instalacin aparece en Linux, se la llama LAMP

    Cuando la instalacin aparece en Windows, se la llama WAMP

    Y as por el estilo

    A

    M

    P

    A

    M

    P

    A

    M

    P

    L

    W

    M

  • XAMPP

    Hay varios proyectos que difunden paquetes que contienen esas instalaciones tpicas.Usarlos puede facilitar la instalacin, y el da a da con el entorno de desarrollo.XAMPP es uno de tales paquetes. No slo provee PHP, sino tambin Perl y Python y est disponible tanto para Linux, como para Windows, Mac OS X y Solaris
  • Editores, IDEs

    Igual que con HTML, CSS, Javascript y otros lenguajes web, es posible trabajar usando un simple editor de texto, como Notepad, aunque contar con un entorno de desarrollo puede facilitar mucho las cosas.Hay editores de texto muy tiles para programacin, como Notepad++, jEdit, Y entornos de desarrollo muy buenos, como Dreamweaver, Aptana, Eclipse, Zend Studio
  • Editores, IDEs

    Estos son los que suelo usarNotepad cuando no hay nada ms a la manoNotepad++ es excelente, ligero, con FTP y una buena utilidad para convertir UnicodeDreamweaver es excelente para el diseo HTML, tiene buen soporte para PHPAptana esta basada en Eclipse, pero tiene mucho mejor soporte para PHP, HTML, JavascriptNano, cuando estoy Linux y no hay nada ms a la mano
  • Empezando

    El panel de control de XAMPP, desde donde podemos iniciar y detener sus servicios

  • Conociendo PHP

    lo bsico

  • Hola Mundo!

    El cdigo php se escribe entre etiquetas Para escribir algo en la pgina, podemos usar echoLas cadenas se escriben entre apstrofes 'as', entre comillas "as"El nombre del archivo tiene la extensin php

    hola_mundo.php

  • Hola Mundo!

    hola_mundo.php

    htdocs

  • Hola Mundo!

    htdocs/index.php

    htdocs

    http://localhost/index.php

    htdocs/hola_mundo.php

    http://localhost/hola_mundo.php

  • Hola Mundo!

    unicode guardado como ASCII

    unicode guardado como UTF-8

    En Notepad++ es fcil comprobar y cambiar el encode

    Si usamos unicode, tener cuidado de guardar el archivo en UTF-8 (sin BOM)

  • Hola Mundo!

    Hola Mundo!

    servidor

    web

    navegador

    http://localhost/hola_mundo.php

    .php

    HTML

  • Hola Mundo!

    Un documento php es bsicamente html con cdigo insertoLos bloques php se reemplazan por su resultado

    hola_mundo.php

  • Hola Mundo!

    Hola Mundo!

  • Cuadrados

    Cuadrados

    cuadrados.php

  • Cuadrados

    Cuadrados

    1

    1

    2

    4

    10

    100

  • Conociendo PHP

    formularios

  • Hola T

    Nombre:

    hola_form.php

  • Hola T

    hola.php

  • Hola T

    Hola Antonio!

    servidor

    web

    navegador

    action=hola.php

    hola.php

    HTML

    nombre=Antonio

    ...

    ...

    http://localhost/hola_form.php

    hola_form.php

  • Hola T

    Nombre:

    hola_tu.php

    versin de una pgina

  • Hola T

    ...

    Hola Antonio!

    servidor

    web

    navegador

    action=hola_tu.php

    hola.php

    HTML

    nombre=Antonio

    ...

    http://localhost/hola_tu.php

  • Conociendo PHP

    un poco ms

  • Bloques bsicos

    asignacin

    decisin

    repeticin

    $x = 1+1;

    if ($x>0) {

    ...

    }

    if ($x>0) {

    ...

    } else {

    ...

    }

    switch ($x) {

    case 1:

    ...

    break;

    ...

    default

    ...

    break;

    }

    for ($i=0; $i

  • Arrays

    (

    [0]=>2

    [1]=>3

    [2]=>1

    [3]=>'Hola'

    )

    'Hola'

    2

    3

    1

    'Hola'

    $x = 1;

    $a = array(2, 3, $x, 'Hola');

    a[3]

    foreach ($a as $item) {

    echo $item.'
    ';

    }

    foreach ($a as $indice=>$item) {

    echo $indice.': '.$item.'
    ';

    }

    0: 2

    1: 3

    2: 1

    3: 'Hola'

  • Funciones

    function hola_mundo() {

    echo 'Hola Mundo!';

    }

    function hola($x) {

    echo 'Hola '.$x.'!';

    }

    hola_mundo();

    hola('Mundo');

    function saludo($y) {

    return 'Hola '.$y.'!';

    }

    function hola($x) {

    echo salud