Category: Development, Models and Methodologies

PHPlot – llibreria PHP

Reading time: < 1 minute

Avui mirant freshmeat he vist una llibreria molt interessant per generar
gràfiques en PHP. Està molt bé per tal de presentar
estadístiques q tinguem en algún fitxer o d’altres utilitats
similars.

Poca cosa més a afegir a part de referenciar la URL on es pot trobar
més informació i on es pot baixar la mateixa, de moment no l’he
provat però no sé sap mai quan pot ser el primer dia q l’hagi
d’usar.

URL del PHPlot:
http://www.phplot.com

PHP Scripting

Reading time: 2 – 2 minutes

El pof sempre ens parlava que es podien fer scripts en PHP, doncs bé,
finalment he trobat un racó d’internet on s’explica com instal.lar el
PHP pq pugui ser usat com a interpret dels nostres scritps. Cosa molt
útil per programar per exemple un script q entri les sortides del syslog
a una base de dades. La URL en qüestió és:
http://www.e-gineer.com/instructions/install-php3x-scripting-on-redhat5x.phtml

Per tal d’instal.lar el PHP com a interpret d’scripts, o sigui, per
aconseguir un binari de PHP i no pas un modul de Apache quan compilem hem de
fer:
– Hem de fer el nostre config de tota la vida amb les mil i una cosetes q
vulguem q tingui el PHP, però sense la opció: –with-apxs ni la
opció: –with-apxs2.
– Després li fem el make de tota la vida.
– Finalment, com no, el make install.
Ara ja podem comensar a programar scripts com a bojos amb PHP, això si,
recordar q ara la primera línia de l’script no serà:
sinó q ara haurem de posar:
#!/usr/local/bin/php -q
el paràmetre ‘-q’ l’hem de posar pq el php no ens mostri el
‘content-type’ indicant el tipus de fitxer q es mostrarà a
continuació. Si voleu un exemple d’script aquí va un:

Templates en PHP

Reading time: < 1 minute

Després de setmanes i setmanes lluitant amb el tema. El Pof m’ha
facilitat unes URLs prou interessants sobre el tema dels Templates en PHP.

FastTemplate: http://www.thewebmasters.net/php/FastTemplate.phtml
Tutorial dels Fasttemplates
http://www.phpbuilder.com/columns/sascha19990316.php3
cacheFastTemplates:
http://zoned.net:81/~xkahn/php/fasttemplate/
Encara no he pogut testejar el tema, però em disposo a provar-ho i
faré els comentaris corresponents després de les proves.

phpChannel – Classes de PHP per implementar Netscape channels

Reading time: < 1 minute

http://linux.gelrevision.nl/php/
Són dues classes de php4 q permeten crear fitxers de Netscape
channel(.rdf) a partir d’una base de dades MySQL i MSQL.

Riuten de la merda de getnews q he programat jo q agafava els fitxers els
rdf i els mostrava en rdf, amb aquestes classes de php es fa amb un plis.
Tb esta força ben parti per unir amb el generador de fitxers rdf q vaig
programar l’altre dia, per tant, treure una nova vesió d’aquesta
funció usant aquestes classes.

PHP: bug fins la versio 4.0.2

Reading time: 2 – 2 minutes

Avui llegint les noticies de securityfocus he vist q s’ha trobat un bug al
php fins la versió 4.0.2, la 4.0.3 ja ho té resolt. De fet, si
llegim d’on ve el bug aquest és obvi, ja que aprofita una funció
del PHP q permet usar el syslog així doncs si tenim en compte q
gairebé tots els dimonis dels unix estan afectats pel errors dels string
l’únic q es tracta és d’aprofitar aixó per tal d’obtenir
execusió arbitraria de codi, o root remot.

La explicació tècnica de securityfocus és la
següent:
The vulnerability exists in the code that handles error logging and is present
if error logging is enabled in the “php.ini” configuration file. When errors
are encountered by PHP, a string containing data supplied by the user is passed
as the format string argument (the log_message variable) to the php_syslog()
function (which contains *printf functions). As a result, it is possible for a
malicious user to craft a string containing malicious format specifiers that
will be passed to the php_syslog function as part of an error message. When
interpreted by the *printf functions, these specifiers can cause the process to
overwrite its own stack variables with arbitrary data. This can lead to remote
access being gained on the target host with privileges of the webserver for the
attacker.
Error logging may or may not be enabled by default on systems shipped with
PHP.

Per tal d’evitar aquest error es pot deshabilitar al php.ini la
opció:
“log_errors = Off”
O instal.lar-se el PHP 4.0.3 q va sortir ahir.
Per més informació sobre el tema:
http://www.securityfocus.com/bid/1786

Prometheus – Llibreria de PHP

Reading time: 2 – 2 minutes

http://prometheus.zerodivide.net/api/
Mirant les novetats de freshmeat he vist aquesta llibreria de PHP q incorpora
un munt de noves classes d’objectes al PHP, esta molt currat i te moltes
cosetes, en propers dies incloure comentaris més concrets sobre el q
té.

Llistat de clases q incorpora la llibreria:
AutoLoad – The ability to load just the classes you need and the classes
dependencies. I.e. i want to use the mail object, and nothing else AutoLoad(
‘Mail’ );.
Sessions – Allows storage of variables, across pages by keeping state in a
database. Database Independence – There is a framework for a database
independence layer (Mysql, Oracle, and Postgres are supported).
BenchMarking – A object for benchmarking code segments. UserAuth – An
authentication class that takes plugable backend drivers. I.e. i would like to
auth this part of the site off of un*x password files.
UserDomain – A virtual “domain” for the users within a website. This provides a
abitrary way to group users.
WebClient – Identifies webbrowser capabilities, and features.
Unix Utilities – The ability to read unix password files.
FileSize – Get the file size for a file and format it with the proper
conversions (i.e. 1024 = 1k ).
PageNavigator – A utility object that allows you to create multiple page
navigation based upon the concept of displaying x of n items on each
page.
UrlObject – A utility for creating urls MimeObject – Contains mime mappings,
and is a able to figure out mime mappings for most files. Mail – The ability to
read and send mail, via IMAP and local sendmail. In the future there will be
SMTP and POP3 support also.
AppServer – A series of objects to help enable php into a app server style
environment.
Templates – The ability to parse templates, both with and without php,
automatic interpolation of files.

CSS – Els estils del HTML

Reading time: 18 – 30 minutes

Després d’una serie de dies barallant-me en el format HTML de la web
he decidit fer una estructura CSS q li doni el format a tot el portal. Per tal
de poder fer això he trobat un mini-manual q suposo q serà
suficient per crear aquests fitxers .css.

Hojas de estilo en cascada.
Introducción

Las hojas de estilo son un gran avance en el diseño de páginas Web,
ya que permiten un mejor manejo de la apariencia.

Hasta el momento era necesario recurrir a diversos trucos para suplir las
limitaciones del HTML y mejorar la presentación de las páginas. Estos
trucos normalmente usados han tenido efectos secundarios ya que suelen
funcionar solo para algunas navegadores o plataformas, aumentan la complejidad
de la pagina, tienen poca flexibilidad y tienden a aumentar el peso de la
pagina (mas Kbs).

Agunos de estos trucos son:

  • Uso de comandos no estándar.
  • Convertir el texto en imagen.
  • Usar imágenes transparentes para crear espacios en blanco.
  • Uso de tablas para forzar determinadas presentaciones.
  • Uso programas o lenguajes ajenos al HTML para conseguir determinados
    efectos. (JavaScrip, JAVA, CGIs, etc)

Las hojas de estilo en cascada nos devuelven el controlar de la
presentación. Por ejemplo, nos permiten determinar margenes, espacio
interlíneal, tipo y tamaño de las fuentes, colores de texto y fondo,
así como la redefinicion a voluntad de cualquier comando.

Además hay otro aspecto muy importante en las hojas de estilo y es que
separan por completo la información para la
presentación de una página de su
contenido, con lo que se facilita mucho el diseño y
revisión de las páginas, pues se puede variar la presentación de
una página, o de todo el conjunto de ellas, sin cambiar una sola
línea del código del HTML.

Como veremos más adelante, se pueden definir variaciones de diseño
por medio de las “clases”. Por ejemplo, si se necesitan cinco estilos de
párrafos diferentes, se pueden definir cinco subcomandos
<P>: P.normal, P.indentado, P.subrayado, P.rojo y
P.dobleespacio.

NOTA: Las hojas de estilo en cascada solo son soportadas
por Explorer 3.0 y Netscape 4.0 en adelante. Otros navegadores, o versiones
anteriores simplemente lo ignorarán.

Cómo funcionan ?

Las hojas de estilo en cascada nos permiten redefinir las
reglas que usa el navegador para presentar una página del Web.

Todos los navegadores tienen sus reglas. Así, por
ejemplo se define H1 como un texto alineado a la izquierda, un
par de puntos mayor que el resto y en negrita.

Cada comando define sus propias reglas para mostrar el texto que engloba.
Con las hojas de estilo podemos cambiar cada una de estas
reglas si lo deseamos. Es decir, podemos modificar a nuestro antojo el
comportamiento de cada comando.

Hay tres maneras de añadir estilos a nuestras
páginas Web.

  1. Añadiendo instrucciones de estilo sólo a
    comandos concretos o a un grupo de ellos.
  2. Incluyendo las instrucciones de estilo en el documento
    HTML de una página concreta, permite cambiar la apariencia de una hoja
    entera.
  3. Enlazando varias paginas con un archivo de
    estilo
    , de modo que se puede cambiar la apariencia de múltiples
    páginas retocando dicho archivo .CSS

Podemos usar en nuestras páginas uno, dos o los tres métodos
descritos, como se verá más adelante.

1. Estilo para camandos concretos o grupos de comandos

Este método es el apropiado si sólo se desea cambiar el estilo en
unas secciones determinadas de una página. Con él podemos manipular
las propiedades de alguna comando o de algún grupo de comandos.

Se hace añadiendo el parametro STYLE, que contiene una
serie de propiedades, dentro del comando correspondiente. Veamos el siguiente
ejemplo: <P>

"Este es un párrafo normal, sin márgenes a la izquierda ni a
la derecha, con el color de su texto en negro".

<P STYLE="margin-left: 0.5in; margin-right: 0.5in;
color:green">

"Quiero que este otro párrafo tenga un margen izquierdo de media
pulgada, al igual que el margen derecho. Además quiero que su texto sea de
color verde".

Que se verá (en los navegadores que soportan hojas de estilo) de esta
manera:

“Este es un párrafo normal, sin márgenes a la izquierda ni a la
derecha, con el color de su texto en negro”.

“Quiero que este otro párrafo tenga un margen izquierdo de
media pulgada, al igual que el margen derecho. Además quiero que su texto
sea de color verde”.

Como se ve en este ejemplo, hemos variado la manera de cómo se comporta
habitualmente la comando <P>. Podíamos haber conseguido
otras muchas más cosas, como se verá más adelante.

Obsérvese la sintaxis del parametro
STYLE. Se ponen entre comillas una serie de propiedades (por
ejemplo, margin-left), y después de dos puntos se pone el
valor de esa propiedad (en este caso, 0.5in o sea, 0.5
pulgadas). Las distintas propiedades deberán estar separadas por punto y
coma.

Si queremos cambiar la apariencia de una sección
entera
(que agrupe un conjunto de comandos), se puede usar el comando
<DIV>, con lo que definimos el estilo globalmente para
esa sección.

En el siguiente ejemplo cambiamos el color (a rojo) y el tamaño de la
fuente (a 16 puntos) de un bloque de comandos por medio del comando
<DIV>, lo que tiene el mismo efecto que si
hubiéramos asignado este estilo separadamente a cada una de las comandos
englobados (<P>, <UL> y
<LI>):

<DIV STYLE="font-size: 16pt; color: red">
<P>La definición del estilo (rojo y 16 puntos), afecta a todo el
bloque de comandos.
<P>Este texto también es rojo y tiene 16 puntos de altura.
<P>Al igual que esta línea.
</DIV>

Que se ve de la siguiente manera:
La definición del estilo (rojo y 16 puntos), afecta a todo el bloque de
comandos.

Este texto también es rojo y tiene 16 puntos de altura.

Al igual que esta línea.

Qué ocurre si a una de los comandos englobados por DIV
le introducimos un estilo distinto ? Comprobémoslo introduciendo un estilo
propio al segundo comando <P>:

<DIV STYLE="font-size: 16pt; color: red">
<P>
Veamos si la definición del estilo (rojo y 16 puntos), afecta a todo el
bloque de comandos, hasta el comando de cierre de DIV.
<P STYLE="color: blue">Esta línea es azul, a pesar de estar
englobada dentro de DIV, porque tiene su propio estilo.
<P>Esta otra cumple con el estilo de DIV, porque no tiene estilo
propio.
</DIV>

Este es el resultado:

Veamos si la definición del estilo (rojo y 16 puntos), afecta a todo el
bloque de comandos.

Esta línea es azul, a pesar de estar englobada dentro de
DIV, porque tiene su propio estilo.

Esta otra cumple con el estilo de DIV, porque no tiene estilo propio.

Como se comprueba en este caso, el estilo dentro de un comando
concretaotiene preferencia sobre el estilo del bloque,
impuesto por DIV.

La preferencia de unos métodos sobre otros, se debe al orden en que
estos son activados por el navegador, por este motivo es que se llamen
Hojas de estilo en cascada ya que hay una cascada de
métodos para aplicar los estilos, teniendo un orden de preferencia
riguroso de unos sobre otros.

Este método de introducir el estilo en comandos concretas o en
conjuntos de comandos es sencillo de aplicar y es el adecuado si sólo se
desea hacer algún cambio puntual en una página. Sin embargo no es la
verdadera potencia de los hojas de estilo.

2. Inclusión global del estilo en un documento HTML

Se hace poniendo un bloque de instrucciones dentro de los comandos
<STYLE> y </STYLE>, que
deberá estar dentro de la cabecera del documento, después del
título, entre las comandos </TITLE> y
</HEAD>.

Este comando <STYLE> tiene un parametro,
TYPE, que especifica el tipo de medio en que va a ser
publicado en Internet, en nuestro caso será “text/css”, que permitirá
a los navegadores que no soporten estilos ignorarlos. Por tanto, la estructura
será la siguiente:


<HTML>
<HEAD>
<TITLE> </TITLE>
<STYLE TYPE="text/css">
[bloque de instruciones de estilo]
</STYLE>

</HEAD>
<BODY>
[conjunto de todas las comandos que componen la página]
</BODY>
</HTML>

Veamos ahora con un ejemplo, cómo se escribe el bloque de instrucciones
del estilo, incluido dentro de la comando <STYLE> (en el
capítulo siguiente se ve con detalle cada uno de los atributos):

<STYLE TYPE="text/css">
BODY {background: yellow ;font-size: 10pt; font-family: Arial;
margin-left: 0.5in; margin-right: 0.5in}
H1 {background: blue; font-size: 14pt;font-weight: bold; color: red}
H2 {font-size: 12pt;font-weight: bold; color: red}
DIV {background: URL(nubes.jpg)}
</STYLE>

Como se ve en este ejemplo, se ponen las distintas comandos a las que se
quiere atribuir un estilo (en este caso BODY, H1, H2 y
DIV, pero podrían haber sido otras cualesquiera); a
continuación del nombre de cada comando, y englobadas por los signos “{” y
“}” van las distintas propiedades con sus respectivos valores, separadas unas
de otras por un punto y coma.

Si se coloca este bloque en la cabecera del documento HTML, donde se ha
indicado antes, veremos que cada vez que se usa una de las comandos que tienen
una definición de estilo, no se comportará de la forma habitual, sino
tal como la hemos definido. El resto de los comandos, que no están
incluidas en el bloque de definición del estilo, se comportarán de la
forma habitual.

3. Enlazando distintos documentos a una hoja de estilo

Si nuestro sitio del Web está compuesto por muchas páginas, y
queremos darles un estilo uniforme a unas cuantas, en vez de incluir un bloque
de definición de estilo repetido en cada una de ellas (como se ha visto en
la sección anterior), se puede establecer un enlace a un archivo
de texto
que contiene el bloque de definición del estilo.

Supongamos que queremos aplicar a unas cuantas páginas el estilo visto
en el ejemplo anterior. Tendríamos que crear un archivo de
texto
como este:

BODY {background: yellow ;font-size: 10pt; font-family: Arial; margin-left:
0.5in; margin-right: 0.5in}
H1 {background: blue; font-size: 14pt;font-weight: bold; color: red}
H2 {font-size: 12pt;font-weight: bold; color: red}
DIV {background: URL(nubes.jpg)}

Obsérvese que no tiene ningun comando, pues no es un
documento normal HTML, sino que es un archivo de texto que sólo contiene
el bloque de definición del estilo.

Se guarda con el nombre que se quiera, pero tiene que tener necesariamente
la extensión .css Supongamos que lo guardamos con el
nombre de hoja.css

En todas las páginas que queremos que tengan este estilo concreto,
sólamente deberemos de añadir (en el mismo sitio de la cabecera que
para el caso anterior, es decir entre </TITLE&GT; y
</HEAD&GT;, el siguiente comando:


<LINK REL=stylesheet HREF=hoja.css TYPE="text/css">

Aquí se ha supuesto que el archivo hoja.css se ha
dejado en el mismo directorio donde están los documentos HTML. Si no es
así, es decir, si está en otro subdirectorio en el servidor,
habría que indicar la ruta (por, ejemplo:
HREF=ruta/hoja.css).

Un ejemplo de este método lo constituye este manual,
en donde todos los capítulos están enlazados con un archivo que
contiene la hoja de estilo para todos ellos, llamado
hoja.css.

Mezclando los métodos

Como se ha visto anteriormente, hay tres métodos de aplicar las hojas
de estilo en cascada.

Se pueden aplicar más de uno a la vez en una misma página ?

Sí. Por ejemplo, en la confección de este manual se utilizan
simultáneamente algunos de ellos. En las páginas del índice y de
la portada se utilizan el segundo método (inclusión de la hoja de
estilo en el documento HTML) y también el primero (inclusión del
estilo en comandos concretas). Y en la totalidad de los capítulos se usan
el tercero (enlace a la hoja de estilo) y el primero.

Qué ocurre si hay información contradictoria entre ellos ?

Para evitar conflictos entre los distintos métodos usados
simultáneamente, existe un orden de preferencia, es
decir, cuál prevalecerá sobre el otro si dan órdenes
contradictorias sobre un aspecto concreto.

El orden de preferencia es el siguiente (de mayor a menor):

  1. Estilo dentro de una comando.
  2. Bloque de estilo en la cabecera del documento.
  3. Enlace a un archivo que contiene la hoja de estilo
    .CSS

Esto quiere decir que una orden de estilo, por ejemplo el color del texto,
puesta dentro de un comando, prevalecerá sobre la que esté indicada
en los otros dos métodos, si es que se usan en esa página.

Lo más práctico es usar el tercer método (enlace a una hoja
de estilo), para dar una apariencia consistente a todas las páginas, y si
es necesario modificar un aspecto concreto en alguna de ellas, usar el primero
o el segundo metodo.

Hojas de estilo en cascada.
Atributos

A continuación se muestra una tabla con el resumen de los parametros
que se pueden incluir en las hojas de estilo. Pulsando el enlace con el nombre
del atributo nos lleva a la sección donde se comenta con m s detalle.

Atributo Descripción Valores Ejemplo
Font-Size Establece el tamaño de texto. Puntos (pt)
Pixels (px)
centímetros (cm)
pulgadas (in)
{font-size: 12pt}
{font-size: 24px}
{font-size: 5cm}
{font-size: 1in}
Font-Family Establece el tipo de fuente. Nombre de la fuente o familia de fuente {font-family: “Comic Sans MS”,Sans-Serif}
Font-Weight Establece el peso de la fuente, pero dependen de ella. Extra-Light
Light
Demi-Light
Medium
Demi-Bold
Bold
Extra-Bold
{font-weight: bold}
Font-Style Establece el texto como letra cursiva. Normal
Italic
Minusculas
oblicuas
{font-style: italic}
Line-Height Establece la distancia entre líneas. puntos (pt)
pixels (px)
centímetros (cm)
pulgadas (in)
porcentaje (%)
{Line-Height: 24pt}
Color Establece el color del texto. Nombre del color
valores RGB
{color: blue}
Text-Decoration Subraya o remarca el texto. None (ninguna)
Underline (Subratado)
Italic (cursiva)
Line-Through (Tachado)
{text-decoration: underline}
Margin-left Establece el márgen izquierdo de la p gina Puntos (pt)
pixels (px)
centímetros (cm)
pulgadas (in)
{margin-left: 3cm}
Margin-right Establece el márgen derecho de la p gina. Puntos (pt)
pixels (px)
centímetros (cm)
pulgadas (in)
{margin-right: 3cm}
Margin-top Establece el márgen superior de la p gina. Puntos (pt)
pixels (px)
centímetros (cm)
pulgadas (in)
{margin-top: -20px}
Text-align Establece la alineacion del texto. Left
Center
Right
{text-align: right}
Text-Indent Establece la indentación del texto. Puntos (pt)
pixels (px)
centímetros (cm)
pulgadas (in)
{text-indent: 1.5cm}
Background Establece la imagen o el color del fondo. URL,
nombre del color
valor RGB
{background:#33CC00}
{background: red}
{background: URL(isla.gif)}

Hojas de estilo en cascada.
Consejos de uso

En este capítulo se amplíaan los conceptos vistos en los dos
capítulos anteriores, y se introducen algunos nuevos sobre las hojas de
estilo en cascada.

Agrupando distintos atributos

Supongamos que se quieren atribuir los mismos atributos a
diferentes comandos, como por ejemplo:

H1 {font-size: 15pt;
 font-weight: bold;
      color: maroon}
  H2 {font-size: 15pt;
      font-weight: bold;
      color: maroon}
  H3 {font-size: 15pt;
      font-weight: bold;
      color: maroon}

Se pueden agrupar de esta manera:

  H1, H2, H3 {font-size: 15pt;
font-weight: bold; color: maroon}

Agrupación de los atributos del texto

En el capmtulo anterior se han visto una serie de atributos relacionados con
la apariencia del texto. Se pueden simplificar agrupandolos de una manera
determinada. Asm, por ejemplo, en lugar de:

P {font-weight: bold; font-style: italic; font-size: 12pt;
line-height: 20pt; font-family: Times, serif; }

Se pueden agrupar en un znico atributo llamado font:

P {font: bold italic 12pt/20pt Times, serif}

Nota: El orden de los atributos es significativo. Los
atributos Font-Weight y Font-Style se deben
especificar antes que los demas.

Agrupación de los atributos de los márgenes

Tambiin se pueden agrupar los tres distintos atributos para los margenes
(superior, derecho e izquierdo) en un znico atributo llamado
margin.
Así, por ejemplo, en lugar de:

BODY {margin-top: 20px; margin-right: -10px; margin-left: -10px}

Se puede poner:

BODY {margin: 20px -10px-10px}

El orden de colocacisn es significativo. Debe ser: superior (top), derecho
(right) e izquierdo (left). Si se pone un znico valor, sera aplicado a los tres
margenes.

Variaciones por medio de clases

En el capmtulo 23 vimos que uno de los mitodos era la inclusisn global del
estilo, en el que se definman los estilos de un bloque de distintas comandos.
Vimos allm este ejemplo:

<STYLE TYPE="text/css"> BODY {background: yellow ; font-size: 10pt;
font-family: Arial; margin-left: 0.5in; margin-right: 0.5in} H1
{background: blue; font-size: 14pt; font-weight: bold; color: red}
H2 {font-size: 12pt; font-weight: bold; color: red} DIV {background:
URL(nubes.jpg)} </STYLE>

Como se puede ver, se define para la comando H2, por
ejemplo, que su texto sea de color rojo (red). Pero esto hace que,
obligatoriamente, todas las cabeceras de nivel H2 sean de este color en toda la
p gina.

Pero nos podrma interesar, por el motivo que sea, que unas veces tenga el
color rojo y otras veces sea de otros colores. Para conseguirlo, se pueden
emplear unas clases (variantes de esta comando). Para ello, se
define separadamente la comando H2, seguida de un punto y un nombre que
queramos, como por ejemplo:

H2.rojo {font-size: 12pt; font-weight: bold; color:
red} H2.verde {font-size: 12pt; font-weight: bold; color: green} H2.
azul {font-size: 12pt; font-weight: bold; color: blue}

y en la pagina, podremos utilizar, según nos convenga, una u otra de
estas variantes de la siguiente manera:

<H2 CLASS=rojo>Esta cabecera sera de color rojo</H2>
<H2 CLASS=verde>Esta cabecera sera de color verde</H2>
<H2 CLASS=azul>Esta cabecera sera de color azul</H2>

Como se ve, esto nos da una flexiblidad azn mayor para obtener la apariencia
que queramos en nuestra paginas.

Aplicacisn de estilo a los enlaces

Las hojas de estilo tambiin permiten modificar a voluntad la apariencia de
los enlaces, asignando cualquiera de los atributos vistos
(color del texto, tamaqo de la fuente, existencia o no del subrayado,
etc.).

Hay dos tipos de enlaces que se pueden modificar:

A:link enlaces que todavma no han sido visitados
(pulsados)
A:visited enlaces que ya han sido visitados (pulsados)

Por ejemplo:

A:link {color: red} A:visited {color: green}

hace que los enlaces sin visitar sean de color rojo, y una vez visitados se
pongan de color verde.

Si se les aplica el atributo text-decoration visto en el
Capmtulo anterior, ajustado al parametro none (ninguno), hace
que los enlaces no estin subrayados. Ejemplo:

A:visited {color: fuchsia; text-decoration: none}

hace que los enlaces visitados sean de color fucsia y no estén
subrayados.

Comentarios

Se pueden añadir comentarios propios a las hojas de
estilo, que pueden servir de recordatorio posterior. Se pueden colocar en
cualquier sitio de la especificacisn, siempre que vayan englobados entre los
caracteres /* y */. Ejemplo:

H1 {font: 20pt/22pt bold; color=#00FF00} /*Color verde para las
cabeceras de nivel 1 */

Diseñando para todos los navegadores

Si se usa el metodo de incluir un bloque de estilo en la cabecera, que
consiste en poner las distintas instrucciones de estilo entre las comandos
<STYLE> y </STYLE>, tal como en
el ejemplo que se visúalisara:

<STYLE TYPE="text/css"> BODY
{background: yellow ; font-size: 10pt; font-family: Arial;
margin-left: 2cm; margin-right: 2cm} H1 {background: blue;
font-size: 14pt; font-weight: bold; color: red} H2 {font-size: 12pt;
font-weight: bold; color: red} DIV {background: URL(isla.gif)}
</STYLE>

en los navegadores que no implementen las hojas de estilo se ignoraran las
comandos <STYLE> y </STYLE>, pero
podrá ocurrir que aparezca como texto el bloque de definición del
estilo.

Para evitar esto, es conveniente englobar dicho bloque de información
entre los símbolos <!– y –>. Por
tanto, es conveniente poner el bloque de definición del estilo de esta
manera:

<STYLE TYPE="text/css"> <!-- BODY {background: yellow
; font-size: 10pt; font-family: Arial; margin-left: 2cm;
margin-right: 2cm} H1 {background: blue; font-size: 14pt;
font-weight: bold; color: red} H2 {font-size: 12pt; font-weight:
bold; color: red} DIV {background: URL(nubes.jpg)} -->
</STYLE>

Aprovechando la herencia entre comandos

Como sabemos, las comandos de un documento HTML tienen una estructura
definida, que de manera muy resumida se puede poner de esta forma:

<HTML> <BODY> (conjunto de
comandos que conforman la pagina) </BODY> </HTML>

Como se puede ver, el comando <BODY>
engloba a todas las demas. Si se la asigna un estilo
determinado a esta comando, todos los elementos que estin dentro de la pagina
(tablas, listas, parrafos, etc.) heredaran este estilo.

Por tanto, para establecer un estilo global a la pagina entera, lo mas
apropiado es atribumserlo a la comando <BODY>. Por
ejemplo:

BODY {font: 10pt/11pt
Arial, Helvetica, sans-serif; background: url(isla.gif);
margin-left: 2cm; margin-right: 2cm}

Establece para la pagina entera la fuente, separación entre líneas,
imagen de fondo y espesor de los margenes. Si se precisa que ciertos elementos
concretos dentro de la pagina tengan otras caractermsticas distinta a la
general, entonces hay que definirlas por separado.


Manual de HTML v2.1
Ing Enrique Garrido-Lecca Risco
Universidad ALAS Peruanas


PHPLib – PHP Base Library

Reading time: < 1 minute

És una llibreria de funcions PHP q afegeixen i automatitzen funcions
a partir de la llibreria bàsica de PHP.

És un projecte molt interessant ja q si t’estudies bé aquesta
llibreria i el seu conjunt de classes. Permet programar, per exemple,
aplicacions amb bases de dades transparent al tipus de base de ades q s’estigui
accedint.
Per tant, aplica un nou nivell d’abstracció a la programació PHP
q fa temps q demanava.
A nivell de l’apliació inmediata de la mateixa no ho veig massa
útil ja q seria per projectes mitjans o grans, on hi ha hagi un gran
temps d’analisi del problema i estructuració del codi. Així
doncs, a l’únic lloc on se m’acut q es podria usar és al projecte
SIA.

rdf2html v 0.0.1

Reading time: < 1 minute

http://linux.gelrevision.nl/parserdf.phps
Programa en PHP q agafa fitxers .rdf i els transforma en fitxers .html, de
moment, no el necessito però en un futur em podria interessar molt. Cal
tenir en compte q només és una versió inicial. Però
millor això q res.

MyNews 2.1 – phpGrabber 1.0

Reading time: < 1 minute

Nova versió la 2.1. MyNews 2.0 és el programa en el q es basa
OriolNews Portal.
phpGrabber 1.0 passa les news del MyNews a xml, fa un resum amb les
headlines.

Per fi, ha sortit la versió de MyNews q funciona no només amb
dominis absoluts. Tb inclou la possibilitat de buscador. Així doncs ja
tinc feina a mirar el codi, per tal d’afegir al meu portal les novetats del
programa.
Molta feina se m’esta acumulant… això no pot ser!
El phpGrabber tb és interessant… hauré de mirar com està
fet, tot i q no tinc clar si l’usaré al OriolNews Portal.

Scroll to Top