Programar en Linux
Rodrigo Fuentealba
darkprox en gmail.com
Lun Oct 23 23:37:15 CLST 2006
2006/10/23, Franco Catrin <fcatrin en tuxpan.com>:
> El lun, 23-10-2006 a las 14:53 -0300, Rodrigo Fuentealba escribió:
> > 2006/10/23, Franco Catrin <fcatrin en tuxpan.com>:
> > > bibliotecas en PHP? de esas que se hacen "include"? porque si no son PHP
> > > estamos hablando de otro lenguaje ;)
> >
> > Una muestra más...
> >
> Pero todas las bibliotecas que indicas son ultra basicas, esas
> bibliotecas hacen que el lenguaje sirva para algo util, nada mas.
ahhh, ya me extrañaba yo que no las conocieras...
>
> Yo me referia a las bibliotecas que implementan algun framework sobre
> PHP que lo convierta en una plataforma que permita hacer aplicaciones en
> forma productiva, esas no van a estar en C.
>
(No siempre: ADODB, que es una capa de abstracción de datos en PHP, te
permite usar una extensión propia en C para mejorar la velocidad del
acceso a datos.).
Los scripts de otras funcionalidades en PHP se buscan y se insertan
dentro del sistema, o de lo contrario se gatilla el mensaje de
trigger_error correspondiente.
>
> > Las mal llamadas "bibliotecas" de esas que se llaman con includes, son
> > simples scripts y va a depender de la habilidad del programador el
> > manejo de éstos.
>
> En esas estaba pensando... como implementas MVC o resource pooling
> (busque resource pooling php en google y me fue mal)
Si quieres implementar MVC, puedes usar:
ADOdb (adodb.sourceforge.net) para manipular el modelo (Modelo)
Smarty (smarty.php.net) para manipular los templates (Vista)
PEAR (pear.php.net) para manipular los controladores (Controlador)
(Sí, hay otras alternativas, pero de éstas me acuerdo yo... Cristian
Rodriguez te puede dar una idea completa).
Si quieres utilizar algo con MVC, para el desarrollo mega-rápido,
puedes usar Symfony, que es una especie de Rails pero hecho en PHP, o
PHP-on-Trax (la burda copia) de Rails. Te aconsejo Symfony... más
lindo el resultado final...
Sobre resource pooling, no conozco muy bien el concepto, así es que no
te podría decir.
> > De hecho, include() e include_once() son malas
> > prácticas con PHP, ya que sólo producen warnings cuando el archivo no
> > se encuentra. Es mejor usar require_once(), ya que el archivo
> > permanece una sola vez (de ahi el "_once") en memoria, y no múltiples
> > veces como lo haces con require(). En todo caso, require y
> > require_once producen errores fatales.
>
> entonces como se usan bibliotecas hechas en PHP?
Para usar scripts fuera del script en ejecución, te recomiendo la
forma con require_once (ejemplo para archivos fuera del directorio
raiz...):
<?php
require_once '/opt/miframework/modelo/adodb/adodb.inc.php';
require_once '/opt/miframework/modelo/configuracion.inc.php';
?>
Si no tienes uno de esos archivos, se te generará un error fatal que
tendrás que arreglar para que tu aplicación corra. Si lo haces con
include, tendrás un warning únicamente (que podrás ocultar con
display_errors en off) y tu aplicación no tendrá el comportamiento
esperado... un tip para que no te den dolores de cabeza...
--
Rodrigo Fuentealba Cartes
Desarrollador de Sistemas Web
Registered User 387639 - http://counter.li.org
Más información sobre la lista de distribución Linux