Usuario:ManuelRomero/php/NewPHP/B2T1/Sintaxis P

De WikiEducator
Saltar a: navegación, buscar



Introducción a PHP



Icon objectives.jpg
Sección de introducción a PHP
  • En esta sección veremos qué es el lenguaje php y para qué sirve.

Qué es php

  • PHP (acrónimo de PHP: Hypertext Preprocessor)
  • Es un lenguaje de código abierto.
  • Muy popular (Podríamos pensar en un estándar?)
  • Gran comunidad con soporte en internet que aporta, colabora y soluciona dudas.
  • Para el desarrollo web.
  • Nueva versión 7 con grandes cambios en el motor.
  • Se usa mucho la versión 5.9
  • Actualmente está la versión 7.2.9 (16 Aug 2018).


Icon inter.gif
Caracterísitcas de php 7

http://php.net/manual/es/migration70.php


  • Principales cambios en el motor de ejecución (Mucho mas potente).
  • Muy pocas imcompatibilidades.
  • Permite tipados explícitos.
características de php
Icon present.gif
Tip:
  • En las aplicaciones de desarrollo web
  1. Se ejecuta en el servidor web
  2. Es incrustado en HTML.
  3. El cliente solo ve el resultado de la ejecución nunca el código


Obtención del lenguaje de marcas para mostrar en el cliente

ProcesoPHP.png



Icon key points.gif

Puntos clave

El documento PHP, una vez interpretado correctamente en el servidor, produce generalmente una página HTML que será enviada al cliente.


El servidor en acción



Icon key points.gif

Puntos clave

El código PHP está embebido en documentos HTML,
Esto permite introducir dinamismo fácilmente a un sitio web.


El servidor en acción


Icon key points.gif

Puntos clave

El intérprete PHP ignora el texto
Busca etiquetas de inicio del bloque de código PHP.
  • Interpreta las instrucciones hasta el final de etiqueta
  • Repite el proceso hasta el final del fichero
  • Reescribe el fichero entero sustituyendo el código php por la salida de texto que genera
  • Dicho fichero se le entrega al cliente


Restricciones del servidor con php

  • Como PHP se ejecuta del lado del servidor sólo puede tener acceso a los datos del propio servidor.


Icon activity.jpg
Restricciones de php
    • No puede acceder a los recursos del cliente
    • No puede saber qué hora es en el cliente
    • No puede acceder a los archivos del cliente
      • Salvo la excepción de las Cookies



Configuraciones

  • PHP se puede instalar:
  1. Servicio independiente (PHP-FPM (FastCGI Process Manager)).
  2. Como un módulo de apache, php-mod.

Cómo escribir PHP

  • Dentro de páginas html
<?php
   instrucciones
?>
  • Nosotros siempre usaremos este estilo para escribir código
  • Lo podemos embeber en código html .... o no.
Otros modos menos usados
Estilo asp
<%
   instrucciones
%>
  • Para ello hemos de tener habilitado la etiqueta de php.ini
asp_tags 1
Estilo corto
<?
   instrucciones
?>
  • Para ello hemos de tener habilitado la etiqueta de php.ini
short_open_tag 1
Sintaxis para editores HTML
<SCRIPT LANGAGE="PHP">
   instrucciones
</SCRIPT>
Icon present.gif
Tip:
  • En la versión 7.0.0 de php se elimina las etiquetas siguientes:
  1. <%, %> (formato ASP)
  2. #<%= (formato corto)
  3. y la etiqueta de script <script language=""


  • Guardamos el fichero con extensión .php
    • Así sabemos que el interprete php tiene que ejecutar código


Icon activity.jpg
Probando primer programa
Icon present.gif
Tip: existen una función llamada phpinfo()


  • Vamos a probarla y ver la información que genera



  • Haz un programa que en php que ejecute la función phpinfo()



Icon activity.jpg
Probando la extensión
Verifica qué ocurre si la extensión del fichero no es php.
  • Concluye el motivo.



Programa: conjunto de instrucciones

Icon objectives.jpg
Objetivo

Un programa es un conjunto de instrucciones

  • Analizaremos las instrucciones que hay.
  • Posteriormente Veremos cómo se escriben en php.

Planteando un lenguaje de programación

Léxicos
  • Son las palabras reservadas del lenguaje.
http://php.net/manual/es/reserved.keywords.php
Sintaxis
Reglas de construcción.
Son las ya conocidas, pero veremos cómo se construyen las expresiones.
Semántica
Habla del significado.


Icon key points.gif

Puntos clave

Estudiaremos alguna peculiaridad, como el hecho de que php es un lenguaje altamente orientado a expresiones


Instrucciones en un lenguaje de programación

  1. Inicio Fin de bloque
  2. Instrucción/función de leer del teclado, escribir por pantalla
  3. Declaraciones (variables, constantes, funciones, clases, objetos, ...)
  4. Asignación
  5. Invocación (llamada a función o método)
  6. Estructura de control (selectiva, iterativa)


Instrucción de inicio fin de bloque
 { //Instrucción de inicio de bloque
 } //Instrucción de fin de bloque



Icon key points.gif

PHP instrucción inicio fin

En PHP el bloque inicio y fin está especificado con los caracteres
  { //inicio de bloque
  } //fin de bloque


inicio del programa se especifica con las etiquetas
 <?php //Etiqueta de inicio de script
 
 ?>  //Etiqueta de fin de script

}}

Separando instrucciones
  • ; (punto y coma)
  • Su uso es obligatorio.
  • En la última instrucción se puede obviar (excepción).
    • ?> implica esta instrucción.
  • La instrucción inicio de bloque y fin de bloque no lleva nunca ;
Icon present.gif
Tip: Si sólo queremos insertar 1 instrucción puede ser interesante obviar el ;.
  <html>
    ......
    <?php echo "hola" ?>
    <!-- instrucciones html -->
    <?php echo "otro hola" ?>
    <!-- mas instrucciones html -->
    <?php echo "otra instrucción " ?>
    .....
  </html>


Poniendo ;
Icon present.gif
Tip: También puede haber ;
  <html>
    ......
    <?php echo "hola" ;?>
    <!-- instrucciones html -->
    <?php echo "otro hola" ; ?>
    <!-- mas instrucciones html -->
    <?php echo "otra instrucción " ; ?>
    .....
  </html>




Icon activity.jpg
Probando código php
Haz un programa que dónde incluyas código dentro del body.
Muestra con etiqueta h1, h2 y h3 tres frases.
Utiliza la función echo para visualizar.
Muestra en el título un texto escrito desde php.
Compara el fichero del servidor con el que recibe el cliente.



1.png }}

Esto es lo que ve el cliente

Idioma no válido.

Necesita especificar un idioma como esto: <source lang="html4strict">...</source>

lenguajes soportados para sintaxis remarcada:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


</body>
</html>
<!doctype html>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>
      Este es un título desde php    </title>
</head>
<body>
   <h1>Mensaje en texto de h1</h1><h2>Mensaje en texto de h2</h2><h3>Mensaje en texto de h3</h3></body>
</html>