of 32

Documentacion Oficial ZanPHP

Published on 2 weeks ago | Categories: Documents | Downloads: 5 | Comments: 0
258 views

Comments

Content

Documentación Oficial

Índice G uía de us uario de ZanPHP ZanPHP



Información Básica 

Inicio



Requerimientos del Servidor 



Descarga



Licencia de Uso

Créditos Introducción 





Primeros Pasos

Modelo Vista Controlador  Temas Generales 





Estructura de Archivos



Configuración



Bases de Datos



 Aplicaciones



Controladores



Vistas



Modelos

Traducciones Referencia de las Clases 





Clase Array2XML



Clase Cache



Clase Controller 



Clase Data



Clase Db



Clase Email



Clase Files



Clase Images



Clase Load



Clase Log



Clase Model



Clase MongoDB



Clase Pagination



Clase RESTClient



Clase RESTServer 



Clase Singleton

Clase Templates Referencia de los Ayudantes 





 Ayudante Alerts



 Ayudante Array



 Ayudante Autoload



 Ayudante Benchmark



 Ayudante Browser 



 Ayudante Debugging



 Ayudante Forms



 Ayudante HTML



 Ayudante il8n



 Ayudante Inflect



 Ayudante Router 



 Ayudante Security



 Ayudante Sessions



 Ayudante String



 Ayudante Time



 Ayudante Validations

Inicio ZanPHP es un framework de desarrollo ágil de aplicaciones Web escrito en PHP5 el cual utiliza distintos patrones de diseño y las mej ores prácticas para crear aplicaciones más rápidamente y con buena calidad de código.  Algunas de las ventajas de ZanPHP son las siguientes: 

Fácil de instalar y configurar



Fácil de aprender



Puedes crear casi cualquier tipo de aplicaciones Web



Compatible con distintas plataformas



Orientado a objetos



Utiliza gran cantidad de patrones de diseño y las mejores prácticas para producir código de mayor calidad



Aplicaciones escalables y fáciles de mantener



Documentación en Inglés y Español



Integración con jQuery y jQuery Mobile, Ajax y otras nuevas tecnologías



Es Software Libre

Requerimientos del Servidor 

PHP 5.1.X o superior



Bases de datos soportadas: MySQL, MySQLi, MsSQL, Oracle, PostgreSQL y SQLite.



Bases de datos NoSQL soportadas: MongoDB.

Descarga Puedes descargar el ZanPHP desde GitHub.com. Clonando el repositorio git clone git://github.com/MilkZoft/ZanPHP.git Descarga directa https://github.com/MilkZoft/ZanPHP/downloads

Estructura de Archivos www Este directorio es el que contiene todas las aplicaciones desarrolladas con ZanPHP, además de incluir también la librería de archivos, en ella se encuentran diferentes tipos de archivos, entre los que destacan: hojas de estilo, librerías externas, plantillas, imágenes, así como los archivos subidos por cada aplicación. zan El directorio "zan" es el más importante de ZanPHP, pues en el se encuentran los archivos de configuración del sitio a desarrollar, así, como las clases importantes del framework que soportan la arquitectura del mismo, las traducciones, así como todas las funciones (helpers) que el framework nos ofrece para realizar el trabajo pesado.

Bases de Datos Gracias a los patrones de diseño que ZanPHP implementa, es posible utilizar más de un controlador de base de datos en nuestros sitios, esto quiere decir que podemos trabajar en un sitio bajo MySQL, SQL Server, Postgre SQL y bases de datos NoSQL cómo MongoDB. Para

esto,

sólo

es

necesario,

archivo: /www/database.php.

modificar

la

variable $ZP[“dbDriver”] ubicada

en

el

Aplicaciones Crear una aplicación en ZanPHP es muy fácil, solo es necesario crear un directorio dentro de applications/, el directorio deberá llevar el nombre de la aplicación en minúsculas, y dentro de este las carpetas controllers, models y views. Estructura básica de una aplicación   applications/



  blog/



  controllers



  blog.php



  comments.php



  models



  blog.php



  comments.php



  views/



  css/



  comments.css



  posts.css



  comments.php



  posts.php



Controladores Los controladores en ZanPHP son muy importantes pues son indispensables para la utilización del MVC. Es muy importante que cada aplicación debe de tener un controlador, un modelo y las vistas pueden variar.  Ahora bien, en esta sección se analizará la estructura que un controlador debe de tener para su correcto funcionamiento: class MyApplication_Controller extends ZP_Controller {  public function __construct() { $this->Templates = $this->core("Templates");

$this->MyApplication_Model = $this>model("MyApplication_Model"); $this->helpers(); $this->Templates->theme(_webTheme); }  public function index() { print __("Hi, I'm MyApplication"); }

}

Esta es la estructura básica que cualquier controlador debera tener y cumplir para el correcto funcionamiento del framework.

Vistas Las vistas son las encargadas de mostrar o solicitar datos al usuario. El controlador es el encargado de cargar las vistas con los datos obtenidos mediante los modelos. Así es como funciona el patrón de diseño MVC. Las vistas deben estar ubicadas en el directorio /views de cada aplicación. Otro aspecto importante para mencionar acerca del directorio   /views, es que dentro de este pueden crearse los directorios  /css, /js o /images; donde deberán de ser colocados las hojas de estilos, scripts e imágenes que serán utilizadas únicamente por la aplicación.

Clase Images zan/classes/images.php

Esta clase permite la manipulación de imágenes. Contenido

1 Cargando esta clase 2 Atributos 3 getHeight() 4 getResize($size, $dir, $filename, $max = 0, $min = 0) 5 getWidth() 6 load($filename) 7 output($imageType = IMAGETYPE_JPEG) 8 resize($width, $height) 9 resizeToHeight($height resizeToHeight($height)) 10 resizeToWidth($widt resizeToWidth($width) h) 11 save($filename, $image_type = IMAGETYPE_JPEG, $compression = 75, $permissions = NULL) 12 scale($scale)

Cargando esta clase Esta clase es cargada usando el siguiente código:

$this-> $this ->Images Images = $this $this-> ->core core( ("Images" "Images") );

 Atributos @var public $image @var public $imageType

getHeight() Obtiene el alto de una imagen en pixeles.

getResize($size, $dir, $filename, $max = 0, $min = 0) Redimensiona una imagen.

$this-> $this ->Files Files = $this $this-> ->core core( ("Files" "Files") ); $this->Files $this-> Files-> ->filename filename $this-> $this ->Files Files-> ->fileType fileType $this-> $this ->Files Files-> ->fileSize fileSize $this-> $this ->Files Files-> ->fileError fileError $this-> $this ->Files Files-> ->fileTmp fileTmp

= FILES(  FILES("file" "file", , = FILES(  FILES("file" "file", , = FILES(  FILES("file" "file", , = FILES(  FILES("file" "file", , = FILES(  FILES("file" "file", ,

"name"); "name") "type") "type" ); "size") "size" ); "error") "error" ); "tmp_name") "tmp_name" );

$dir = _www . _sh . _lib . _sh . _files . _sh . _images . _sh . _gallery . _sh . "myalbum" . _sh;  _sh; $upload = $this $this-> ->Files Files-> ->upload upload( ($dir $dir) ); if( if ($upload $upload[ ["upload" "upload"]) ]) { $this-> $this ->Images Images = $this $this-> ->core core( ("Images" "Images") ); $original = $this $this-> ->Images Images-> ->getResize getResize( ("original" "original", , $dir $dir, , $upload[ $upload ["filename" "filename"] ], _minOriginal,  _minOriginal, _maxOriginal)  _maxOriginal); $medium = $this $this-> ->Images Images-> ->getResize getResize( ("medium" "medium", , $dir $dir, , $upload[ $upload ["filename" "filename"] ], _minOriginal,  _minOriginal, _maxOriginal)  _maxOriginal); $small = $this $this-> ->Images Images-> ->getResize getResize( ("small" "small", , $dir $dir, , $upload[ $upload ["filename" "filename"] ], _minOriginal,  _minOriginal, _maxOriginal)  _maxOriginal); }

getWidth() Obtiene el ancho de una imagen en pixeles.

load($filename) Carga una imagen.

output($imageType = IMAGETYPE_JPEG) Imprime una imagen.

resize($width, resize($width, $height) Redimensiona una imagen por el ancho y alto.

resizeToHeight($height) Redimensiona una imagen por el alto.

resizeToWidth($width) Redimensiona una imagen por el ancho.

save($filename, $image_type = IMAGETYPE_JPEG, $compression = 75, $permissions = NULL) Guarda una imagen.

scale($scale) Escala una imagen en porcentaje.

Clase Load zan/classes/load.php

Esta clase permite cargar modelos, vistas, controladores, clases, librerías, ayudantes así como interactuar con plantillas. Contenido

1 Cargando esta clase 2 Atributos 3 __construct() 4 app($application) 5 classes($class = NULL, $application = NULL) 6 config($name) 7 controller($controller, $application = NULL) 8 core($core) 9 CSS($CSS = NULL, $application = NULL, $print = FALSE) 10 driver($driver = NULL, $type = "db") 11 exception($exception) 12 execute($Class, $method, $params = array(), $type = "controller") 13 footer() 14 header() 15 helper($helper, $application = NULL) 16 hook($helper, $application = NULL) 17 js($script, $application = NULL, $extra = NULL, $getJS = FALSE) 18 language($language) 19 left() 20 library($name, $library = NULL) 21 model($name) 22 render() 23 right() 24 templates($name, $vars = NULL) 25 theme($theme) 26 title($title = NULL)

27 view($name, $vars = NULL, $application = NULL)

Cargando esta clase Esta clase es cargada en el archivo load.php incluido en el directorio www/.

 Atributos @var private $application = FALSE @var public $Templates @var private $views = array()

 __construct() Carga los helpers autoload, router y validations, además de los archivos de configuración: cache, exceptions y languages.

app($application) Inicializa el atributo $this->application con el nombre de la aplicación que se este utilizando.

classes($class = NULL, $application = NULL) Carga una clase de una aplicación específica del directorio applications/ . Ejemplo:

//This statement loads /applications/my_app/classes/my_class.php //The class must be within the "classes" directory inside the specific application directory  $this->classes("my_class", "my_app");

config($name) Carga un archivo de configuración.

//Loads a configuration file from core/config directory or from applications/yourapplication/config $this->config("my_config_file");

controller($controller, $application = NULL) Carga un controlador.

//Loads "controller.myapp.php" from the application directory: applications/application directory $this->controller("MyApp_Controller");

core($core)

Carga una clase del directorio zan/classes/.

//Loads "templates.php" from the core directory: zan/classes/ directory $this->Templates = $this->core("Templates");

CSS($CSS = NULL, $application = NULL, $print = FALSE) Configura un archivo CSS desde una aplicación específica. Funciona como una Interfaz del método CSS de la clase Templates.

//This statement loads a CSS file from a specific application directory  //Loads applications/my_application/my_css_file.css $this->CSS("my_css_file", "my_application"); //This statement loads a CSS file from the main CSS directory  //Loads www/lib/css/slides.css $this->CSS("slides");

driver($driver = NULL, $type = "db") exception($exception) Carga un archivo de excepción.

execute($Class, $method, $params = array(), $type = "controller") footer() Carga una plantilla de pie de página.

header() Carga una plantilla de encabezado.

helper($helper, $application = NULL) Carga uno o varios ayudantes.

//Loads "helper.my_helper.php" from the core directory: core/helpers directory $this->helper("my_helper"); //Loads "helper.my_helper.php" from a specific application directory: applications/my_application/helpers directory  $this->helper("my_helper", "my_application");

Clase Singleton zan/classes/singleton.php

Esta clase implementa el patrón de diseño Singleton para PHP5, para evitar la clonación de objetos. Contenido

1 Cargando esta clase 2 Atributos 3 __construct() 4 instance($class)

Cargando esta clase Esta clase es cargada usando el siguiente código:

$this->Singleton = $this->core("Singleton");

 Atributos @var private static $instances = array();

 __construct() Vacío.

instance($class) Evita la clonación de objetos o de la clase recreación de instancias. Si ya ex iste el objeto simplemente lo retorna, si no lo crea y lo retorna.

Clase Templates zan/classes/templates.php

Esta clase permite la manipulación de plantillas de diseño. Contenido

1 Cargando esta clase 2 Atributos 3 __construct() 4 CSS($CSS = NULL, $application = NULL, $print = FALSE) 5 exists($template, $view = FALSE) 6 getCSS() 7 getJs() 8 getThemes($theme) 9 getTitle() 10 isTheme() 11 js($js, $application = NULL, $extra = NULL, $getJs = FALSE) 12 load($template, $direct = FALSE) 13 theme($theme) 14 themeCSS($theme = _webTheme) 15 title($title = NULL) 16 vars($vars)

Cargando esta clase Esta clase es cargada usando el siguiente código.

$this->Templates = $this->core("Templates");

 Atributos @var @var @var @var @var @var

public $CSS public $js = NULL private $theme = NULL public $themePath public $title public $vars = array()

 __construct() Carga los ayudantes: array, browser, debbuging, form, html and web.

CSS($CSS = NULL, $application = NULL, $print = FALSE) exists($template, $view = FALSE) getCSS() getJs() getThemes($theme) getTitle() isTheme()  js($js, $application = NULL, $extra = NULL, $getJs = FALSE) load($template, $direct = FALSE) theme($theme) themeCSS($theme = _webTheme) title($title = NULL) vars($vars)

 Ayudante Alerts core/helpers/alerts.php

Esta función contiene los errores y confirmaciones configurados por defecto en el Framework.

Cargando este Asistente Este asistente es cargado usando el siguiente código:

$this->helper("alerts"); Las siguientes funciones están disponibles:

getAlert($message, $type = "Error", $URL = NULL) Retorna: @string; Esta función muestra una Alerta para Notificar. Ejemplo:

print getAlert("Error"); //Prints: <div class="flashdata error"> Error </div>  Es posible embeber el mensaje retornado dentro de una URL. Ejemplo:

print getAlert("Success!", "Success" "http://mydomain.com/success"); //Prints: <a rev="External" href="mydomain.com/success">Success!</a> . //Note: The Alert type "Success", unsets $_POST by default.

 Ayudante Array core/helpers/array.php

El Asistente Array contiene funciones para manipular vectores.

Cargando este Asistente Este asistente es cargado usando el siguiente código:

$this->helper("array"); Las siguientes funciones están disponibles:

isMultiArray($multiArray) Retorna: @boolean; Retorna verdadero si el arreglo es una matriz, falso si solo es un simple vector. Ejemplo:

$array = array(1, 2, 3); //Returns false. if(isMultiArray($array)) { print "Returns true"; } else { print "Returns false"; } $array = array(1 => array(1, 2, 3)); //Returns true. if(isMultiArray($array)) { print "Returns true"; } else { print "Returns false"; }

 Ayudante Benchmark core/helpers/benchmark.php

El punto de referencia auxiliar permite realizar pruebas de evaluación comparativa sobre las aplicaciones.

Cargando este Ayudante Este asistente es cargado usando el siguiente código:

$this->helper("benchmark"); Las siguientes funciones están disponibles:

benchMarkStart() Retorna: @void; Esta función configura el tiempo Inicial del Punto de Referencia (BenchMark). Ejemplo:

benchMarkStart();

benchMarkEnd() Retorna: @float; Esta función retorna el tiempo Final del Punto de Referencia (Be nchMark). Ejemplo:

benchMarkStart(); $bar = 0; for($foo=1;$foo<=1000000;$foo++) { ++$bar; } usleep(1000000); //This function Delay execute time for 1sec = 1'000,000 microsec (1microsec = 0.000001 sec) print benchMarkEnd(); //Output a Float Value: 1.0910620689392. This value might vary.

getHTMLDecode(string $HTML) Retorna: @string; Convierte todas las entidades HTML de una cadena a s us caracteres correspondientes. Ejemplo:

$rawText = getHTMLDecode("I'll \"walk\" the <b>dog</b> now"); print $rawText; //Prints: I'll &quot;walk&quot; the &lt;b>dog&lt;/b&gt; now 

h1(string $text) Retorna: @string; Configura una etiqueta <h1>. Ejemplo:

print h1("My Header Text"); //Prints: <h1> My Header Text </h1> 

h2(string $text) Retorna: @string; Configura una etiqueta <h2>. Ejemplo:

print h2("Foo"); //Prints: <h2> My Header Text </h2> 

h3(string $text) Retorna: @string; Configura una etiqueta <h3>. Ejemplo:

print h3("Bar"); //Prints: <h3> My Header Text </h3> 

img(string $src, string $alt = NULL, string $class = "no-border", array $attributes = NULL) Retorna: @string; Configura una etiqueta <img />. Ejemplo:

$src = "http://www.example.com/foo.jpg"; $alt = "Lorem Ipsum"; print img($src, $alt, "no-border",  NULL); //Prints: <img src="http://www.example.com/foo.jpg" alt="Lorem Ipsum" class="no-border" /> 

head(boolean $open = TRUE) Retorna: @string; Configura una etiqueta <head>. Ejemplo:

print head(TRUE); print "Foo"; print head(FALSE); //Prints: <head> Foo </head>

HTML(boolean $open = TRUE) Retorna: @string; Configura una etiqueta <HTML>. Ejemplo:

print HTML(TRUE); //Your HTML code here print head(FALSE); //Prints: <html xmlns="http://www.w3.org/1999/xhtml" lang="'._webLang.'" xml:lang="'._webLang.'"> //Your HTML code here </html>

p(string $text, string $class = "left") Retorna: @string; Configura una etiqueta <p> y su atributo class. Ejemplo:

$text = "Foo"; print p($text); //Prints: <p class="left"> Foo </p>

small(string $text) Retorna: @string; Configura una etiqueta <small>. Ejemplo:

$text = "Foo"; print small($text); //Prints: <small class="left"> Foo </small>

span(string $class = NULL, string $text, string $id = NULL) Retorna: @string; Configura una etiqueta <span> y su atributo class. Ejemplo #1:

$text = "Foo"; print span("yellow_bold", $text); //Prints: <span class="yellow_bold"> Foo </span> Ejemplo #2:

$text = "Foo"; print span( NULL, $text, "fooID"); //Prints:

<span id="fooID"> Foo </span> Ejemplo #3:

$text = "Foo"; print span("yellow_bold", $text, "fooID"); //Prints: <span id="fooID" class="yellow_bold"> Foo </span>

openUl(string $ID = NULL, string $class = NULL) Retorna: @string; Configura una etiqueta <span> y su atributo class. Ejemplo:

$ID = "foo"; $class = "bar"; print openUl($ID, $class); //Prints: <ul id="foo" class="bar">

li(string $list) Retorna: @string; Configura una etiqueta <li>. Ejemplo: Puede incluir un arreglo simple como parámetro y cargar uno o múltiples ítems. Ejemplo:

$list[0] = "foo"; $list[1] = "bar"; $list[2] = "baz"; print openUl(); print li($list); print closeUl(); //Prints: <ul> <li> foo </li> <li> bar </li> <li> baz </li>

</ul> Por otra parte, puede incluir múltiples elementos y sus atributos. Ejemplo:

$list[0]["item"] = "foo"; $list[0]["class"] = "lorem"; $list[1]["item"] = "bar"; $list[1]["class"] = "ipsum"; print openUl(); print li($list); print closeUl(); //Prints: <ul> <li class="lorem"> foo </li> <li class="ipsum"> bar </li> </ul>

closeUl() Retorna: @string; Configura una etiqueta </li> de cierre. Ejemplo:

$list[0] = "foo"; $list[1] = "bar"; $list[2] = "baz"; print openUl(); print li($list); print closeUl(); //Prints: <ul> <li> foo </li> <li> bar </li> <li> baz </li> </ul>

ul(string $list, string $ID = NULL, string $class = NULL) Retorna: @string; Configura una bloque <ul> y sus elementos <li>. Ejemplo: Puede incluir un arreglo simple como parámetro y cargar uno o múltiples ítems. Ejemplo:

$list[0]["item"] = "foo"; $list[0]["class"] = "bar"; $list[1]["item"] = "baz"; $list[1]["class"] = "ban"; $class = "lorem"; $id = "ipsum"; print ul($list, $ID, $class); //Prints: <ul> <li class="bar"> foo </li> <li class="ban"> baz </li> </ul>

 Ayudante Time zan/helpers/time.php

Este helper contiene funciones para manipular el tiempo. Contenido

1 Cargando este Asistente 2 getHour($date) 3 getSeconds($time) 4 getTime($date) 5 howLong($value) 6 isLeapYear($year) 7 isDay($day) 8 isMonth($month) 9 isYear($year) 10 month($month) 11 now($format, $hour = FALSE, $language = NULL)

Cargando este Asistente Este asistente es cargado usando el siguiente código: $this->helper("alerts");

Las siguientes funciones están disponibles:

getHour($date) getSeconds($time) getTime($date) howLong($value) isLeapYear($year) isDay($day) isMonth($month) isYear($year) month($month) now($format, $hour = FALSE, $language = NULL)

 Ayudante Validations core/helpers/validations.php

El Ayudante Validations contiene funciones de validación relacionados.

Contenido

1 Cargando este Asistente 2 isEmail(string $email) 3 isInjection(string $text, integer $count) 4 isSPAM(string $content, integer $count = 2) 5 isVulgar(string $content, integer $count = 1)

Cargando este Asistente Este asistente es cargado usando el siguiente código:

$this-> $this ->helper helper( ("validations" "validations") ); Las siguientes funciones están disponibles:

isEmail(string $email) Retorna: @boolean; Retorna: @boolean; Valida si una cadena es un email. Ejemplo:

$goodMailString = "[email protected]" "[email protected]"; ; $badMailString = "#$%&/[email protected]" isEmail( isEmail($goodMailString $goodMailString) ); #Returns TRUE isEmail( isEmail($badMailString $badMailString) ); #Returns FALSE 

Sponsor Documents


Recommended

No recommend documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close