Este documento discute los frameworks PHP, incluyendo qué son, sus ventajas y desventajas, y ejemplos populares como Symfony y CodeIgniter. Explica que los frameworks proporcionan estructuras estandarizadas que facilitan el desarrollo ágil y escalable mediante la reutilización de código y componentes. También destaca que aunque los frameworks pueden limitar la flexibilidad, reducen significativamente el tiempo de desarrollo al evitar reinventar soluciones comunes.
2. Frameworks
PHP
¿por
qué
usarlos?
Indice
-‐
¿Que
es
un
framework?
-‐
Ventajas
y
desventajas
-‐
Framerwoks
PHP
-‐
Symfony
-‐
CodeIgniter
-‐
Casos
de
éxito
-‐
Enlaces
3. Frameworks
PHP
¿por
qué
usarlos?
¿Que
es
un
Framework?
-‐
Framework
es
un
conjunto
estandarizado
de
conceptos,
prácIcas
y
criterios
para
resolver
un
problema.
-‐
En
soLware
es
una
estructura
conceptual
y
tecnológica
de
soporte
definida.
Con
librerías,
componentes
y
clases
que
facilitan
un
desarrollo
ágil,
seguro
y
escalable.
-‐
Una
forma
de
organizarnos
4. Frameworks
PHP
¿por
qué
usarlos?
¿Necesito
un
framework?
-‐
Como
en
todo,
hay
desarrolladores
pro-‐frameworks
y
anti-‐frameworks.
-‐
Necesitas
orden,
framework
o
no
acabarás
desarrollando
de
una
cierta
forma
y
lógica.
Estarás
haciendo
tu
propio
“framework”
6. Frameworks
PHP
¿por
qué
usarlos?
Ventajas
-‐
Escalibilidad
y
Mantenimiento
-‐
Independencia
lógica
de
negocio
e
interfaz
gráfica
MVC:
Modelo,
Vista,
Controlador.
-‐
Desarrollo
más
rápido
y
mejor.
7. Frameworks
PHP
¿por
qué
usarlos?
Ventajas
-‐
Librerías
y
códigos
ya
realizados.
Lo
]pico
ya
lo
Ienes,
no
lo
repitas!
-‐
Extensa
documentación
y
muchos
incluso
en
Español.
-‐
Independencia
de
Base
de
datos.
-‐
Suelen
seguir
la
mayoría
de
las
mejores
prácIcas
y
patrones
de
diseño
web
8. Frameworks
PHP
¿por
qué
usarlos?
Ventajas
-‐
Puedes
encontrar
desarrolladores
ya
capacitados
en
ese
framework.
-‐
Menos
código:
menos
complejidad
=>
menos
bugs
=>
más
producIvidad
=>
menos
Iempo
=>
menos
costes
=>
más
beneficios
10. Frameworks
PHP
¿por
qué
usarlos?
Desventajas
-‐
A
veces
me
limitan
porque
no
se
modificar
algo
del
núcleo
o
no
me
hace
lo
que
pienso
que
debería.
Si
lo
hubiese
programado
yo
entero
lo
tendría
todo
más
claro.
-‐
No
me
siento
realizado...
no
todo
es
mio
:-‐S
-‐
Curva
de
aprendizaje
costosa
en
algunos
frameworks
-‐
Puede
implicar
trabajar
más
de
lo
necesario:
configuración
de
la
caché.
Obligado
a
mejor
resultado!
12. Frameworks
PHP
¿por
qué
usarlos?
¡¡Ojo!!
-‐
Un
framework
es
una
metodología
con
herramientas
pero
NO
LO
HACE
TODO
SOLO.
13. Frameworks
PHP
¿por
qué
usarlos?
JusIficación
rápida
de
framework
MVC
-‐
Trabajar
sin
framework.
“A
saco”
Todo
mezclado
diseño,
conexión
a
base
de
datos
y
lógica
de
negocio
<html>
<head>
<title>ADWA</title>
</head>
<body>
<table border="1">
<tr>
<th>CONFERENCIA</th>
<th>PONENTE</th>
</tr>
<?php
$db = new PDO('mysql:host=localhost;dbname=adwa', 'root', 'adwa2010');
$result = $db->query('SELECT * FROM conferencias');
$libros = array();
while ($conferencia = $result->fetch())
{
?>
<tr>
<td><?php echo $conferencia['titulo']?></td>
<td><?php echo $conferencia['ponente']?></td>
</tr>
<?php
}
?>
</table>
</body></html>
14. Frameworks
PHP
¿por
qué
usarlos?
JusIficación
rápida
de
framework
MVC
-‐
Trabajar
sin
framework.
“A
saco”
Todo
mezclado
diseño,
conexión
a
base
de
datos
y
lógica
de
negocio
<html>
<head>
<title>ADWA</title>
</head>
Vista
<body>
<table border="1">
<tr>
<th>CONFERENCIA</th>
<th>PONENTE</th>
</tr>
<?php
$db = new PDO('mysql:host=localhost;dbname=adwa', 'root', 'adwa2010');
Modelo
$result = $db->query('SELECT * FROM conferencias');
$libros = array();
while ($conferencia = $result->fetch())
{
?>
<tr>
<td><?php echo $conferencia['titulo']?></td>
<td><?php echo $conferencia['ponente']?></td>
</tr>
Vista
<?php
}
?>
</table>
</body></html>
15. Frameworks
PHP
¿por
qué
usarlos?
-‐
Esta
bien,
un
poco
de
orden.
Las
llamadas
a
base
de
datos
externas,
las
variables
de
conexión
de
base
de
datos
como
constantes
y
todo
el
código
al
principio
<?php
Modelo
$db = conectar();
$result = $db->query('SELECT * FROM conferencias');
$conferencias = array();
while ($conferencias = $result->fetch())
$conferencias[] = $conferencia;
<?php
foreach ($conferencias as $conferencia)
{
?>
<tr>
<td><?php echo $conferencia['titulo']?></td>
<td><?php echo $conferencia['ponente']?></td>
</tr>
<?php
}
?>
Vista
</table>
</body></html>
16. Frameworks
PHP
¿por
qué
usarlos?
-‐
Y
porque
no
separamos
completamente
para
que
diseñadores
HTML
y
desarrolladores
PHP
convivan
felices.
En
varios
ficheros
.php
Ya
tenemos
el
MVC.
19. Frameworks
PHP
¿por
qué
usarlos?
¿Pero
cual
elijo?
Bueno,
reflexionemos,
probemos
varios,
leemos
blogs
con
pros
y
contras,
sigamos
reflexionando
(fecha
de
entrega
del
proyecto
ha
pasado
ya),
descarguemos
la
ulIma
versión
que
ha
salido
nueva...
espera
espera
ha
salido
un
framework
que
aún
es
mejor...
22. Frameworks
PHP
¿por
qué
usarlos?
Javascript:
“NO
TE
OLVIDES
DE
MIIIIIIIIIIII”
Los
frameworks
PHP
son
frameworks
de
PHP
no
de
desarrollo
web,
con
lo
cual
lenguaje
cliente
no
lo
Iene
en
cuenta...
23. Frameworks
PHP
¿por
qué
usarlos?
Symfony
-‐
Fundador
y
jefe
de
proyecto:
Fabien
Potencier
(Francia)
-‐
En
2007
nación
Symfony
1.0
como
framework
de
desarrollo
interno
para
la
empresa
de
Fabien:
Sensio
Labs.
-‐
Actualmente
las
úlImas
versiones
son
1.4
y
ya
esta
en
desarrollo
la
versión
2.0.
24. Frameworks
PHP
¿por
qué
usarlos?
Symfony
-‐
Es
de
los
frameworks
más
uIlizados.
Eso
da
seguridad
;-‐)
-‐
Grandes
empresas
como
Yahoo
y
el
periódico
Público/Cine
han
apostado
por
ser
su
framework
de
trabajo.
-‐
Es
la
apuesta
europea
de
PHP
en
contraposición
del
americano
y
más
anIguo
CakePHP
-‐
Nace
con
el
objeIvo
de
no
reinventar
la
rueda,
todo
lo
bien
hecho
lo
intentan
incorporar:
YAML,
Doctrine
ORM...
27. Frameworks
PHP
¿por
qué
usarlos?
Symfony:
CaracterísIcas
-‐
Gran
documentación
y
comunidad
tanto
en
habla
inglesa
como
española
(entre
otras)
Grandisimos
tutoriales
y
libros
como
24
días
con
Symfony:
www.jobeet.org
-‐
Friendly
URL
:
RooIng
-‐
Helpers
-‐
Formularios
MVC
-‐
ORM:
Doctrine
y
Propel
-‐
Internacionalización
(I18N)
y
Localización
(L10N)
28. Frameworks
PHP
¿por
qué
usarlos?
Symfony:
CaracterísIcas
-‐
Sistema
buenísmo
de
CACHE:
slots,
componentes,
par7al
-‐
Unit
TesIng
-‐
Debugger
developers
-‐
Línea
de
comandos
-‐
Scawolding.
Generadores
de
código
para
gestores
de
contenidos.
CRUD
(Create,
Read,
Update,
Delete)
29. Frameworks
PHP
¿por
qué
usarlos?
-‐
apps
=>
aplicaciones
con
sus
modulos
se
va
replicando
la
misma
estructura
de
carpetas.
-‐
cache
=>
ficheros
de
cache
-‐
config
=>
generales
-‐
data
=>
sqls
-‐
lib
/
model
=>
ORM
-‐
logs
=>
ficheros
de
control
-‐
web
=>
CONTROLADOR
30. Frameworks
PHP
¿por
qué
usarlos?
-‐
apps
=>
aplicaciones
con
sus
modulos,
se
van
-‐
cache
=>
ficheros
de
cache
-‐
config
=>
generales
-‐
data
=>
sqls
-‐
lib
/
model
=>
ORM
-‐
logs
=>
ficheros
de
control
-‐
web
=>
CONTROLADOR
31. Frameworks
PHP
¿por
qué
usarlos?
Si
no
quieres
Symfony
siempre
puedes
uIlizar
unas
partes...
32. Frameworks
PHP
¿por
qué
usarlos?
CodeIgniter
-‐
¿Quieres
un
framework
pequeño
y
manejable?
-‐
¿No
quieres
tener
que
configurar
servidores?
-‐
¿No
quieres
usar
la
linea
de
comandos?
-‐
¿No
quieres
un
PHP
restricIvo?
-‐
¿No
quieres
instalar
PEAR?
-‐
¿No
quieres
aprender
un
gestor
de
planIllas?
-‐
Conclusión:
ODIAS
SYMFONY!!!
;-‐)
33. Frameworks
PHP
¿por
qué
usarlos?
CodeIgniter
-‐
Proyecto
fundado
por
EllisLab
Inc.
-‐
También
buena
documentación
y
buena
comunidad
en
español.
Inferior
a
la
de
Symfony.
-‐
Mantenimiento
más
sencillo.
No
una
actualización
constante
y
abusiva.
Core
pequeño
y
estable.
-‐
OPENSOURCE
-‐
Conclusión:
El
hermano
“pequeño”
de
Symfony
36. Frameworks
PHP
¿por
qué
usarlos?
los
frameworks+IDEs
nos
PERO... acercan
a
un
proceso
industrial...
aún
el
soLware
es
de
fabricación
artesanal...
37. Frameworks
PHP
¿por
qué
usarlos?
Enlaces
Symfony
>
Enlaces
http://www.symfony-project.org
Web oficial del framework de PHP Symfony
http://www.symfony.es
Blog de Symfony en español
http://www.librosweb.es/symfony/index.html
Documentación y libros de Symfony en español
http://delicious.com/
Ejemplo de desarrollo realizado en Symfony
38. Frameworks
PHP
¿por
qué
usarlos?
Enlaces
CodeIgniter
>
Enlaces
http://www.codeigniter.com
Web oficial del framework de PHP CodeIgniter
http://techtastico.com/post/manual-codeigniter-castellano/
Manual de CodeIgniter en Español
http://net.tutsplus.com/?s=codeigniter
Videotutoriales y tutoriales de CodeIgniter en Inglés
39. Frameworks
PHP
¿por
qué
usarlos?
Enlaces
Proyectos
>
Enlaces
http://www.openart.com/
Red Social de Arte
http://www.revistauala.com/
Periódico y revista digital cultural de Alicante
http://www.nosplay.com
mmm