TinyMCE con Prado

August 24th, 2010

TinyMCE (TM) – A Free Javascript WYSIWYG Editor (http://tinymce.moxiecode.com)

Podemos incrustar un editor TinyMCE  en nuestra aplicación de Prado a través del control THtmlArea:

Ejemplo 1: THtmlArea con la configuración predeterminada.

<com:THtmlArea ID="HtmlArea1" />
Ejemplo 2: THtmlArea con opciones personalizadas

<com:THtmlArea ID=”THtmlArea2″ Width=”400px” Height=”450px”>

<prop:Options>

theme : “advanced”,

plugins : “devkit,layer,table,advhr,insertdatetime,searchreplace,contextmenu,paste,directionality”,

theme_advanced_buttons1 : “fontselect,fontsizeselect,|,bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,|,outdent,indent,|,insertdate,inserttime”,

theme_advanced_buttons2: “cut,copy,paste,|,search,replace,|,tablecontrols,|,hr,image,code,”,

theme_advanced_buttons3 : ” “,

theme_advanced_buttons4 : ” “,

theme_advanced_toolbar_location : “top”,

theme_advanced_toolbar_align : “left”,

plugin_insertdate_dateFormat : “%d/%m/%Y”,

plugin_insertdate_timeFormat : “%H:%M:%S”,

extended_valid_elements : “img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color],span[class|align|style]“

</prop:Options>

</com:THtmlArea>

Para acceder a sus datos en el archivo .php sólo se deberá establecer

$html = $this->HtmlArea2->Text;

con lo cual se recupera el código html generado a través del control.

Hemos vismo un sencillo ejemplo de incorporación de un potente editor de texto en nuestra aplicación, con sólo una pocas líneas podemos ofrecer opciones de escritura para los usuarios de nuestro sitio.

 

Manejo de Sesiones

June 1st, 2010

Una sesión es considerada como el intervalo de tiempo empleado por un usuario en recorrer nuestras páginas hasta que abandona nuestro sitio o deja de actuar sobre él durante un tiempo prolongado o cierra el browser.

Para esto existen las variables de sesión que nos permiten utilizarlas en todas las páginas de la aplicación sin tener que enviarlas por la URL o utilizar cookies que no son infalibles.

Funciones:

Crear una nueva sesión o recuperar la existente: session_start(); // se debe usar al inicio de los script

Registrar una variable de sesión: session_register(‘variable’);  // no es obligatorio, se pueden usar directamente

Asignar un valor: $_SESSION[‘variable’] = “xx”;

Obtener el identificador de la sesión: session_id();

Dar por abandonada la sesión eliminando las variables: session_destroy();

Eliminar una variable de sesión: session_unregister(‘variable’);

Estructuras de Control

June 1st, 2010

if (condicion) {instrucciones} else {instrucciones}

Cuando se trata de una sola instrucción no hacen falta las llaves. Se puede usar elseif en vez de if anidados. También se puede reemplazar la llave de apertura por : y la llave de cierre por endif (no es muy usado).

(condicion) ? (instrucciones para verdadero) : (instrucciones para falso);  // condición abreviada

switch ($variable) { case 1: {instrucciones; break;} case 2: {instrucciones; break;} default: {instrucciones} }

while (condicion) {instrucciones}

do {instrucciones} while (condicion) // a diferencia del anterior la condición se evalúa al final

for (inicialización, condición, acción para vuelta del bucle). Ejemplo: for ($i = 0, $i < 10, $i++) {}

foreach ($array as $clave => $valor) {instrucciones} // permite recorrer un array

Break y continue: estas dos instrucciones se introducen dentro de la estructura y nos sirven respectivamente para escapar del bucle o saltar a la iteración siguiente.

Cadenas y Fechas

June 1st, 2010

Cadenas

Caracteres que se pueden utilizar dentro de una cadena:

\$: escribe el signo $ en la cadena (para que no se interprete como variable)

\”: para escribir comillas dentro de la cadena

\\: escribe una contrabarra

\8/2: escribe “8/2” y no “4” en la cadena

\t: introduce una tabulación en el texto

\n: para insertar un salto de línea

\r: retorno de carro

Fechas

time(): Devuelve la fecha y la hora actual (timestamp con los segundos desde 01/01/1970)

mktime(hora, minuto, segundo, mes, dia, año): Devuelve el timestamp de una fecha. Realiza los cálculos en base al UTC

getdate(): Obtenemos un array asociativo con la información desglosada de la fecha, si no se pasa un timestamp como parámetro toma el valor actual.

date(formato, timestamp): Permite obtener una fecha con formato:

d: día del mes, 2 dígitos

j: día del mes, 2 dígitos sin 0

D: día de la semana abreviado

l: día de la semana como texto

w: día de la semana como nro (0=domingo)

m: mes, 2 dígitos

n: mes, 2 dígitos sin 0 inicial

M: mes abreviado

F: mes texto completo

t: total de días en el mes

Y: año, 4 dígitos

y: año, 2 dígitos

L: bisiesto, 0=no, 1=si

z: día del año

W: semana del año

h: hora de 01 a 12

g: hora de 1 a 12 (sin 0 inicial)

H: hora de 00 a 23

G: hora de 0 a 23

a: am o pm

A: AM o PM

i: minutos de 00 a 59

s: segundos de 00 a 59

checkdate(nMes nDia nAnio): Permite determinar si una fecha es válida

Resumen de Array

June 1st, 2010

Un array es una variable que esta formada de uno o varios elementos  compuestos por clave y valor.

Se pueden utilizar tanto como array indexados o como array asociativo

Forma de definirlos: $meses[1] = “enero”;  $meses[2] = “febrero”;

También se pueden utilizar cadenas como clave, si no se indica php asume clave numérica desde 0: $meses=array(1=> “enero”, 2 => “febrero”,…); ó $meses=array(“enero”, “febrero”)

Un array multidimensional es aquel donde sus elementos son en si mismos array. Ejemplo:

$pais=array(“espana”=>array(“nombre”=>”España”, ”lengua”=>”Castellano”, ”moneda”=>”Peseta”), “francia” =>array(“nombre”=>”Francia”, ”lengua”=>”Francés”, ”moneda”=>”Franco”));

Para acceder a sus elementos se usa: $pais[“francia”][“lengua”] ya sea para asignar o leer su valor.

Funciones para trabajar con array:

array_values($array): Lista los valores contenidos en $array

asort($array) y arsort($array): Ordena por orden alfabético directo o inverso en función de los valores

count($array): Nos da el numero de elementos de nuestro array

ksort($array) y krsort($array): Ordena por orden alfabético directo o inverso en función de las claves

list($variable1, $variable2…)=$array: Asigna cada una variable a cada uno de los valores del array next($array), prev($array), reset($array) y end($array) Nos permiten movernos dentro del array con un puntero hacia delante, atrás y al principio y al final. each($array) Nos da el valor y la clave del elemento en el que nos encontramos y mueve al puntero al siguiente elemento.

Variables en PHP

June 1st, 2010

Las variables se definen anteponiendo el signo $, no hace falta establecer un determinado tipo, sino que php lo interpreta al asignarle un valor como entero, real, cadena, array, objetos.

A diferencia de otros lenguajes, PHP posee una gran flexibilidad a la hora de operar con variables; de este modo podemos efectuar operaciones con variables de distintos tipos.

PHP es sensible a mayúsculas y minúsculas. Las cadenas pueden estar delimitadas por “ o ‘.

Las variables de tipo Object se inicializan por medio de new y se accede a sus métodos con ->

Ámbito de las variables: una variable definida fuera de una función tiene alcance global, si se define dentro de una función el alcance es local; para que una variable global sea accedida desde dentro de la función se la deberá definir como global en la función. Ejemplo: function miFuncion() {global $pais; echo $pais;}. Si la variable se define como static dentro de la función se conserva su valor en llamadas sucesivas a la misma.