Está en la página 1de 30

Introduccin

Historia
Caractersticas generales
Funcionamiento
Instalacin y configuracin de PHP
Lnea de comandos.
Convenciones de escritura.
Estructura bsica de una pgina PHP
Historia.
Histricamente Personal Home Page.
Acrnimo recursivo de php: PHP Hyper-
text Preprocesor.
Desarrollo (Grfica de versiones):
http://es.wikipedia.org/wiki/PHP
Caractersticas 1
Tecnologa de servidor interpretada
Imperativo (cmo realizar una tarea)
Orientado a objetos (permite clases y
objetos)
Tipado dbil (control dbil en los tipos de
datos) y dinmico.
Basado en C, C++, Java, Awk, Perl y
Bash (shell script de Unix).
Caractersticas 2
Multiplataforma
Rpido.
Software libre bajo licencia GPL:
Es gratuito
El cdigo fuente est disponible.
Permiso demodificacin.
http://es.wikipedia.org/wiki/Licencia_de_software
Caractersticas 3
Existe una gran cantidad de mdulos y
aadidos para complementar y aumetar
sus prestaciones.
Curva de aprendizaje baja.
Multitud de aplicaciones realizadas con
php. Redes sociales (Facebook, Tuenti),
Gestores de contenido (Wordpress, Dru-
pal, Joomla),Ecommerce (Magento, Os-
Commerce),Elearning (Moodle)
Caractersticas 4
Qu podemos hacer?

Aplicaciones web.
Programacin de consola (lnea de co-
mandos)
Aplicaciones de escritorio utilizando Qt o
GTK.
Funcionamiento 1
Funcionamiento 2
Instalacin y configuracin 1
http://www.php.net/downloads.php.

Sistemas Linux
Sistemas Windows
Sistemas Mac

Extensiones PECL
Instalacin y configuracin 2
Archivo de configuracin: php.ini

El fichero de configuracin (php.ini) es ledo


al arrancar PHP.
En las versiones en que PHP funciona
como mdulo de servidor, esto sucede
nicamente cuando se inicia el servidor. En
las versiones CGI y CLI, esto ocurre en
cada ejecucin.
Instalacin y configuracin 3
El archivo php.ini se busca en las si-
guientes ubicaciones

Ubicacin especfica en el servidor web (di-


rectiva PHPIniDir en Apache 2).
Variable de entorno PHPRC
A partir de PHP 5.2.0, se puede establecer
la ubicacin del fichero php.ini para diferen-
tes versiones de PHP.
Instalacin y configuracin 4

A partir de PHP 5.2.0, se puede establecer


la ubicacin del fichero php.ini para diferen-
tes versiones de PHP. Se examinan en or-
den las siguientes claves de registro:
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z]
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y]
[ HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x],
'x', 'y' y 'z' significan la versin mayor, menor, y de edicin de PHP. Si
existiera un valor para IniFilePath en cualquiera de estas claves, la
primera en ser encontrada se utilizara como ubicacin del fichero
php.ini(solo en Windows)
Instalacin y configuracin 5

, valor de
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP]
IniFilePath (solo en Windows).
El directorio actual de trabajo.
El directorio del servidor web (para m-
dulos SAPI), o el directorio de PHP (ex-
cepto en Windows)
El directorio de Windows (C:\windows o
C:\winnt)
La opcin en tiempo de compilacin
--with-config-file-path.
Instalacin y configuracin 6

Ejemplos incluidos:
Entorno de desarrollo:
php.ini-development
Entorno de produccin:
php.ini-production.
Instalacin y configuracin 7
Algunas directivas:
short_open_tag
short_open_tag = Off
error_reporting
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
error_reporting = E_ALL & ~E_STRICT
error_reporting = E_ALL ; Valor recomendado
output_buffering
output_buffering = 4096
output_buffering = Off ; Valor recomendado en este curso
extensin pdo_mysql
extension=php_pdo_mysql.dll
Instalacin y configuracin 8
date.timezone
date.timezone = Europe/Madrid
post_max_size (tamao mximo de lo
datos enviados al servidor)
post_max_size = 8M
upload_max_filesize
upload_max_filesize = 2M
Instalacin y configuracin 9
Funciones php sobre configuracin.
string phpversion ([ string $extension ] )

bool phpinfo ([ int $what = INFO_ALL ] )


Principios como desarrolladores 1
Peor que usar un mal estndar o un estndar
incorrecto es no seguir ninguno.

Para aumentar nuestra productividad, tanto individualmente


como en equipo, debemos siempre seguir estndares y fijar
criterios de desarrollo.
Nuestro objetivo debera ser contar con una plataforma de
desarrollo que nos evite tener que repensar problemas tpi-
cos y cotidianos, y concentrarnos solo en los problemas nue-
vos.
Principios como desarrolladores 2
.

"Nadie debe empezar un proyecto grande. Empiezas con uno


pequeo y trivial y nunca debes esperar que crezca; si lo ha-
ces solamente sobre-disears y generalmente pensars que
es ms importante de lo que lo es en esta etapa. O peor,
puedes asustarte por el tamao de lo que tu esperas que
crezca. As que empieza pequeo y piensa en los detalles. No
pienses acerca de la foto grande y el diseo elegante. Si no
resuelve una necesidad inmediata, seguramente est sobre-
diseado. Y no esperes que la gente salte a ayudarte, no es
as como estas cosas funcionan. Primero debes tener algo
medianamente usable y otros dirn "hey, esto casi funciona
para m" y se involucrarn en el proyecto."

- Linus Torvalds
Principios como desarrolladores 3
.

Principio 1: RTFM - "Lee el Maldito Manual"


RTFM es una sigla que significa lee el maldito manual, algo
muy usado en los foros como respuesta hacia los novatos
que lo ltimo que hacen es leerlos (lamentablemente *todo*
se encuentra ah)

http://www.es.wikipedia.org/wiki/RTFM
Principios como desarrolladores 4
.

Principio 2: DRY - "No Te Repitas"

No te repitas significa algo muy simple: si cuando desarro-


llas ves que al programar copias un cdigo para pegarlo en
otro lado, es muy probable que ests haciendo algo mal, ya
que ese cdigo debera estar aislado y ser usado a travs de
parmetros.
Generalmente no existe razn para tener que duplicar el c-
digo, si estamos muy apurados, seguro, lo pagaremos muy
caro dentro de poco

http://es.wikipedia.org/wiki/DRY .
Principios como desarrolladores 5
.

Principio 3: KISS - "Mantenlo Simple, Estpi-


do!"

No te repitas significa algo muy simple: si cuando desarro-


llas ves que al programar copias un cdigo para pegarlo en
otro lado, es muy probable que ests haciendo algo mal, ya
que ese cdigo debera estar aislado y ser usado a travs de
parmetros.
Generalmente no existe razn para tener que duplicar el c-
digo, si estamos muy apurados, seguro, lo pagaremos muy
caro dentro de poco
http://es.wikipedia.org/wiki/Principio_KISS .
Principios
.
como desarrolladores 6
Principio 4: Estndar de Codificacin PHP /
Zend.

La comunidad de programadores de PHP no ha tenido nin-


gn referente nico como estndar. La empresa Zend Tech-
nologies, principal desarrolladora de PHP (junto al autor origi-
nal) y creadora de Zend Framework, est tomando cada vez
ms protagonismo y podra ser nuestra referencia a seguir

Evita crear un estndar propio, usa el definido por


Zend. .
http://framework.zend.com/manual/1.12/en/coding-standard.html
Principios
.
como desarrolladores 7
Estndar de Codificacin de Zend. Resumen
Etiqueta inicial de PHP de forma completa ("<?php") para
empezar con el cdigo. Si el archivo contiene nicamente
cdigo PHP, la etiqueta de cierre no es requerida ("?>"),
ms bien se recomienda omitirla para evitar inyeccin de
espacios en blanco en la respuesta
Se recomienda usar indentacin de 4 espacios. Se debe
configurar el editor de texto para convertir las tabulaciones
a espacios en blanco.
Se recomienda que el ancho de una lnea de cdigo sea
de 80 caracteres o menos. Siendo el tamao mximo de
120 caracteres.
Principios
.
como desarrolladores 8
Estndar de Codificacin de Zend. Resumen
Internamente, los archivos PHP no deben contener carac-
teres de retorno de carro ([0x0D] o [0x0D, 0x0A]). Sino
que las lneas deben acabar con el carcter de fin de lnea
([0x0A]).
Los nombres de los archivos slo pueden contener carac-
teres alfanumricos, guiones bajos (_) y guiones (-). No
se permiten espacios en blanco.
Archivos que contengan nicamente cdigo php, deben
terminar con la extensin.php.
Profundizaremos en el estndar progresivamente con el
estudio de php.
Principios
.
como desarrolladores 9
Documentacin integrada:
Los "docblocks" (bloques de documentacin) deben
ser compatibles con el formato de phpDocumentor.

Cualquier archivo con cdigo PHP debe tener un docblock


al inicio del archivo, y debe contener al menos las siguien-
te etiquetas: Descripcin corta del archivo, Descripcin
larga del archivo, LICENSE, autor, @category, @package,
@subpackage, @copyright, @license, ...
Principios
.
como desarrolladores 10
Ejemplos de documentacin:

/**
* Este Archivo contiene funciones utilizadas dentro del programa
*
* @package MiProyecto
* @subpackage Comun
* @license http://opensource.org/licenses/gpl-license.php GNU Pu-
blic License
* @author Pedro Picapiedra < pedropicapiedra@yabadabado.com>
*/

Principios
.
como desarrolladores 11
Documentando una funcion.

/**
* Calcula la suma del cuadrado de un arreglo
*
* Ciclo que recorre el arreglo, obtiene el valor lo eleva al cuadrado y se lo
* suma y retorna el total
*
* @param array $arr
* @return int
* @throws Exception Si el elemento no es un entero
*/

function sumaDeCuadrados($arr) {
$total = 0;
foreach ($arr as $val) {
if (!is_int($val)) {
throw new Exception("El elemento no es un entero !");
}
$total = $val * $val;
}
return $total;
}
Estructura de una pgina
.

Saliendo de HTML.

1. <? echo ("esta es la ms simple, una instruccin de procesado


SGML\n"); ?>

2. <?php echo("si quiere servir documentos XML, haga esto\n"); ?>

3. <script language="php">
echo ("a algunos editores no les
gustan las intrucciones de procesado");
</script>

4. <% echo ("Puedes tambin usar etiquetas tipo ASP"); %>


<%= $variable; # Esto es una forma abreviada de "<%e
cho .." %>
Ejercicios propuestos.
1.- Localiza el fichero de configuracin php.ini
y explicar el uso y estado de algunas de las
directivas de configuracin.
2.- Compara los archivos php.ini-development
y php.ini-production.
3.- Observa las directivas de configuracin
para acceso a bases de datos.
4.- Desde la lnea de comandos utiliza la op-
cin -v de php para comprobar la versin ins-
talada.

También podría gustarte