Está en la página 1de 35

FUNCIONES EN UN PORTAL

CONFIGURACION Y VERSIONES DEL SOFTWARE


PHP Versin 5.0.3
Nos creamos una carpeta en el sitio donde queramos instalar los archivos del servidor
(PHP, MySQL), por ejemplo nos creamos una carpeta en la raz del disco duro y que
quede as: C:\Servidor\ Dentro de esta carpeta nos creamos otra carpeta y la llamamos
PHP. Luego extraemos los archivos del ZIP dentro de esa carpeta PHP, tal que los
contenidos del ZIP quedarn dentro de la ruta C:\Servidor\PHP\
Y ahora hay que tomar todos los archivos DLL localizados en la carpeta principal
C:\Servidor\PHP\ y copiarlos al directorio System (en Windows 9x) o System32 (NT, 2000,
XP, 2003) de la carpeta del Windows (los archivos DLL contenidos en la carpeta EXT no
hace falta copiarlos).
El siguiente paso es configurar el php.ini. Renombramos o copiamos el archivo
C:\Servidor\PHP\php.ini-dist y le ponemos php.ini Ahora lo editamos con el mismo block
de notas. Si lo necesitramos (lee antes la explicacin), editamos la lnea
register_globals = Off y la colocamos el valor: register_globals = On
Qu hago con Register_Globals? On u Off?
Activar esta directiva nos permite asumir que las variables son globales y pueden llegar
por cualquier mtodo (POST, GET, COOKIE, SERVER, etc). As, por ejemplo, si utilizamos
una variable global de sesin o cookie se puede suplantar fcilmente mediante una
variable por url, con lo cual nuestro script no es seguro. Un buen programador de PHP
tendra la directiva en OFF y usara los arrays globales ($HTTP_X_VARS) o los
superglobales $_POST, $_GET, etc., que estn disponibles a partir de la versin 4.1.X de
PHP. Y por qu? Pues por esos temas de seguridad en los script y porque debemos
acostumbrarnos a no manejar variables globales ya que en un futuro el PHP tendr la
opcin en OFF por defecto y no podremos cambiarla. Sin embargo, por temas de
compatibilidad con script antiguos o que hagan uso de variables globales, podra
interesarnos activar esta caracterstica, pero repito que lo deseable sera tenerla en OFF y
hacer uso de los arrays globales o superglobales.
A continuacin vamos a indicar a PHP dnde se guardan las extensiones. Dentro del
php.ini buscamos extension_dir y le ponemos la carpeta que contiene los archivos
php_xxx.dll, que por defecto es la carpeta ext dentro de PHP. Importante: durante toda la
configuracin de directorios, debes utilizar esta barra "/" y no esta "\", adems de ponerlo
entre comillas. O sea, que debe quedar as:
; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/Servidor/PHP/ext/"
Adems podemos activar las extensiones que queramos o necesitemos, para lo cual
buscamos Windows Extensions y para cargar las extensiones les quitamos el; de

Configuraciones y Versiones del Software

FUNCIONES EN UN PORTAL
delante. Por ejemplo, si quisiramos cargar la extensin gd2.dll (para manejar las
funciones PHP relativas a imgenes) deberamos cambiar; extension=php_gd2.dll por
extension=php_gd2.dll
Puedes ver para qu sirve cada extensin en el Manual oficial de PHP. Como nota
adicional, resaltar que hay algunas extensiones que requieren de libreras extra que no
vienen en el paquete completo de PHP, y para hacerlas funcionar tendremos que buscar
dichas libreras. No actives todas las libreras a diestro y siniestro porque luego saldrn
errores de que no se encuentra tal archivo; antes de instalar una librera, comprueba que
en la carpeta de PHP tienes los archivos DLL correspondientes.
Importante: la librera php_mysql.dll es la que permite manejar las funciones
relacionadas con MySQL, y por defecto en PHP5 viene desactivada, por tanto vamos a
activarla de la forma que indicamos antes: buscamos ;extension=php_mysql.dll y le
quitamos el ; de delante.
Ahora, si vamos a hacer pruebas con upload de archivos va HTTP, debemos indicar el
directorio donde los archivos se almacenarn temporalmente. Para ello buscamos
upload_tmp_dir y le damos el valor de una carpeta que exista. Por ejemplo, en nuestro
directorio C:\Servidor\PHP\ creamos una carpeta uploads, por lo que quedar algo as:
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "C:/Servidor/PHP/uploads/"
Si queremos cambiar el tamao mximo de los archivos que pueden subirse va HTTP,
buscamos upload_max_filesize y cambiamos el valor por defecto que trae, 2M (2 MB),
por el que queramos. No se recomienda poner un valor alto.
; Maximum allowed size for uploaded files.
upload_max_filesize = 2M
Para trabajar con sesiones, debemos especificar un directorio donde se guarden los
archivos temporales. Al igual que 2 pasos antes, buscamos session.save_path y le
damos el valor de un directorio que exista (o lo creamos):
session.save_path = "C:/Servidor/PHP/sessions/"
A continuacin copiamos el php.ini a la carpeta C:\Windows\ o C:\WinNT\ segn nuestra
versin de Windows, y listo.
Apache
Organizacin Del Sitio Web.
La organizacin que realizaremos de nuestro servidor Apache, ser la clsica en los
sistemas Unix: la pgina web de la intranet se almacenar en la carpeta raz del servidor

Apache

FUNCIONES EN UN PORTAL
web, las pginas de los usuarios se almacenarn en la carpeta home de cada usuario y
para albergar las pginas web de los distintos departamentos, lo ms prctico es crear
nuevos usuarios con el nombre del departamento.
Instalacin de Apache2.
Disponer de un servidor web nos permitir alojar nuestras propias pginas y aplicaciones
web de forma que den servicio tanto desde dentro de la intranet como desde Internet.
Sern la base que facilitar el acceso a la informacin.
"apt-get install apache2"
Con lo cual se instalarn los archivos necesarios para que funcione nuestro servidor web.
Se instalar apache v2.
Configuracin De Apache.
Los archivos de configuracin de apache2 se encuentran en la carpeta /etc/apache2. El
archivo principal de configuracin es /etc/apache2/apache2.conf. Antes de realizar
cualquier cambio en este archivo, es conveniente realizar una copia de seguridad del
mismo ya que si apache encuentra algn error en el archivo de configuracin, no
arrancar.
Se pueden configurar infinidad de parmetros. Aqu, para poner en marcha el servidor,
editaremos el archivo apache2.conf y aadiremos nicamente el siguiente parmetro:
ServerName www.ieslapaloma.com
Para que los PCs de la red local sepan que www.ieslapaloma.com es nuestro servidor
web, debemos crear una entrada 'www' hacia su direccin IP en el servidor DNS. Si no, no
quedar ms remedio que acceder utilizando la direccin IP del servidor.
Arranque Y Parada Del Servidor Web Apache.
El servidor web apache2, al igual que todos los servicios en Deban, dispone de un script
de arranque y parada en la carpeta /etc/init.d.
// Arrancar o reiniciar el servidor apache2
/etc/init.d/apache2 restart
// Parar el servidor apache
/etc/init.d/apache2 stop
Espacio Web Para La Intranet.
Por defecto, la carpeta raz del servidor web es la carpeta /var/www. Todos los
documentos que se encuentren dentro de la carpeta raz del servidor web, sern
accesibles va web. Dentro del raz de documentos crearemos la pgina web de nuestra
intranet.

Instalacin de Apache2

FUNCIONES EN UN PORTAL
Carpeta Principal Del Servidor Web (DocumentRoot).
- Carpeta raz del servidor web: /var/www
- Acceso a la web principal: http://ip-del-servidor http://nombre-del-servidor.
Para acceder va web a la pgina almacenada en la carpeta raz del servidor, desde un
navegador debemos acceder directamente con la direccin IP a: http://ip-del-servidor o
bien utilizando el nombre del mismo si tenemos el DNS funcionando: http://nombre-delservidor. Solamente si no tenemos el DNS funcionando, podemos aadir el nombre y la IP
en /etc/hosts para resolver localmente.
Desde el navegador debe aparecer un mensaje como el siguiente:
It works!
Lo que siempre funcionar es ir con la direccin IP. Ejemplo, si la direccin IP de nuestro
servidor fuera 192.168.1.239, podemos ir con el navegador a la direccin
http://192.168.1.239 y obtendremos el mismo resultado. Podemos personalizar nuestra
pgina modificando el archivo index.html que hay dentro de la carpeta: /var/www.
Archivos Y Directorios De Configuracin.
Los archivos de configuracin ms utilizados son:
/etc/apache2/apache2.conf
/etc/apache2/ports.conf
La carpeta que contiene todas la webs disponibles esta en:
/etc/apache2/sites-available
Los enlaces simblicos que habilitan las pginas web estn en el directorio:
/etc/apache2/sites-enabled
Configuracin De Los VirtualHost.
Toda la configuracin de carpetas, nombres y puertos que puede el servidor mostrar se
establece en el directorio /etc/apache2/sites-available/
En el directorio /etc/apache2/sites-enabled debern estar los enlaces simblicos a los sitos
web que estn habilitados, o sea los enlaces simblicos a la carpeta /etc/apache2/sitesavailable/
Por defecto el fichero de configuracin es /etc/apache2/sites-available/default y su
contenido debe ser algo parecido a :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None

Carpeta Principal Del Servidor Web (DocumentRoot) 4

FUNCIONES EN UN PORTAL
</Directory>

Carpeta Principal Del Servidor Web (DocumentRoot) 4

FUNCIONES EN UN PORTAL
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
En la carpeta /etc/apache2/sites-enabled creamos el enlace:
ln -s /etc/apache2/sites-available/default /etc/apache2/sites-enabled/default
Para que el apache2 cargue esta configuracin se debe indicar el el fichero de
configuracin /etc/apache2/apache2.conf. Se debe aadir/descomentar al final del fichero
apache2.conf la lnia:
Include /etc/apache2/sites-enabled/
Opcionalmente podemos copiar la carpeta /var/www/apache-default a la carpeta /var/www/
MY SQL
Instalacin De MySQL.
Para la instalacin del servidor y el cliente de mysql, debemos instalar los paquetes mysqlserver, mysql-common y mysql-client mediante apt-get.

MY SQL

FUNCIONES EN UN PORTAL

Se instalar la versin 5 de mysql:


// Instalacin de mysql
sudo apt-get install mysql-server mysql-common mysql-client
Arranque Y Parada Del SGBD MySQL.
El servidor de datos mysql, al igual que todos los servicios en Deban, dispone de un script
de arranque y parada en la carpeta /etc/init.d.
// Iniciar o reiniciar el servidor mysql
sudo /etc/init.d/mysql restart
// Parar el servidor mysql
sudo /etc/init.d/mysql stop
Arranque Automtico Del Servidor MySQL Al Iniciar El Sistema.
Para un arranque automtico del servicio al iniciar el servidor, debemos crear los enlaces
simblicos correspondientes tal y como se indica en el apartado Trucos > Arranque
automtico de servicios al iniciar el sistema.
Configuracin del SGBD MySQL.
El archivo de configuracin de mysql es el archivo:
// Archivo de configuracin de mysql
/etc/mysql/my.cnf
En dicho archivo se configuran aspectos generales como la ruta donde se almacenarn
los archivos de la base de datos, el puerto a utilizar y algn otro aspecto pero para hacer
un uso normal de mysql, no es necesario realizar ninguna modificacin del archivo original.
Administracin del SGBD MySQL.
MySQL es un SGBD completo que permite crear usuarios y establecer permisos sobre
bases de datos, tablas y campos deseados a dichos usuarios. Los permisos pueden ser
de consulta, insercin, modificacin y borrado de datos, creacin, modificacin y
eliminacin de tablas y bases de datos y de administracin de usuarios y permisos, lo que
hace a mysql ser un SGBD muy flexible y muy completo.
Quizs la primera accin que se debera hacer nada ms arrancar el SGBD mysql sera
poner una contrasea al usuario root ya que inicialmente no tiene contrasea. Para ello
debemos iniciar mysql con el comando:
// Iniciar el servidor de bases de datos mysql

Arranque Y Parada Del SGBD MySQL 6

FUNCIONES EN UN PORTAL
sudo /etc/init.d/mysql start

Posteriormente iniciamos el cliente de mysql como root y cuando aparezca el prompt de


mysql (mysql>) ejecutamos una orden grant para establecer la contrasea de root:
// Ejecutar cliente de mysql y cambiar contrasea de root
mysql u root // Accedemos sin contrasea
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5 to server version: 4.0.20log

Arranque Y Parada Del SGBD MySQL 6

FUNCIONES EN UN PORTAL

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> grant all privileges on *.* to root@localhost identified by 'secreta' with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye

De esta manera habremos puesto como contrasea de root la palabra 'secreta'. La


prxima vez que entremos, debemos aadir la opcin p para que nos pida la contrasea
ya que de lo contrario no nos dejar entrar:
// Entrando como root con contrasea
mysql u root p

Ahora debemos introducir la contrasea para acceder y tener acceso global al SGBD
MySQL.

PHP MyAdmin
Configuracin De PHPMyAdmin.
El archivo de configuracin de PHPMyAdmin es el archivo:
// Archivo de configuracin de PHPMyAdmin
/etc/phpmyadmin/config.inc.php

En dicho archivo de configuracin hay que establecer los parmetros que permitirn a
PHPMyAdmin conectar con mysql, que son:
host

PHP MyAdmin

FUNCIONES EN UN PORTAL

En este parmetro habr que indicar la IP del servidor mysql. Si el servidor web y el
servidor mysql son la misma mquina, se deber poner 'localhost' 127.0.0.1. En el caso
de que sean mquinas diferentes, se deber poner la IP del servidor mysql.
port

Aqu se especifica el puerto de conexin al servidor mysql. El puerto por defecto por el que
sirve datos el servidor mysql es el 3306. Si en la configuracin de mysql (archivo
/etc/mysql/my.cnf) no se ha cambiado, no es necesario especificarlo ya que se usar el
puerto 3306 por defecto.
auth_type
Para que PHPMyAdmin pueda acceder a mysql, es necesario autentificarse. Se admiten
tres formas de autentificacin:

Config: permite que el nombre de usuario y la contrasea se especifiquen en el archivo


config.inc.php.
Http: el usuario deber introducir nombre y contrasea para acceder a la ruta web.
Cookie: el usuario deber introducir nombre y contrasea para acceder a la aplicacin.

PHP MyAdmin

FUNCIONES EN UN PORTAL

User y password: en el caso de que hayamos elegido tipo de autentificacin 'config',


ser necesario proporcionar el nombre de usuario y la contrasea con el que
PHPMyAdmin acceder a mysql. En tal caso, la lnea del password puede quedar
comentada.

// Configuracin por defecto en config.inc.php


Corresponden a las siguentes lneas en el archivo config.inc.php:
$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP
$cfg['Servers'][$i]['port'] = ''; // MySQL port-blank default port
$cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = 'secreta'; // MySQL pass (only 'config')
APLICACION PHP
Variables y Constantes
Variables PHP.
Los lenguajes de programacin permiten la declaracin de variables. Una variable no
es ms que una palabra clave escrita con un formato impuesto por el lenguaje, que nos
permite almacenar informacin para su utilizacin, modificacin e interaccin entre el
resto de elementos de nuestra aplicacin.
En PHP una variable se define de la siguiente manera:

1.

$nombre_variable = 'valor';

Es obligatorio que el nombre de una variable se inicie con el caracter $, siendo ste el
que le indica a PHP que estamos creando una variable. Tras el $, es obligatorio el uso
de una letra o del smbolo _ (subrayado o guin bajo), los siguientes pueden ser letras,
guiones bajos (_) o nmeros. Es importante tener en cuenta que el nombre de las
variables es case sensitive o lo que es lo mismo, sensible a maysculas, por lo que
las siguientes dos variables son diferentes:

1.
2.

$nombre_variable = 'valor';
$Nombre_variable = 'otro valor';

Cuando se declara una variable, se le da un valor inicial. ste valor inicial est
englobado en uno de los posibles tipos que PHP contempla.
Las Variables Y Los Tipos.
En PHP existen 8 tipos, en la documentacin oficial se explican al detalle, por lo que
aqu slo se resumirn:

Aplicacin PHP

FUNCIONES EN UN PORTAL

boolean: Este tipo tiene dos posibles valores: true (verdad) o false (falso).
integer: Este tipo engloba los nmeros enteros.
float: Nmeros con coma flotante vamos los decimales de toda la vida.
string: Cadenas de texto.
array: Una matriz de datos.
object: objectos. Es el resultado de instanciar una clase, algo que se ver cuando
lleguemos a la programacin orientada a objetos en PHP.
resource: Hace referencia a un recurso externo. Los usamos mucho sin saberlo:
cuando nos conectamos a una base de datos, cuando abrimos un fichero
NULL: Representa el vaco.

Las Constantes en PHP.

Una constante es, como su propio indica, una expresin cuyo valor no puede ser
modificado. Si en nuestra aplicacin tenemos una informacin que se mantiene
invariable utilizaremos las constantes en lugar de las variables.

Las constantes son muy utilizadas para definir rutas internas, datos de conexin a la
base de datos, etc. Declararemos una constante de la siguiente manera:

1. define('_CONSTANTE', 'valor');

El nombre de la constante, al igual que el de las variables, permite letras, nmeros y


guiones bajos. Es case sensitive y el primer carcter debe ser una letra o un guin
bajo. En el caso de las constantes no utilizamos $, en su lugar se utiliz la
funcin define que proporciona PHP. Est bastante extendido declarar las constantes
con un _ delante, aunque no es obligatorio.

Operadores.

Las Constantes en PHP

FUNCIONES EN UN PORTAL

Las Constantes en PHP

FUNCIONES EN UN PORTAL

Operadores para strings.


Existen dos operadores para datos tipo string. El primero es el operador de
concatenacin ('.'), el cual retorna el resultado de concatenar sus argumentos derecho
e izquierdo. El segundo es el operador de asignacin sobre concatenacin ('.='), el cual
aade el argumento del lado derecho al argumento en el lado izquierdo. Por favor
consulte Operadores de asignacin para ms informacin.

Operadores de ejecucin.
PHP soporta un operador de ejecucin: las comillas invertidas (``). Note que estas no
son las comillas sencillas! PHP intentar ejecutar el contenido entre las comillas

Operadores 10

FUNCIONES EN UN PORTAL
invertidas como si se tratara de un comando del shell; la salida ser retornada (es
decir, no ser simplemente volcada como salida; puede ser asignada a una variable).
El uso del operador de comillas invertidas es idntico al de shell_exec().

Operadores 10

FUNCIONES EN UN PORTAL

Operadores de control de errores.


PHP soporta un operador de control de errores: el signo de arroba (@). Cuando se
antepone a una expresin en PHP, cualquier mensaje de error que pueden ser
generado por esa expresin ser ignorado.
Si se ha establecido una funcin controladora de errores personalizada
con set_error_handler() entonces todava ser llamada, pero este controlador de
errores personalizado puede (y debe) llamar a error_reporting() el cual devolver 0
cuando la llamada que provoc el error fue precedida por el signo @.
Si la propiedad track_errors est activada, cualquier mensaje de error generado por la
expresin ser guardada en la variable $php_errormsg Esta variable se sobrescribe en
cada error, as que se debe comprobar antes si se desea utilizar.

Operadores 11

FUNCIONES EN UN PORTAL

Operadores de asignacin.
El operador bsico de asignacin es "=". Se podra inclinar a pensar primero que es
como un "igual a". No lo es. Realmente significa que el operando de la izquierda se
establece con el valor de la expresin de la derecha (es decir, "se define como").
El valor de una expresin de asignacin es el valor asignado. Es decir, el valor de "$a =
3" es de 3. Esto permite hacer algunas cosas intrincadas:
Estructuras De Control
If.
El constructor if es una de las caractersticas ms importantes de muchos lenguajes,
incluido PHP. Permite la ejecucin condicional de fragmentos de cdigo. PHP dispone
de una estructura if que es similar a la de C:
if (expr)
sentencia
Como se describe en la seccin sobre expresiones , la expresin es evaluada a su
valor booleano. Si la expresin se evala como TRUE, PHP ejecutar la sentencia y si
se evala como FALSE la ignorar.
goto.
El operador goto puede ser usado para saltar a otra seccin en el programa. El punto
de destino es especificado mediante una etiqueta seguida de dos puntos y la
instruccin es dada como goto seguida de la etiqueta del destino deseado.
Este goto no es completamente sin restricciones. La etiqueta de destino debe estar
dentro del mismo fichero y contexto, lo que significa que no se puede saltar fuera de
una funcin o mtodo, ni se puede saltar dentro de uno. Tampoco se puede saltar
dentro de cualquier clase de estructura de bucle o switch. Se puede saltar fuera de
estos y un uso comn es utilizar un goto en lugar de un break multi-nivel.
include_once.
La sentencia include_once incluye y evala el fichero especificado durante la ejecucin
del script. Es un comportamiento similar al de la sentencia include, siendo la nica
diferencia que si el cdigo del fichero ya ha sido incluido, no se volver a incluir. Como
su nombre lo indica, ser incluido slo una vez.
include_once puede ser usado en casos donde el mismo fichero podra ser incluido y
evaluado ms de una vez durante una ejecucin particular de un script, as que en este
caso, puede ayudar a evitar problemas como la redefinicin de funciones, reasignacin
de valores de variables, etc.
require_once.
La sentencia require_once es idntica a require excepto que PHP verificar si el
archivo ya ha sido incluido y si es as, no se incluye (require) de nuevo.
include
La sentencia include incluye y evala el archivo especificado.

Estructuras De Control

12

FUNCIONES EN UN PORTAL

Estructuras De Control

12

FUNCIONES EN UN PORTAL

Require.
require es idntico a include excepto que en caso de fallo producir un error fatal de
nivel E_COMPILE_ERROR. En otras palabras, ste detiene el script mientras
que include slo emitir una advertencia (E_WARNING) lo cual permite continuar el
script.
Return.
return devuelve el control del programa a el modulo que lo invoca. La ejecucin vuelve
a la siguiente declaracin despus del modulo que lo invoca.
Si se llama desde una funcin, la sentencia return inmediatamente termina la ejecucin
de la funcin actual, y devuelve su argumento como el valor de la llamada a la
funcin. return tambin termina la ejecucin de una sentencia eval() o un archivo de
script.
declare.
El constructor declare es usado para fijar directivas de ejecucin para un bloque de
cdigo. La sintaxis de declarees similar a la sintaxis de otros constructores de control
de flujo:
declare (directive)
statement
switch.
La sentencia switch es similar a una serie de sentencias IF en la misma expresin. En
muchas ocasiones, es posible que se quiera comparar la misma variable (o expresin)
con muchos valores diferentes, y ejecutar una parte de cdigo distinta dependiendo de
a que valor es igual. Para esto es exactamente la expresin switch.
continue.
continue se utiliza dentro de las estructuras iterativas para saltar el resto de la iteracin
actual del bucle y continuar la ejecucin en la evaluacin de la condicin, para luego
comenzar la siguiente iteracin.
break.
break termina la ejecucin de la estructura actual for, foreach, while, do-while o switch.
break acepta un argumento numrico opcional el cual indica de cuantas estructuras
anidadas encerradas se debe salir.
Foreach.
El constructor foreach proporciona un modo sencillo de iterar sobre
arrays. foreach funciona slo sobre arrays y objetos, y emitir un error al intentar usarlo
con una variable de un tipo diferente de datos o una variable no inicializada. Existen
dos sintaxis:
foreach (expresin_array as $valor)
sentencias
foreach (expresin_array as $clave => $valor)

Estructuras De Control

13

FUNCIONES EN UN PORTAL

sentencias

Estructuras De Control

13

FUNCIONES EN UN PORTAL

La primera forma recorre el array dado por expresin_array. En cada iteracin, el valor
del elemento actual se asigna a $valor y el puntero interno del array avanza una
posicin (as en la prxima iteracin se estar observando el siguiente elemento).
La segunda forma adems asigna la clave del elemento actual a la variable $clave en
cada iteracin.
for.
Los bucles for son los ms complejos en PHP. Se comportan como sus homlogos en
C. La sintaxis de un buclefor es:
for (expr1; expr2; expr3)
sentencia
La primera expresin (expr1) es evaluada (ejecutada) una vez incondicionalmente al
comienzo del bucle.
En el comienzo de cada iteracin, se evala expr2. Si se evala como TRUE, el bucle
contina y se ejecutan la/sy sentencia/s anidada/s. Si se evala como FALSE, finaliza
la ejecucin del bucle.
Al final de cada iteracin, se evala (ejecuta) expr3.
Cada una de las expresiones puede estar vaca o contener mltiples expresiones
separadas por comas. Enexpr2, todas las expresiones separadas por una coma son
evaluadas, pero el resultado se toma de la ltima parte. Que expr2 est vaca significa
que el bucle debera ser corrido indefinidamente (PHP implcitamente lo considera
como TRUE, como en C). Esto puede no ser tan intil como se pudiera pensar, ya que
muchas veces se debe terminar el bucle usando una sentencia condicional break en
lugar de utilizar la expresin verdadera delfor.
do-while.
Los bucles do-while son muy similares a los bucles while, excepto que la expresin
verdadera es verificada al final de cada iteracin en lugar que al principio. La diferencia
principal con los bucles while es que est garantizado que corra la primera iteracin de
un bucle do-while (la expresin verdadera slo es verificada al final de la iteracin),
mientras que no necesariamente va a correr con un bucle while regular (la expresin
verdadera es verificada al principio de cada iteracin, si se evala como FALSE justo
desde el comienzo, la ejecucin del bucle terminara inmediatamente).
while.
Los bucles while son el tipo ms sencillo de bucle en PHP. Se comportan igual que su
contrapartida en C. La forma bsica de una sentencia while es:
while (expr)
sentencia
El significado de una sentencia while es simple. Le dice a PHP que ejecute las
sentencias anidadas, tanto como la expresin while se evale como TRUE. El valor de
la expresin es verificado cada vez al inicio del bucle, por lo que incluso si este valor
cambia durante la ejecucin de las sentencias anidadas, la ejecucin no se detendr

Estructuras De Control

14

FUNCIONES EN UN PORTAL
hasta el final de la iteracin (cada vez que PHP ejecuta las sentencias contenidas en el
bucle es una

Estructuras De Control

14

FUNCIONES EN UN PORTAL

interaccin). A veces, si la expresin while se evala como FALSE desde el principio,


las sentencias anidadas no se ejecutarn ni siquiera una vez.
elseif/else if.
elseif, como su nombre lo sugiere, es una combinacin de if y else. Del mismo modo
que else, extiende una sentencia if para ejecutar una sentencia diferente en caso que
la expresin if original se evale como FALSE. Sin embargo, a diferencia de else, esa
expresin alternativa slo se ejecutar si la expresin condicional del elseif se evala
como TRUE.
else.
Con frecuencia se desea ejecutar una sentencia si una determinada condicin se
cumple y una sentencia diferente si la condicin no se cumple. Esto es para lo que
sirve else. El else extiende una sentencia if para ejecutar una sentencia en caso que la
expresin en la sentencia if se evale como FALSE.

Funciones.

Las Funciones En PHP.

Las funciones o functions, son porciones de cdigo PHP independientes. Cuando


creamos una aplicacin, el cdigo se estructura en funcin de clases (que veremos
ms adelante) o funciones.

Cuando se programa utilizando funciones se suele hablar de programacin procedural,


estructurada o spaguetti code. Cuando se programa utilizando clases, se habla
de programacin orientada a objetos.

Programar haciendo uso de funciones es el old style y desde las primeras versiones
de PHP5, PHP ha dado el salto al desarrollo orientado a objetos, siendo a partir de
PHP5.5 cuando sta adquiere su mayor potencial. Nuestro proyecto ser orientado a
objetos, pero considero interesante e importante conocer el concepto de las funciones
ya que aunque programemos orientado a objetos haremos uso de un sinfn de
funciones que el propio lenguaje PHP proporciona.

Una funcin se declara de la siguiente manera:


1. functio miFuncion() {
2. // el codigo de la function
3. }

Funciones

15

FUNCIONES EN UN PORTAL

Lo interesante del uso de las funciones es reciclar cdigo. En nuestras aplicaciones


prcticamente todas se repite y son las funciones (o las clases) las que nos permiten
ahorrar muchas lneas de cdigo y realizar cambios masivos editando una sola funcin.

Funciones

15

FUNCIONES EN UN PORTAL

Para hacer uso de una funcin slo hay que llamarla:


1.
2.
3.
4.
5.

function miFuncion() {
echo 'hola mundo';
}
miFuncion();

Adems, las funciones pueden recibir valores (parmetros) y retornar informacin. Para
pasar los valores, slo tenemos que declarar la funcin indicando entre los parntesis
las variables a utilizar separadas por comas. Para retornar informacin, se utilizar
return.

1.
2.
3.
4.
5.
6.
7.
8.

function miFuncion($variable1, $variable2) {


return $variable1 + $variable2;
}
$variable1 = 2;
$variable2 = 3;
echo miFuncion($variable1, $variable2);

BASE DE DATOS
PHP MyAdmin

Base de Datos

16

FUNCIONES EN UN PORTAL

1. Asegrate de que tienes instalado phpMyAdmin. Esta gua asume que tienes el
phpMyAdmin instalado y listo para usar.

Base de Datos

16

FUNCIONES EN UN PORTAL

2. Ve a la pgina de inicio de tu phpMyAdmin. Para esta gua necesitas navegar a la


pgina de inicio de phpMyAdmin. Suele encontrarse debajo de estos directorios,
dependiendo de la configuracin de tu servidor.

http://localhost:8888/phpMyAdmin/

http://localhost/phpmyadmin

http://{your-ip-address}/phpmyadmin/

PHP MyAdmin

17

FUNCIONES EN UN PORTAL

3. Inicia sesin en tu pgina phpMyAdmin. Asegrate de que has iniciado sesin en


phpMyAdmin.

PHP MyAdmin

17

FUNCIONES EN UN PORTAL

4. Ingresa el nombre de tu base de datos. Escribe el nombre que quieres darle a tu


nueva base de datos. En este ejemplo la hemos llamado "mi_nueva_basededatos".
5. Haz clic en "Crear" y listo. Eso es todo.
Conexin A Una Base De Datos.
Se pueden establecer las conexiones sobre SSL para encriptar las comunicaciones
cliente/servidor y aumentar la seguridad, o tambin emplear ssh para encriptar la
conexin de red entre los clientes y el servidor de bases de datos. Si se utiliza algunas
de estas opciones, ser difcil para un posible atacante la monitorizacin del trfico y la
obtencin de informacin de la base de datos.

Tablas.

Una tabla de una base de datos es similar en apariencia a una hoja de clculo, en
cuanto a que los datos se almacenan en filas y columnas. Como consecuencia,
normalmente es bastante fcil importar una hoja de clculo en una tabla de una base
de datos. La principal diferencia entre almacenar los datos en una hoja de clculo y
hacerlo en una base de datos es la forma de organizarse los datos.

Para lograr la mxima flexibilidad para una base de datos, la informacin tiene que
estar organizada en tablas, para que no haya redundancias. Por ejemplo, si se
almacena informacin sobre empleados, cada empleado se insertar una sola vez en
una tabla que se configurar para contener nicamente datos de los empleados. Los
datos sobre productos se almacenarn en su propia tabla, y los datos sobre sucursales
tambin tendrn su tabla aparte. Este proceso se conoce como normalizacin.

Conexin A Una Base De Datos 18

FUNCIONES EN UN PORTAL

Cada fila de una tabla se denomina registro. En los registros es donde se almacena
cada informacin individual. Cada registro consta de campos (al menos uno). Los
campos corresponden a las columnas de la tabla. Por ejemplo, puede trabajar con una
tabla denominada "Empleados", en la que cada registro (fila) contiene informacin
sobre un

Conexin A Una Base De Datos 18

FUNCIONES EN UN PORTAL

empleado distinto y cada campo (columna) contiene un tipo de informacin diferente,


como el nombre, los apellidos, la direccin, o similares. Los campos se deben
configurar con un determinado tipo de datos, ya sea texto, fecha, hora, numrico, o
cualquier otro tipo.

Otra forma de describir registros y campos es imaginando un catlogo de fichas


tradicional de una biblioteca. Cada ficha del armario corresponde a un registro de la
base de datos. Cada informacin contenida en una ficha (autor, ttulo, etc.)
corresponde a un campo de la base de datos.

Insercin Consulta Y Actualizacin De Datos.


La capacidad de manejar una relacin base o derivada como un solo operando se
aplica no slo a la recuperacin de los datos (consultas), si no tambin a la insercin,
actualizacin.
Esto es, el lenguaje de manejo de datos tambin debe ser de alto nivel (de conjuntos).
Algunas bases de datos inicialmente slo podan modificar las tuplas de la base de
datos de una en una (un registro de cada vez).
Operacin De Insercin.
Comenzaremos explicando cmo insertar registros en la base de datos utilizando el
mtodo insert() de la clase SpoonDatabase. Simplemente tenemos que enviarle el
nombre de la tabla donde queremos insertar y un array asociativo con los datos a
insertar en el registro que se est creando.
//Array con los datos del usuario
$datos_usuario = array("nombre_completo" => "Julio Casacudo", "email" =>
"julio@casacudo.com", "password" => "loquesea");
//operacin de insercin
$id_usuario = $db->insert('usuario', $datos_usuario);
//muestro el dato que me devuelve insert()
echo "El identificador del usuario insertado es: " . $id_usuario;

Como se ha visto, la insercin consta de dos pasos bsicos. Primero la creacin del
array con los datos del registro a insertar. Es un array asociativo con todos los valores
de todos los campos que queremos introducir.

Insercin Consulta Y Actualizacin De Datos 19

FUNCIONES EN UN PORTAL

Nota: el campo id_usuario no lo enviamos porque en la tabla se ha puesto como auto


numrico.

Insercin Consulta Y Actualizacin De Datos 19

FUNCIONES EN UN PORTAL

Luego hacemos la llamada al mtodo insert(), que recibe los mencionados parmetros
y devuelve el identificador del registro insertado.
Por ltimo, a modo de confirmacin, mostramos con un hecho en la pgina el
identificador del registro que se ha insertado.
Operacin De Actualizacin.
La operacin de actualizacin, o update, se realiza de manera bastante similar a la
insercin, en el sentido en que tambin necesitamos un array asociativo con los datos
a actualizar en el/los registro/s.
Adems, al metodo update() le enviaremos opcionalmente un par de parmetros para
definir la clusula where, de modo que podamos especificar qu registros deben ser
actualizados. De momento veamos un ejemplo todava sin clusula where.

//actualizo registros con update


$datos_prueba = array("campo" => "valor");
$filas_afectadas = $db->update('tabla_prueba', $datos_prueba);

El mtodo update(), como se puede ver en el cdigo anterior, devuelve el nmero de


registros que han sido actualizados por medio de la consulta.

Operacin De Actualizacin

20

FUNCIONES EN UN PORTAL

CONCLUSIONES.
El lenguaje manejado en esta investigacin es bastante tcnica y se necesita de
conocimientos previos para poder saber que el lo que se esta leyendo y aun mas para
poder entenderlo, no hace falta decir que para poder disfrutar lo que se esta leyendo es
necesario tener ya conocimientos de programacin, informtica o redes todas tienen
cosas en comn y trabajan juntas para lograr grandes cosa; por lo menos lo bsico de
cada alguno de ellas o mnimo 2, para no perderse entre los diferentes trminos que
maneja en algunas partes. Si no tienes la menor idea de lo que se esta hablando, para
que no te confundas simplemente debers abrir tu mente, la programacin y la
informtica es lgica pura, los trminos que se explican son bsicos as es que, si en
verdad es de inters propio, la informacin plasmada ser de mucha ayuda.

Conclusiones

21

FUNCIONES EN UN PORTAL

BIBLIOGRAFIA.
http://php.net/manual/es/ini.core.php
http://www.taringa.net/post/linux/7362686/Configuracion-Apache-2-en-linux.html
http://www.maestrosdelweb.com/phpmysqlap/
http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m5/instalacin_y_co
nfiguracin_de_mysql.html
http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m5/instalacin_y_co
nfiguracin_de_phpmyadmin.html
https://rolandocaldas.com/php/variables-constantes-y-funciones-en-php
http://php.net/manual/es/language.operators.php
http://php.net/manual/es/language.control-structures.php
http://es.wikihow.com/crear-una-base-de-datos-en-phpMyAdmin
http://php.net/manual/es/security.database.connection.php
https://support.office.com/es-hn/article/Conceptos-b%C3%A1sicos-sobre-basesde-datos-a849ac16-07c7-4a31-9948-3c8c94a7c204?ui=es-ES&rs=es-HN&ad=HN
http://es.wikipedia.org/wiki/Sistema_de_gesti
%C3%B3n_de_bases_de_datos_relacionales
http://www.desarrolloweb.com/articulos/insercion-actualizacion-borradospoondatabase.html

Bibliografa 22

También podría gustarte