Interesante video (y cómico) que explica que es Cloud Computing
Otro:
Diseño orientado a objetos, patrones de diseño, PHP-Mapserver y todo lo necesario para ser un experto en PHP
Esta obra está bajo una licencia de Creative Commons.
© 2008 Jaime M. Tan Nozawa. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.<?php
/**
* Clase Carrito de compras
*/
class Carrito {
/**
* Cantidad de productos en el carrito
*/
private $cantidad = 0;
/**
* Contructor
*/
public function __construct()
{
// Bouml preserved body begin 0001F503
$return=NULL;
return($return);
// Bouml preserved body end 0001F503
}
public function count()
{
// Bouml preserved body begin 0001F583
$return=NULL;
return($return);
// Bouml preserved body end 0001F583
}
public function guardar()
{
// Bouml preserved body begin 0001F603
$return=NULL;
return($return);
// Bouml preserved body end 0001F603
}
}
?>
<?php
error_reporting(E_ALL);
/**
* Modelo Test PHP 5 y UML - modelo\class.Carrito.php
*
* $Id$
*
* This file is part of Modelo Test PHP 5 y UML.
*
* Automatically generated on 16.12.2008, 00:46:11 with ArgoUML PHP module
* (last revised $Date: 2008-04-19 08:22:08 +0200 (Sat, 19 Apr 2008) $)
*
* @author Jaime M. Tan Nozawa, <jtnozawa@gmail.com>
* @package modelo
*/
if (0 > version_compare(PHP_VERSION, '5')) {
die('This file was generated for PHP 5');
}
/* user defined includes */
// section -64--88-1-33--101592aa:11e3c5ee07c:-8000:0000000000000CB6-includes begin
// section -64--88-1-33--101592aa:11e3c5ee07c:-8000:0000000000000CB6-includes end
/* user defined constants */
// section -64--88-1-33--101592aa:11e3c5ee07c:-8000:0000000000000CB6-constants begin
// section -64--88-1-33--101592aa:11e3c5ee07c:-8000:0000000000000CB6-constants end
/**
* Short description of class modelo_Carrito
*
* @access private
* @author Jaime M. Tan Nozawa, <jtnozawa@gmail.com>
* @package modelo
*/
class modelo_Carrito
{
// --- ASSOCIATIONS ---
// --- ATTRIBUTES ---
/**
* Short description of attribute cantidad
*
* @access private
* @var int
*/
private $cantidad = 0;
// --- OPERATIONS ---
/**
* Short description of method __construct
*
* @access public
* @author Jaime M. Tan Nozawa, <jtnozawa@gmail.com>
* @return void
*/
public function __construct()
{
// section -64--88-1-33--101592aa:11e3c5ee07c:-8000:0000000000000CFA begin
// section -64--88-1-33--101592aa:11e3c5ee07c:-8000:0000000000000CFA end
}
/**
* Short description of method count
*
* @access public
* @author Jaime M. Tan Nozawa, <jtnozawa@gmail.com>
* @return int
*/
public function count()
{
$returnValue = (int) 0;
// section -64--88-1-33--101592aa:11e3c5ee07c:-8000:0000000000000CF4 begin
// section -64--88-1-33--101592aa:11e3c5ee07c:-8000:0000000000000CF4 end
return (int) $returnValue;
}
/**
* Short description of method guardar
*
* @access public
* @author Jaime M. Tan Nozawa, <jtnozawa@gmail.com>
* @return boolean
*/
public function guardar()
{
$returnValue = (bool) false;
// section -64--88-1-33--101592aa:11e3c5ee07c:-8000:0000000000000CF6 begin
// section -64--88-1-33--101592aa:11e3c5ee07c:-8000:0000000000000CF6 end
return (bool) $returnValue;
}
} /* end of class modelo_Carrito */
?>

/**
* include modelo_BD
*
* @author Jaime M. Tan Nozawa, <jtnozawa@gmail.com>
*/
require_once('modelo/class.BD.php');

<?php
/**
* Clase Carrito de compras
*/
class Carrito {
/**
* Cantidad de productos en el carrito
*/
private $cantidad = 0;
/**
* Contructor
*/
public function __construct()
{
// Bouml preserved body begin 0001F503
$return=NULL;
return($return);
// Bouml preserved body end 0001F503
}
public function count()
{
// Bouml preserved body begin 0001F583
$return=NULL;
return($return);
// Bouml preserved body end 0001F583
}
public function guardar()
{
// Bouml preserved body begin 0001F603
$return=NULL;
return($return);
// Bouml preserved body end 0001F603
}
/**
* instacion de clase DB en asociacion conexion
*/
private $conexion = null;
}
?>
<?php
error_reporting(E_ALL);
/**
* Modelo Test PHP 5 y UML - modelo\class.Carrito.php
*
* $Id$
*
* This file is part of Modelo Test PHP 5 y UML.
*
* Automatically generated on 16.12.2008, 01:57:32 with ArgoUML PHP module
* (last revised $Date: 2008-04-19 08:22:08 +0200 (Sat, 19 Apr 2008) $)
*
* @author Jaime M. Tan Nozawa, <jtnozawa@gmail.com>
* @package modelo
*/
if (0 > version_compare(PHP_VERSION, '5')) {
die('This file was generated for PHP 5');
}
/**
* include modelo_BD
*
* @author Jaime M. Tan Nozawa, <jtnozawa@gmail.com>
*/
require_once('modelo/class.BD.php');
/* user defined includes */
// section -64--88-1-33--101592aa:11e3c5ee07c:-8000:0000000000000CB6-includes begin
// section -64--88-1-33--101592aa:11e3c5ee07c:-8000:0000000000000CB6-includes end
/* user defined constants */
// section -64--88-1-33--101592aa:11e3c5ee07c:-8000:0000000000000CB6-constants begin
// section -64--88-1-33--101592aa:11e3c5ee07c:-8000:0000000000000CB6-constants end
/**
* Short description of class modelo_Carrito
*
* @access private
* @author Jaime M. Tan Nozawa, <jtnozawa@gmail.com>
* @package modelo
*/
class modelo_Carrito
{
// --- ASSOCIATIONS ---
// generateAssociationEnd : conexion
// --- ATTRIBUTES ---
/**
* Short description of attribute cantidad
*
* @access private
* @var int
*/
private $cantidad = 0;
// --- OPERATIONS ---
Esta obra está bajo una licencia de Creative Commons.
© 2008 Jaime M. Tan Nozawa. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.* A pesar de que aún utilizo ArgoUML, me empeñaré en seguir investigando el bouml que está demasiado interesante. Cuando bouml tenga la opción de cambiar el "formato de nombre de una clase" (o me digan como hacerlo) y disponga de la generación de un modelo de datos (SQL) estaremos frente a LA HERRAMIENTA case para PHP.
Aún para mis proyectos seguiré usando ArgoUML y en mis tiempos libres seguir investigando boUML.
Esta obra está bajo una licencia de Creative Commons.
© 2007 Jaime M. Tan Nozawa. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.CLASSEND
STYLE
COLOR 200 150 2
OUTLINECOLOR 0 0 0
END
END
1 <?php
2 // ejemplo01.php trabajando sin mapfile
3 // Jaime M. Tan Nozawa 2007 Creative Co
4
5 //Cargo la extensión MapScript . Verificamos si la extensión ya está cargada por defecto.
6 if (!extension_loaded("MapScript")) dl('php_mapscript.'.PHP_SHLIB_SUFFIX);
7
8 // instanciamos un nuevo objeto: map object.
9 $jMap = ms_newMapObj("");
10
11 $jMap->set("name","Pruebas");
12 $jMap->set("shapepath","C:/ms4w-php5/carpetaDondeestantusShapes/");
13
14 $jMap->setSize(600,400);
15 $jMap->setExtent(-87.9964,-19.0216,-63.114,1.19528);
16
17
18 $jMap->web->set( "imagepath" , "C:/ms4w-php5/tmp/ms_tmp/" );
19 $jMap->web->set( "imageurl", "/ms_tmp/" );
20
21 // Creamos un Layer dentro de nuestro MapObj y seteamos sus propiedades
22 $jLayer = ms_newLayerObj($jMap);
23 $jLayer->set( "name", "Departamentos");
24 $jLayer->set( "type", MS_LAYER_POLYGON);
25 $jLayer->set( "status", MS_ON);
26 $jLayer->set( "data", "Lim_dep.shp");
27
28 //Creamos un classObj dentro del LayerObj
29 $jClass = ms_newClassObj($jLayer);
30
31 //Creamos un styleObj dentro del classObj
32 $jStyle = ms_newStyleObj($jClass);
33
34 $jStyle->color->setRGB(200, 150, 2);
35 $jStyle->outlinecolor->setRGB(0, 0, 0);
36
37 $jImagen = $jMap->draw();
38
39 // Creamos y capturamos la ruta de imagen renderizada.
40 $url_imagen = $jImagen->saveWebImage();
41 ?>
1) MapObj
$jMap = ms_newMapObj("");18 $jMap->web->set( "imagepath" , "C:/ms4w-php5/tmp/ms_tmp/" );
19 $jMap->web->set( "imageurl", "/ms_tmp/" );
Otra propiedad NUEVA es SHAPEPATH. Esta propiedad es necesaria para poder hacer más fácil las cosas y no estar poniéndole toda la ruta cada vez que agregamos un layer y hacemos referencia a la ubicación del shapefiel. (fíjate en la propiedad DATA del Layer, ya no pongo rutas largas)12 $jMap->set("shapepath","C:/ms4w-php5/carpetaDondeestantusShapes/");int set(string propertiedad, valor)con el set podemos modificar casi todas las propiedades de los objetos (a menos que tenga una especializada para una propiedad específica) . Si retorna un valor -1, significa error.
ms_newLayerObj($jMap);29 $jClass = ms_newClassObj($jLayer);
32 $jStyle = ms_newStyleObj($jClass);
MS_LAYER_POINT, MS_LAYER_LINE, MS_LAYER_POLYGON, MS_LAYER_RASTER, MS_LAYER_ANNOTATION----
El último tipo, hace referencia a una capa de anotaciones.
Algunas veces deseamos etiquetar solamente o sino poner
íconos , logos para adornar o facilitar la comprensión, ETC.
Esta obra está bajo una licencia de Creative Commons.
© 2007 Jaime M. Tan Nozawa. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.1 <?php
2 // Obtenemos las capas
3
4 $jCapas=$jMap->getAllLayerNames();
5 $layersOn = array();
6 foreach ($jCapas as $idx => $layer) {
7
8 $capaObj=$jMap->getLayerByName($layer);
9
10 if ($capaObj->status==MS_ON) {
11 echo "** CAPA :{$capaObj->name} **<ul>";
12
13 for($i=0;$capaObj->getClass($i);$i++){
14 $Class = $capaObj->getClass($i);
15 echo "<li>CLASS:
16 <ul>
17 <li>NOMBRE CLASS: {$Class->name}</li>
18 <li>EXPRESION: {$Class->getExpression()}</li>
19 <li>COLOR: {$Class->getStyle(0)->color->red} {$Class->getStyle(0)->color->green} {$Class->getStyle(0)->color->blue}</li>
20 </ul></li>
21 ";
22
23 }
24
25 echo "</ul>";
26 }
27
28 }
29 ?>1 <?php
2 // ejemplo02.php
3 // Jaime M. Tan Nozawa
4
5 //Cargo la extensión MapScript . Verificamos si la extensión ya está cargada por defecto.
6 if (!extension_loaded("MapScript")) dl('php_mapscript.'.PHP_SHLIB_SUFFIX);
7
8 // instanciamos un nuevo objeto: map object. El constructor debe recibir al menos el parámetro de la ubicación del archivo .map
9 $jMap = ms_newMapObj("ejemplo01.map");
1011 $jMap->setExtent(-80.17494,-14.0216,-72.93546,-9.19528);12
13 $jColor = $jMap->getLayerByName('Departamentos')->getClass(0)->getStyle(0)->color;
1415 $jColor->setRGB(100,150,120);16
17 $jImagen = $jMap->draw();18 // Creamos y capturamos la ruta de imagen renderizada.
19 $url_imagen = $jImagen->saveWebImage();
20 ?>
Esta obra está bajo una licencia de Creative Commons.
© 2007 Jaime M. Tan Nozawa. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.#Inicio mapfile
MAPComo nos percatamos ahora he agregado nuevas opciones (en negrita) de nuestro mapfile inicial.
NAME Pruebas
SIZE 600 400
EXTENT -87.9964 -19.0216 -63.114 1.19528
WEB
IMAGEPATH "C:/ms4w-php5/tmp/ms_tmp/" #Esto puede variar segun tu configuracion
IMAGEURL "/ms_tmp/"
END
LAYER
NAME "Departamentos"
STATUS ON
DATA "Lim_dep.shp"
TYPE POLYGON
CLASSITEM Nom_Dep
CLASS
NAME "LIMA"
EXPRESSION /LIMA/
STYLE
COLOR 200 150 2
OUTLINECOLOR 200 200 200
END
END
CLASS
NAME "OTROS"
EXPRESSION /.*/
STYLE
COLOR 100 28 55
OUTLINECOLOR 0 0 0
END
END
END
END
#Fin mapfile
CLASSITEM Nom_Dep
con él podemos escoger un campo dentro de la tabla, en este caso Nom_dep, para poder hacer algunas búsqueda y filtrar o segmentar según diferentes criterios. CLASS
NAME "LIMA"
EXPRESSION /LIMA/
STYLE
COLOR 200 150 2
OUTLINECOLOR 200 200 200
END
END1 <?php
2 // ejemplo02.php
3 // Jaime M. Tan Nozawa
4
5 //Cargo la extensión MapScript . Verificamos si la extensión ya está cargada por defecto.
6 if (!extension_loaded("MapScript")) dl('php_mapscript.'.PHP_SHLIB_SUFFIX);
7
8 // instanciamos un nuevo objeto: map object. El constructor debe recibir al menos el parámetro de la ubicación del archivo .map
9 $jMap = ms_newMapObj("ejemplo01.map");
10
11 // Renderización
12 $jImagen = $jMap->draw();
13
14 // Creamos y capturamos la ruta de imagen renderizada.
15 $url_imagen = $jImagen->saveWebImage();
16 ?>
17 <HTML>
18 <HEAD>
19 <TITLE>Ejemplo 1</TITLE>
20 </HEAD>
21 <BODY>
22 <IMG SRC=<?php echo $url_imagen; ?> >
23 <br>
24 <?php
25 // Obtenemos Propiedades del MapaObj llamado jMap
26 echo "Nombre mapa: {$jMap->name}<br>";
27 echo "Extent mapa: {$jMap->extent->minx} // {$jMap->extent->miny} // {$jMap->extent->maxx} // {$jMap->extent->maxy} <br>";
28 echo "Tamaño imagen: {$jImagen->width} {$jImagen->height}<br>";
29 echo "Escala: 1/{$jMap->scale}<br><br>";
30//echoms_GetVersion()31 ?>
32 </BODY>
33 </HTML>
1 <?php
2 // Obtenemos las capas
3
4 $jCapas=$jMap->getAllLayerNames();
5 $layersOn = array();
6 foreach ($jCapas as $idx => $layer) {
7
8 $capaObj=$jMap->getLayerByName($layer);
9
10 if ($capaObj->status==MS_ON) {
11 echo "** CAPA :{$capaObj->name} **<ul>";
12
13 for($i=0;$capaObj->getClass($i);$i++){
14 $Class = $capaObj->getClass($i);
15 echo "<li>CLASS:
16 <ul>
17 <li>NOMBRE CLASS: {$Class->name}</li>
18 <li>EXPRESION: {$Class->getExpression()}</li>
19 <li>COLOR: {$Class->getStyle(0)->color->red} {$Class->getStyle(0)->color->green} {$Class->getStyle(0)->color->blue}</li>
20 </ul></li>
21 ";
22
23 }
24
25 echo "</ul>";
26 }
27
28 }
29 ?>
Resultado:
continuará...