Ayudante HTML

El archivo HTML Helper contiene funciones que ayudan a trabajar con HTML.

Configuración

Desde v7.3.0, se anulan los elementos HTML (por ejemplo, <img>) en html_helper las funciones se han cambiado para que sean compatibles con HTML5 de forma predeterminada y si necesita ser compatible con XHTML, debe configurar la propiedad $html5 en app/Config/DocTypes. php a false.

Cargando este ayudante

Este ayudante se carga usando el siguiente código:

<?php

helper('html');

Funciones disponibles

Están disponibles las siguientes funciones:

img([$src = ''[, $indexPage = false[, $attributes = '']]])
Parámetros:
  • $src (string|array) – URI de origen de la imagen o conjunto de atributos y valores

  • $indexPage (bool) – Si se debe tratar $src como una cadena URI enrutada

  • $attributes (Mixed) – atributos HTML adicionales

Devuelve:

etiqueta de imagen HTML

Tipo del valor devuelto:

cadena

Le permite crear HTML <img /> etiquetas. El primer parámetro contiene el fuente de imagen. Ejemplo:

<?php

echo img('images/picture.jpg');
// <img src="http://site.com/images/picture.jpg">

Hay un segundo parámetro opcional que es un valor verdadero/falso que detalles si el src debe tener la página especificada por $config['indexPage'] agregado a la dirección que crea. Presumiblemente, esto sería si estuviera usando un controlador de medios:

<?php

echo img('images/picture.jpg', true);
// <img src="http://site.com/index.php/images/picture.jpg" alt="">

Además, se puede pasar una matriz asociativa como primer parámetro, para un control total sobre todos los atributos y valores. Si un atributo alt no se proporciona, Higgs generará una cadena vacía.

Ejemplo:

<?php

$imageProperties = [
    'src'    => 'images/picture.jpg',
    'alt'    => 'Me, demonstrating how to eat 4 slices of pizza at one time',
    'class'  => 'post_images',
    'width'  => '200',
    'height' => '200',
    'title'  => 'That was quite a night',
    'rel'    => 'lightbox',
];

img($imageProperties);
// <img src="http://site.com/index.php/images/picture.jpg" alt="Me, demonstrating how to eat 4 slices of pizza at one time" class="post_images" width="200" height="200" title="That was quite a night" rel="lightbox">
img_data([$src = ''[, $indexPage = false[, $attributes = '']]])
Parámetros:
  • $path (string) – Ruta al archivo de imagen

  • $mime (string|null) – tipo MIME a usar, o nulo para adivinar

Devuelve:

cadena de imagen binaria codificada en base64

Tipo del valor devuelto:

cadena

Genera una cadena lista para src a partir de una imagen utilizando el protocolo «datos:». Ejemplo:

<?php

$src = img_data('public/images/picture.jpg'); // data:image/jpg;base64,R0lGODl...
echo img($src);

Hay un segundo parámetro opcional para especificar el tipo MIME; de lo contrario, el La función utilizará su configuración de Mimes para adivinar:

<?php

$src = img_data('path/img_without_extension', 'image/png'); // data:image/png;base64,HT5A822...

Tenga en cuenta que $path debe existir y ser un formato de imagen legible compatible con el protocolo data:. Esta función no se recomienda para archivos muy grandes, pero proporciona una manera conveniente de servir imágenes desde su aplicación a las que no se puede acceder desde la web (por ejemplo, en public/).

Parámetros:
  • $href (string) – la fuente del archivo de enlace

  • $rel (string) – tipo de relación

  • $type (string) – Tipo del documento relacionado

  • $título (string) – Título del enlace

  • $media (string) – tipo de medio

  • $indexPage (bool) – Si se debe tratar $src como una cadena URI enrutada

  • $hreflang (strings) – tipo Hreflang

Devuelve:

etiqueta de enlace HTML

Tipo del valor devuelto:

cadena

Le permite crear HTML <link /> etiquetas. Esto es útil para enlaces de hojas de estilo, así como otros enlaces. Los parámetros son href, con rel opcional, tipo, título, medios y página de índice.

indexPage es un valor booleano que especifica si href debería tener la página especificada por $config['indexPage'] agregada a la dirección que crea.

Ejemplo:

<?php

echo link_tag('css/mystyles.css');
// <link href="http://site.com/css/mystyles.css" rel="stylesheet" type="text/css">

Más ejemplos:

<?php

echo link_tag('favicon.ico', 'shortcut icon', 'image/ico');
// <link href="http://site.com/favicon.ico" rel="shortcut icon" type="image/ico">

echo link_tag('feed', 'alternate', 'application/rss+xml', 'My RSS Feed');
// <link href="http://site.com/feed" rel="alternate" type="application/rss+xml" title="My RSS Feed">

Alternativamente, se puede pasar una matriz asociativa a la función link_tag() para un control total sobre todos los atributos y valores:

<?php

$link = [
    'href'  => 'css/printer.css',
    'rel'   => 'stylesheet',
    'type'  => 'text/css',
    'media' => 'print',
];

echo link_tag($link);
// <link href="http://site.com/css/printer.css" rel="stylesheet" type="text/css" media="print">
script_tag([$src = ''[, $indexPage = false]])
Parámetros:
  • $src (array|string) – El nombre de origen o URL de un archivo JavaScript, o una matriz asociativa que especifica los atributos

  • $indexPage (bool) – Si se debe tratar $src como una cadena URI enrutada

Devuelve:

etiqueta de secuencia de comandos HTML

Tipo del valor devuelto:

cadena

Le permite crear HTML <script></script> etiquetas. El parámetro es src, con indexPage opcional.

indexPage es un valor booleano que especifica si src debería tener la página especificada por $config['indexPage'] agregada a la dirección que crea.

Ejemplo:

<?php

echo script_tag('js/mystyles.js');
// <script src="http://site.com/js/mystyles.js"></script>

Alternativamente, se puede pasar una matriz asociativa a la función script_tag() para un control total sobre todos los atributos y valores:

<?php

$script = ['src' => 'js/printer.js', 'defer' => null];

echo script_tag($script);
// <script src="http://site.com/js/printer.js" defer></script>
ul($list[, $attributes = ''])
Parámetros:
  • $list (array) – Listar entradas

  • $atributos (array) – atributos HTML

Devuelve:

lista desordenada con formato HTML

Tipo del valor devuelto:

cadena

Le permite generar listas HTML desordenadas a partir de archivos simples o matrices multidimensionales. Ejemplo:

<?php

$list = [
    'red',
    'blue',
    'green',
    'yellow',
];

$attributes = [
    'class' => 'boldlist',
    'id'    => 'mylist',
];

echo ul($list, $attributes);

El código anterior producirá esto:

<ul class="boldlist" id="mylist">
    <li>rojo</li>
    <li>azul</li>
    <li>verde</li>
    <li>amarillo</li>
</ul>

Aquí hay un ejemplo más complejo, usando una matriz multidimensional:

<?php

$attributes = [
    'class' => 'boldlist',
    'id'    => 'mylist',
];

$list = [
    'colors' => [
        'red',
        'blue',
        'green',
    ],
    'shapes' => [
        'round',
        'square',
        'circles' => [
            'ellipse',
            'oval',
            'sphere',
        ],
    ],
    'moods' => [
        'happy',
        'upset' => [
            'defeated' => [
                'dejected',
                'disheartened',
                'depressed',
            ],
            'annoyed',
            'cross',
            'angry',
        ],
    ],
];

echo ul($list, $attributes);

El código anterior producirá esto:

<ul class="boldlist" id="mylist">
    <li>colores
        <ul>
            <li>rojo</li>
            <li>azul</li>
            <li>verde</li>
        </ul>
    </li>
    <li>formas
        <ul>
            <li>redondo</li>
            <li>cuadrado</li>
            <li>círculos
                <ul>
                    <li>elipse</li>
                    <li>oval</li>
                    <li>esfera</li>
                </ul>
            </li>
        </ul>
    </li>
    <li>estados de ánimo
        <ul>
            <li>feliz</li>
            <li>decepcionado
                <ul>
                    <li>derrotado
                        <ul>
                            <li>abatido</li>
                            <li>descorazonado</li>
                            <li>deprimido</li>
                        </ul>
                    </li>
                    <li>enojado</li>
                    <li>cruz</li>
                    <li>enojado</li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
ol($list, $attributes = '')
Parámetros:
  • $list (array) – Listar entradas

  • $atributos (array) – atributos HTML

Devuelve:

lista ordenada con formato HTML

Tipo del valor devuelto:

cadena

Idéntico a ul(), solo que produce el <ol>``etiqueta para listas ordenadas en lugar de ``<ul>.

video($src[, $unsupportedMessage = ''[, $attributes = ''[, $tracks = [][, $indexPage = false]]]])
Parámetros:
  • $src (mixed) – ya sea una cadena de origen o una matriz de fuentes. Ver función source()

  • $unsupportedMessage (string) – el mensaje que se mostrará si la etiqueta multimedia no es compatible con el navegador

  • $atributos (string) – atributos HTML

  • $tracks (array) – utiliza la función track dentro de una matriz. Ver función track()

  • $páginaíndice (bool) –

Devuelve:

elemento de vídeo con formato HTML

Tipo del valor devuelto:

cadena

Le permite generar elementos de video HTML desde simples o matrices de origen. Ejemplo:

<?php

$tracks = [
    track('subtitles_no.vtt', 'subtitles', 'no', 'Norwegian No'),
    track('subtitles_yes.vtt', 'subtitles', 'yes', 'Norwegian Yes'),
];

echo video('test.mp4', 'Your browser does not support the video tag.', 'controls');

echo video(
    'http://www.Higgs.com/test.mp4',
    'Your browser does not support the video tag.',
    'controls',
    $tracks
);

echo video(
    [
        source('movie.mp4', 'video/mp4', 'class="test"'),
        source('movie.ogg', 'video/ogg'),
        source('movie.mov', 'video/quicktime'),
        source('movie.ogv', 'video/ogv; codecs=dirac, speex'),
    ],
    'Your browser does not support the video tag.',
    'class="test" controls',
    $tracks
);

El código anterior producirá esto:

<video src="test.mp4" controls>
  Su navegador no soporta la etiqueta de vídeo.
</video>

<video src="http://www.Higgs.com/test.mp4" controls>
  <track src="subtitles_no.vtt" kind="subtitles" srclang="no" label="Norwegian No" />
  <track src="subtitles_yes.vtt" kind="subtitles" srclang="yes" label="Norwegian Yes" />
  Su navegador no soporta la etiqueta de vídeo.
</video>

<video class="test" controls>
  <source src="movie.mp4" type="video/mp4" class="test" />
  <source src="movie.ogg" type="video/ogg" />
  <source src="movie.mov" type="video/quicktime" />
  <source src="movie.ogv" type="video/ogv; codecs=dirac, speex" />
  <track src="subtitles_no.vtt" kind="subtitles" srclang="no" label="Norwegian No" />
  <track src="subtitles_yes.vtt" kind="subtitles" srclang="yes" label="Norwegian Yes" />
  Su navegador no soporta la etiqueta de vídeo.
</video>
audio($src[, $unsupportedMessage = ''[, $attributes = ''[, $tracks = [][, $indexPage = false]]]])
Parámetros:
  • $src (mixed) – ya sea una cadena de origen o una matriz de fuentes. Ver función source()

  • $unsupportedMessage (string) – el mensaje que se mostrará si la etiqueta multimedia no es compatible con el navegador

  • $atributos (strings) –

  • $tracks (array) – utiliza la función track dentro de una matriz. Ver función track()

  • $páginaíndice (bool) –

Devuelve:

elemento de audio con formato HTML

Tipo del valor devuelto:

cadena

Idéntico a video(), solo que produce el <audio> etiqueta en lugar de <video>.

source($src = ''[, $type = false[, $attributes = '']])
Parámetros:
  • $src (string) – La ruta del recurso multimedia

  • $type (bool) – el tipo MIME del recurso con parámetros de códecs opcionales

  • $atributos (array) – atributos HTML

Devuelve:

etiqueta fuente HTML

Tipo del valor devuelto:

cadena

Le permite crear HTML <source /> etiquetas. El primer parámetro contiene el fuente fuente. Ejemplo:

<?php

echo source('movie.mp4', 'video/mp4', 'class="test"');
// <source src="movie.mp4" type="video/mp4" class="test">
embed($src = ''[, $type = false[, $attributes = ''[, $indexPage = false]]])
Parámetros:
  • $src (string) – La ruta del recurso a incrustar

  • $tipo (bool) – tipo MIME

  • $atributos (array) – atributos HTML

  • $páginaíndice (bool) –

Devuelve:

etiqueta HTML incrustada

Tipo del valor devuelto:

cadena

Le permite crear HTML <embed /> etiquetas. El primer parámetro contiene el insertar fuente. Ejemplo:

<?php

echo embed('movie.mov', 'video/quicktime', 'class="test"');
// <embed src="movie.mov" type="video/quicktime" class="test">
object($data = ''[, $type = false[, $attributes = '']])
Parámetros:
  • $data (string) – una URL de recurso

  • $type (bool) – tipo de contenido del recurso

  • $atributos (array) – atributos HTML

  • $params (array) – utiliza la función param dentro de una matriz. Ver función param()

Devuelve:

etiqueta de objeto HTML

Tipo del valor devuelto:

cadena

Le permite crear HTML <object /> etiquetas. El primer parámetro contiene el datos del objeto. Ejemplo:

<?php

echo object('movie.swf', 'application/x-shockwave-flash', 'class="test"');

echo object(
    'movie.swf',
    'application/x-shockwave-flash',
    'class="test"',
    [
        param('foo', 'bar', 'ref', 'class="test"'),
        param('hello', 'world', 'ref', 'class="test"'),
    ]
);

El código anterior producirá esto:

<object data="movie.swf" class="test"></object>

<object data="movie.swf" class="test">
  <param name="foo" type="ref" value="bar" class="test" />
  <param name="hello" type="ref" value="world" class="test" />
</object>
param($name = ''[, $type = false[, $attributes = '']])
Parámetros:
  • $nombre (string) – el nombre del parámetro

  • $valor (string) – el valor del parámetro

  • $atributos (array) – atributos HTML

Devuelve:

etiqueta de parámetro HTML

Tipo del valor devuelto:

cadena

Le permite crear HTML <param /> etiquetas. El primer parámetro contiene el fuente del parámetro. Ejemplo:

<?php

echo param('movie.mov', 'video/quicktime', 'class="test"');
// <param src="movie.mov" type="video/quicktime" class="test">
track($name = ''[, $type = false[, $attributes = '']])
Parámetros:
  • $nombre (string) – el nombre del parámetro

  • $valor (string) – el valor del parámetro

  • $atributos (array) – atributos HTML

Devuelve:

etiqueta de seguimiento HTML

Tipo del valor devuelto:

cadena

Genera un elemento de pista para especificar pistas cronometradas. Las pistas son formateado en formato WebVTT. Ejemplo:

<?php

echo track('subtitles_no.vtt', 'subtitles', 'no', 'Norwegian No');
// <track src="subtitles_no.vtt" kind="subtitles" srclang="no" label="Norwegian No">
doctype([$type = 'html5'])
Parámetros:
  • $tipo (string) – nombre de tipo de documento

Devuelve:

etiqueta HTML DocType

Tipo del valor devuelto:

cadena

Le ayuda a generar declaraciones de tipo de documento o DTD. HTML5 se utiliza de forma predeterminada, pero hay muchos tipos de documentos disponibles.

Ejemplo:

<?php

echo doctype();
// <!DOCTYPE html>

echo doctype('html4-trans');
// <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

La siguiente es una lista de las opciones de tipo de documento predefinidas. Estos son configurables, extraídos de app/Config/DocTypes.php, o podrían anularse en su configuración .env.