Overview
Phalcon\Html\TagFactory is a component that generates HTML tags. This component creates a new class locator with predefined HTML tag classes attached to it. Each tag class is lazy-loaded for maximum performance. To instantiate the factory and retrieve a tag helper, you need to call newInstance() by passing a Phalcon\Html\Escaper object to it.
If you are using the Phalcon\Di\FactoryDefault container for your application, the Phalcon\Html\TagFactory is already registered for you with the name tag.
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\TagFactory;
$escaper = new Escaper();
$factory = new TagFactory($escaper);
$helper = $factory->newInstance('a');<?php
use Phalcon\Di\FactoryDefault;
$container = new FactoryDefault();
$helper = $container->tag->newInstance('a');The registered names for respective helpers are:
| Name | Class |
|---|---|
a |
Phalcon\Html\Helper\Anchor |
base |
Phalcon\Html\Helper\Base |
breadcrumbs |
Phalcon\Html\Helper\Breadcrumbs |
body |
Phalcon\Html\Helper\Body |
button |
Phalcon\Html\Helper\Button |
close |
Phalcon\Html\Helper\Close |
doctype |
Phalcon\Html\Helper\Doctype |
element |
Phalcon\Html\Helper\Element |
form |
Phalcon\Html\Helper\Form |
img |
Phalcon\Html\Helper\Img |
inputCheckbox |
Phalcon\Html\Helper\Input\Checkbox |
inputColor |
Phalcon\Html\Helper\Input\Color |
inputDate |
Phalcon\Html\Helper\Input\Date |
inputDateTime |
Phalcon\Html\Helper\Input\DateTime |
inputDateTimeLocal |
Phalcon\Html\Helper\Input\DateTimeLocal |
inputEmail |
Phalcon\Html\Helper\Input\Email |
inputFile |
Phalcon\Html\Helper\Input\File |
inputHidden |
Phalcon\Html\Helper\Input\Hidden |
inputImage |
Phalcon\Html\Helper\Input\Image |
inputInput |
Phalcon\Html\Helper\Input\Input |
inputMonth |
Phalcon\Html\Helper\Input\Month |
inputNumeric |
Phalcon\Html\Helper\Input\Numeric |
inputPassword |
Phalcon\Html\Helper\Input\Password |
inputRadio |
Phalcon\Html\Helper\Input\Radio |
inputRange |
Phalcon\Html\Helper\Input\Range |
inputSearch |
Phalcon\Html\Helper\Input\Search |
inputSelect |
Phalcon\Html\Helper\Input\Select |
inputSubmit |
Phalcon\Html\Helper\Input\Submit |
inputTel |
Phalcon\Html\Helper\Input\Tel |
inputText |
Phalcon\Html\Helper\Input\Text |
inputTextarea |
Phalcon\Html\Helper\Input\Textarea |
inputTime |
Phalcon\Html\Helper\Input\Time |
inputUrl |
Phalcon\Html\Helper\Input\Url |
inputWeek |
Phalcon\Html\Helper\Input\Week |
label |
Phalcon\Html\Helper\Label |
link |
Phalcon\Html\Helper\Link |
meta |
Phalcon\Html\Helper\Meta |
ol |
Phalcon\Html\Helper\Ol |
script |
Phalcon\Html\Helper\Script |
style |
Phalcon\Html\Helper\Style |
title |
Phalcon\Html\Helper\Title |
ul |
Phalcon\Html\Helper\Ul |
Method call
If you do not wish to call newInstance(), you can always use the method call that corresponds to the name of the helper. Some helpers accept a bool $raw parameter, which defines whether the input will be escaped or not. This is useful when creating anchor links with images.
public function a(
string $href,
string $text,
array $attributes = [],
bool $raw = false
): string
public function base(
string $href,
array $attributes = []
): string
public function body(
array $attributes = []
): string
public function breadcrumbs(
string $indent = ' ',
string $delimiter = "\n"
): Breadcrumbs
public function button(
string $text,
array $attributes = [],
bool $raw = false
): string
public function close(
string $tag,
bool $raw = false
): string
public function doctype(
int $flag,
string $delimiter
): Doctype
public function element(
string $tag,
string $text,
array $attributes = [],
bool $raw = false
): string
public function form(
array $attributes = []
): string
public function img(
string $src,
array $attributes = []
): string
public function inputCheckbox(
string $name,
string $value = null,
array $attributes = []
): Checkbox
public function inputColor(
string $name,
string $value = null,
array $attributes = []
): Color
public function inputDate(
string $name,
string $value = null,
array $attributes = []
): Date
public function inputDateTime(
string $name,
string $value = null,
array $attributes = []
): DateTime
public function inputDateTimeLocal(
string $name,
string $value = null,
array $attributes = []
): DateTimeLocal
public function inputEmail(
string $name,
string $value = null,
array $attributes = []
): Email
public function inputFile(
string $name,
string $value = null,
array $attributes = []
): File
public function inputHidden(
string $name,
string $value = null,
array $attributes = []
): Hidden
public function inputImage(
string $name,
string $value = null,
array $attributes = []
): Image
public function inputInput(
string $name,
string $value = null,
array $attributes = []
): Input
public function inputMonth(
string $name,
string $value = null,
array $attributes = []
): Month
public function inputNumeric(
string $name,
string $value = null,
array $attributes = []
): Numeric
public function inputPassword(
string $name,
string $value = null,
array $attributes = []
): Password
public function inputRadio(
string $name,
string $value = null,
array $attributes = []
): Radio
public function inputRange(
string $name,
string $value = null,
array $attributes = []
): Range
public function inputSearch(
string $name,
string $value = null,
array $attributes = []
): Search
public function inputSelect(
string $name,
string $value = null,
array $attributes = []
): Select
public function inputSubmit(
string $name,
string $value = null,
array $attributes = []
): Submit
public function inputTel(
string $name,
string $value = null,
array $attributes = []
): Tel
public function inputText(
string $name,
string $value = null,
array $attributes = []
): Text
public function inputTextarea(
string $name,
string $value = null,
array $attributes = []
): Textarea
public function inputTime(
string $name,
string $value = null,
array $attributes = []
): Time
public function inputUrl(
string $name,
string $value = null,
array $attributes = []
): Url
public function inputWeek(
string $name,
string $value = null,
array $attributes = []
): Week
public function label(
string $label,
array $attributes = [],
bool $raw = false
): string
public function link(
string $indent = ' ',
string $delimiter = PHP_EOL
): Link
public function meta(
string $indent = ' ',
string $delimiter = PHP_EOL
): Meta
public function ol(
string $text,
array $attributes = [],
bool $raw = false
): Ol
public function script(
string $indent = ' ',
string $delimiter = PHP_EOL
): Script
public function style(
string $indent = ' ',
string $delimiter = PHP_EOL
): Style
public function title(
string $indent = ' ',
string $delimiter = PHP_EOL
): Title
public function ul(
string $text,
array $attributes = [],
bool $raw = false
): Ul<?php
use Phalcon\Di\FactoryDefault;
$container = new FactoryDefault();
$result = $container->tag->a('https://phalcon.io', 'Phalcon Website');
$image = $container
->tag
->img('https://phalcon.io/img/phalcon.png')
;
$result = $container
->tag
->a(
'https://phalcon.io',
$image,
true
)
;Helpers
All helpers that are used by the Phalcon\Html\TagFactory are located under the Phalcon\Html\Helper namespace. You can create each of these classes individually if you wish to, or you can use the tag factory as shown above.
a
Phalcon\Html\Helper\Anchor creates a <a> (anchor) tag.
| Parameter | Description |
|---|---|
string $href |
The href |
string $text |
The text to display |
array $attributes = [] |
Additional attributes (key/value) |
bool $raw = false |
Whether to escape or not the text |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Anchor;
$escaper = new Escaper();
$helper = new Anchor($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('/myurl', 'click<>me', $options);
// <a href="/myurl"
// id="my-id"
// name="my-name"
// class="my-class">
// click<>me
// </a>base
Phalcon\Html\Helper\Base creates a <base> tag.
| Parameter | Description |
|---|---|
string $href |
The href |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Base;
$escaper = new Escaper();
$helper = new Base($escaper);
$options = [
'target' => '_blank',
];
echo $helper('/myurl', $options);
// <base href="/myurl"
// target="_blank">breadcrumbs
Phalcon\Html\Helper\Breadcrumbs creates HTML for breadcrumbs based on the existing or passed template.
| Parameter | Description |
|---|---|
string $indent |
The indent |
string $delimiter |
The delimiter |
A common piece of HTML that is present in many web applications is the breadcrumbs. These are links separated by a space or by the / character usually, that represents the tree structure of an application. The purpose is to give users another easy visual way to navigate throughout the application.
An example is an application that has an admin module, an invoices area, and a view invoice page. Usually, you would select the admin module, then from the links you will choose invoices (list), and then clicking on one of the invoices in the list, you can view it. To represent this tree-like structure, the breadcrumbs displayed could be:
Home / Admin / Invoices / Viewing Invoice [1234]Each of the words above (apart from the last one) are links to the respective pages. This way the user can quickly navigate back to a different area without having to click the back button or use another menu.
Phalcon\Html\Helper\Breadcrumbs offers functionality to add text, URL, icon and attributes to each element. The resulting HTML when calling render() will have each breadcrumb formatted and enclosed in the HTML structure defined by the template. Each element will be separated from another using the default separator <li>/</li>.
Methods
public function __invoke(
string $indent = ' ',
string $delimiter = PHP_EOL
): static Sets the indent and delimiter and returns the object back
public function add(
string $text,
string $link = '',
string $icon = '',
array $attributes = []
): static Adds a new crumb.
// Adding a crumb with a link
$breadcrumbs->add("Home", "/");
// Adding a crumb with added attributes
$breadcrumbs->add("Home", "/", ["class" => "main"]);
// Adding a crumb without a link (normally the last one)
$breadcrumbs->add("Users");public function clear(): voidClears the crumbs
$breadcrumbs->clear()public function clearAttributes(): staticClears the attributes of the parent element
public function getAttributes(): arrayReturns the attributes of the parent element
public function getSeparator(): stringpublic function getTemplate(): arrayReturns the current template
public function remove(int $index): voidRemoves a crumb by index.
$breadcrumbs->remove(2);public function render(): stringRenders and outputs breadcrumbs based on previously set template.
echo $breadcrumbs->render();public function setAttributes(array $attributes): staticSets the attributes for the parent element
public function setSeparator(string $separator): staticSets the separator
public function setTemplate(
string $main,
string $line,
string $last
): static Sets the HTML template
public function toArray(): arrayReturns the internal breadcrumbs array
Templates
The default templates are:
Main
<nav%attributes%>
<ol>
%items%
</ol>
</nav>Line
<li%attributes%><a href="%link%">%icon%%text%</a></li>Last Element
<li><span%attributes%>%text%</span></li>A different template can be supplied to match the needs of the application. The template can be set using the setTemplate() method. The template is a string that can contain placeholders that will be replaced by the actual values when rendering the breadcrumbs.
The available placeholders are:
| Placeholder | Description | Applies to |
|---|---|---|
%attributes% |
The attributes of the parent element | Parent |
%items% |
The list of items | Parent |
%link% |
The link of the element | Element |
%text% |
The text of the element | Element |
%icon% |
The icon of the element | Element |
%attributes% |
The attributes of the element | Element |
Separator
The separator is what is printed between each of the breadcrumbs. By default, the separator is <li>/</li>. You can change the separator by calling setSeparator().
Example
Our application needs to display breadcrumbs in the following format:
Home > Admin > Invoices > Viewing Invoice [1234]<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\TagFactory;
$escaper = new Escaper();
$tagFactory = new TagFactory($escaper);
$separator = '
<span class="mx-5 text-gray-500 dark:text-gray-300 rtl:-scale-x-100">
<svg xmlns="http://www.w3.org/2000/svg"
class="w-5 h-5"
viewBox="0 0 20 20"
fill="currentColor">
<path fill-rule="evenodd"
d="M7.293 14.707a1 1 0 010-1.414L10.586
10 7.293 6.707a1 1 0 011.414-1.414l4
4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
clip-rule="evenodd" />
</svg>
</span>
';
$homeIcon = '
<svg xmlns="http://www.w3.org/2000/svg"
class="w-5 h-5" viewBox="0 0 20 20"
fill="currentColor">
<path d="M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1
0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1
0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1
0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1
0 001.414-1.414l-7-7z" />
</svg>
';
$mainTemplate = '
<div%attributes%>
%items%
</div>
';
$lineTemplate = '
<a href="%link%"%attributes%>
%icon%%text%
</a>
';
$lastTemplate = '
<a href="%link%"%attributes%>
%icon%%text%
</a>
';
$homeAttributes = [
'class' => 'text-gray-600 dark:text-gray-200',
];
$lineAttributes = [
'class' => 'text-gray-600 dark:text-gray-200 hover:underline',
];
$lastAttributes = [
'class' => 'text-blue-600 dark:text-blue-400 hover:underline',
];
$breadcrumbs
->setTemplate($mainTemplate, $lineTemplate, $lastTemplate)
->setSeparator($separator)
->add('', '#', $homeIcon, $homeAttributes)
->add('Admin', '#', '', $lineAttributes)
->add('Invoices', '#', '', $lineAttributes)
->add('Viewing Invoice [1234]', '#', '', $lastAttributes)
;
echo $breadcrumbs->render(); Output HTML:
<div class="flex items-center py-4 overflow-x-auto whitespace-nowrap">
<a href="#" class="text-gray-600 dark:text-gray-200">
<svg xmlns="http://www.w3.org/2000/svg"
class="w-5 h-5"
viewBox="0 0 20 20"
fill="currentColor">
<path d="M10.707 2.293a1 1
0 00-1.414 0l-7 7a1 1
0 001.414 1.414L4 10.414V17a1 1
0 001 1h2a1 1 0 001-1v-2a1 1
0 011-1h2a1 1 0 011 1v2a1 1
0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1
0 001.414-1.414l-7-7z" />
</svg>
</a>
<span class="mx-5 text-gray-500 dark:text-gray-300 rtl:-scale-x-100">
<svg xmlns="http://www.w3.org/2000/svg"
class="w-5 h-5"
viewBox="0 0 20 20"
fill="currentColor">
<path fill-rule="evenodd"
d="M7.293 14.707a1 1
0 010-1.414L10.586 10 7.293 6.707a1 1
0 011.414-1.414l4 4a1 1
0 010 1.414l-4 4a1 1
0 01-1.414 0z"
clip-rule="evenodd" />
</svg>
</span>
<a href="#" class="text-gray-600 dark:text-gray-200 hover:underline">
Admin
</a>
<span class="mx-5 text-gray-500 dark:text-gray-300 rtl:-scale-x-100">
<svg xmlns="http://www.w3.org/2000/svg"
class="w-5 h-5"
viewBox="0 0 20 20"
fill="currentColor">
<path fill-rule="evenodd"
d="M7.293 14.707a1 1
0 010-1.414L10.586 10 7.293 6.707a1 1
0 011.414-1.414l4 4a1 1
0 010 1.414l-4 4a1 1
0 01-1.414 0z"
clip-rule="evenodd" />
</svg>
</span>
<a href="#" class="text-gray-600 dark:text-gray-200 hover:underline">
Invoices
</a>
<span class="mx-5 text-gray-500 dark:text-gray-300 rtl:-scale-x-100">
<svg xmlns="http://www.w3.org/2000/svg"
class="w-5 h-5"
viewBox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd"
d="M7.293 14.707a1 1
0 010-1.414L10.586 10 7.293 6.707a1 1
0 011.414-1.414l4 4a1 1
0 010 1.414l-4 4a1 1
0 01-1.414 0z"
clip-rule="evenodd" />
</svg>
</span>
<a href="#" class="text-blue-600 dark:text-blue-400 hover:underline">
Viewing Invoice [1234]
</a>
</div>body
Phalcon\Html\Helper\Body creates a <body> tag.
| Parameter | Description |
|---|---|
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Body;
$escaper = new Escaper();
$helper = new Body($escaper);
$options = [
'class' => 'my-class',
'id' => 'my-id',
];
echo $helper($options);
// <body id="my-id" class="my-class">button
Phalcon\Html\Helper\Button creates a <button> tag.
| Parameter | Description |
|---|---|
string $text |
The text to display |
array $attributes = [] |
Additional attributes (key/value) |
bool $raw = false |
Whether to escape or not the text |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Button;
$escaper = new Escaper();
$helper = new Button($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('click<>me', $options);
// <button
// id="my-id"
// name="my-name"
// class="my-class">
// click<>me
// </button>close
Phalcon\Html\Helper\Close creates a closing tag.
| Parameter | Description |
|---|---|
string $text |
The text to display |
bool $raw = false |
Whether to escape or not the text |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Close;
$escaper = new Escaper();
$helper = new Close($escaper);
echo $helper('form');
// </form>doctype
Phalcon\Html\Helper\Doctype creates a <doctype> tag.
| Parameter | Description |
|---|---|
int $flag |
The text to display |
string $delimiter |
Whether to escape or not the text |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Doctype;
$escaper = new Escaper();
$helper = new Doctype($escaper);
echo $helper(Doctype::XHTML11, '-:-');
// <!DOCTYPE html
// PUBLIC "-//W3C//DTD XHTML 1.1//EN"-:-
// "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">-:-element
Phalcon\Html\Helper\Element creates a tag based on the passed name.
| Parameter | Description |
|---|---|
string $tag |
The href |
string $text |
The text to display |
array $attributes = [] |
Additional attributes (key/value) |
bool $raw = false |
Whether to escape or not the text |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Element;
$escaper = new Escaper();
$helper = new Element($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('address', 'click<>me', $options);
// <address
// id="my-id"
// name="my-name"
// class="my-class">
// click<>me
// </address>form
Phalcon\Html\Helper\Form creates a <form> tag.
| Parameter | Description |
|---|---|
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Form;
$escaper = new Escaper();
$helper = new Form($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
'method' => 'post',
'enctype' => 'multipart/form-data'
];
echo $helper($options);
// <form
// id="my-id"
// name="my-name"
// class="my-class"
// method="post"
// enctype="multipart/form-data">img
Phalcon\Html\Helper\Img creates a <img> tag.
| Parameter | Description |
|---|---|
string $src |
The image source |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Img;
$escaper = new Escaper();
$helper = new Img($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('/my-url', $options);
// <img
// src="/my-url"
// id="my-id"
// name="my-name"
// class="my-class">inputCheckbox
Phalcon\Html\Helper\Checkbox creates a <input type="checkbox"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
Methods
public function label(array $attributes)Sets the label for the checkbox
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Checkbox;
$escaper = new Escaper();
$helper = new Checkbox($escaper);
$options = [
'id' => 'my-id',
'unchecked' => 'no',
'checked' => 'yes',
];
$result = $helper('my-name', 'yes', $options);
echo $result;
// <hidden name="my_name" value="no">
// <label for="my_id">
// <input type="checkbox"
// id="my_id"
// name="x_name"
// value="yes"
// checked="checked" />
// some text
// </label>inputColor
Phalcon\Html\Helper\Color creates a <input type="color"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Color;
$escaper = new Escaper();
$helper = new Color($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="color"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputDate
Phalcon\Html\Helper\Date creates a <input type="date"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Date;
$escaper = new Escaper();
$helper = new Date($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="date"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputDatetime
Phalcon\Html\Helper\DateTime creates a <input type="datetime"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\DateTime;
$escaper = new Escaper();
$helper = new DateTime($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="datetime"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputDatetimeLocal
Phalcon\Html\Helper\DateTimeLocal creates a <input type="datetime-local"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\DateTimeLocal;
$escaper = new Escaper();
$helper = new DateTimeLocal($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="datetime-local"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputEmail
Phalcon\Html\Helper\Email creates a <input type="email"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Email;
$escaper = new Escaper();
$helper = new Email($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="email"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputFile
Phalcon\Html\Helper\File creates a <input type="file"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\File;
$escaper = new Escaper();
$helper = new File($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="file"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputHidden
Phalcon\Html\Helper\Hidden creates a <input type="hidden"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Hidden;
$escaper = new Escaper();
$helper = new Hidden($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="hidden"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputImage
Phalcon\Html\Helper\Image creates a <input type="image"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Image;
$escaper = new Escaper();
$helper = new Image($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="image"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputMonth
Phalcon\Html\Helper\Month creates a <input type="month"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Month;
$escaper = new Escaper();
$helper = new Month($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="month"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">input
Phalcon\Html\Helper\Input creates a <input> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
Methods
public function setType(string $type)Sets the type of the input
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Input;
$escaper = new Escaper();
$helper = new Input($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
$result = $helper('test-name', "test-value", $options);
$result->setType('month');
echo $result;
// <input type="month"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputNumeric
Phalcon\Html\Helper\Numeric creates a <input type="numeric"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Numeric;
$escaper = new Escaper();
$helper = new Numeric($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="numeric"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputPassword
Phalcon\Html\Helper\Password creates a <input type="password"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Password;
$escaper = new Escaper();
$helper = new Password($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="password"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputRadio
Phalcon\Html\Helper\Radio creates a <input type="radio"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
Methods
public function label(array $attributes)Sets the label for the radio
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Radio;
$escaper = new Escaper();
$helper = new Radio($escaper);
$options = [
'id' => 'my-id',
'unchecked' => 'no',
'checked' => 'yes',
];
$result = $helper('my-name', 'yes', $options);
echo $result;
// <hidden name="my_name" value="no">
// <label for="my_id">
// <input type="radio"
// id="my_id"
// name="x_name"
// value="yes"
// checked="checked" />
// some text
// </label>inputRange
Phalcon\Html\Helper\Range creates a <input type="range"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Range;
$escaper = new Escaper();
$helper = new Range($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="range"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputSearch
Phalcon\Html\Helper\Search creates a <input type="search"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Search;
$escaper = new Escaper();
$helper = new Search($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="search"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputSelect
Phalcon\Html\Helper\Select creates a <select> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
Methods
public function add(
string $text,
string $value = null,
array $attributes = [],
bool $raw = false
): SelectAdd an element to the list
public function addPlaceholder(
string $text,
mixed $value = null,
array $attributes = [],
bool $raw = false
): SelectAdd a placeholder to the element
public function optGroup(
string $label = null,
array $attributes = []
): SelectCreate an option group
public function selected(string $selected): SelectSet the selected option
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Select;
$escaper = new Escaper();
$helper = new Select($escaper);
$options = [
'id' => 'carsList',
];
$result = $helper(' ', PHP_EOL, $options);
$result
->add("Ferrari", "1", ["class" => "active"])
->add("Ford", "2")
->add("Dodge", "3")
->add("Toyota", "4")
->optGroup(
'oneLabel',
[
'class' => 'form-input',
]
)
->addPlaceholder(
'Choose & Car...',
"0",
[],
true,
)
->selected("3")
;
echo $result;
//
// <select id="carsList">
// <optgroup class="form-input" label="oneLabel">
// <option value="0">Choose & Car...</option>
// <option value="1" class="active">Ferrari</option>
// <option value="2">Ford</option>
// <option value="3" selected="selected">Dodge</option>
// <option value="4">Toyota</option>
// </optgroup>
// </select>"inputSubmit
Phalcon\Html\Helper\Submit creates a <input type="submit"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Submit;
$escaper = new Escaper();
$helper = new Submit($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="submit"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputTel
Phalcon\Html\Helper\Tel creates a <input type="tel"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Tel;
$escaper = new Escaper();
$helper = new Tel($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="tel"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputText
Phalcon\Html\Helper\Text creates a <input type="text"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Text;
$escaper = new Escaper();
$helper = new Text($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="text"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputTextarea
Phalcon\Html\Helper\TextArea creates a <textarea> tags
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\TextArea;
$escaper = new Escaper();
$helper = new TextArea($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('click<>me', $options);
// <textarea
// id="my-id"
// name="my-name"
// class="my-class">
// click<>me
// </textarea>inputTime
Phalcon\Html\Helper\Time creates a <input type="time"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Time;
$escaper = new Escaper();
$helper = new Time($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="time"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputUrl
Phalcon\Html\Helper\Url creates a <input type="url"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Url;
$escaper = new Escaper();
$helper = new Url($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="url"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">inputWeek
Phalcon\Html\Helper\Week creates a <input type="week"> tag.
| Parameter | Description |
|---|---|
string $name |
The name |
string $value |
The value |
array $attributes = [] |
Additional attributes (key/value) |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Input\Week;
$escaper = new Escaper();
$helper = new Week($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper('test-name', "test-value", $options);
// <input type="week"
// value="test-value"
// id="my-id"
// name="my-name"
// class="my-class">label
Phalcon\Html\Helper\Label creates a <label> tag.
| Parameter | Description |
|---|---|
string $label |
The label |
array $attributes = [] |
Additional attributes (key/value) |
bool $raw = false |
Whether to escape or not the text |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Label;
$escaper = new Escaper();
$helper = new Label($escaper);
$options = [
'class' => 'my-class',
'name' => 'my-name',
'id' => 'my-id',
];
echo $helper($options);
// <label
// id="my-id"
// name="my-name"
// class="my-class">link
Phalcon\Html\Helper\Link creates a <link> tag.
| Parameter | Description |
|---|---|
string $indent |
The indent |
string $delimiter |
The delimiter |
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Link;
$escaper = new Escaper();
$helper = new Link($escaper);
$result = $helper();
$result
->add('https://phalcon.io/page/1', ['rel' => 'prev'])
->add('https://phalcon.io/page/2', ['rel' => 'next'])
;
echo $result;
// <link rel="prev" href="https://phalcon.io/page/1" />
// <link rel="next" href="https://phalcon.io/page/2" />meta
Phalcon\Html\Helper\Meta creates a <meta> tag.
| Parameter | Description |
|---|---|
string $indent |
The indent |
string $delimiter |
The delimiter |
Methods
public function add(array $attributes = []): MetaAdd an element to the list
public function addHttp(string $httpEquiv, string $content): MetaAdds an HTTP meta tag
public function addName(string name, string content) -> <Meta>Adds a name meta tag
public function addProperty(string name, string content) -> <Meta>Adds a property meta tag
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Meta;
$escaper = new Escaper();
$helper = new Meta($escaper);
$result = $helper();
$result
->add(
[
"charset" => 'utf-8',
]
)
->addHttp("X-UA-Compatible", "IE=edge")
->addName("generator", "Phalcon")
->addProperty("org:url", "https://phalcon.io")
;
echo $result;
// <meta charset="utf-8">
// <meta http-equiv="X-UA-Compatible" content="IE=edge">
// <meta name="generator" content="Phalcon">
// <meta property="org:url" content="https://phalcon.io">ol
Phalcon\Html\Helper\Ol creates a <ol> tag.
| Parameter | Description |
|---|---|
string $indent |
The indent |
string $delimiter |
The delimiter |
Methods
public function add(
string $text,
array $attributes = [],
bool $raw = false
): OlAdd an element to the list
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Ol;
$escaper = new Escaper();
$helper = new Ol($escaper);
$options = [
'id' => 'carsList',
]
$result = $helper(' ', PHP_EOL, $options);
$result
->add("Ferrari", "1", ["class" => "active"])
->add("Ford", "2")
->add("Dodge", "3")
->add("Toyota", "4")
;
echo $result;
// <ol id="carsList">
// <li class="active">Ferrari</li>
// <li>> Ford</li>
// <li>> Dodge</li>
// <li>> Toyota</li>
// </ol>script
Phalcon\Html\Helper\Script creates a <script> tag.
| Parameter | Description |
|---|---|
string $indent |
The indent |
string $delimiter |
The delimiter |
Methods
public function add(
string $url,
array $attributes = []
): ScriptAdd a URL to the list
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Script;
$escaper = new Escaper();
$helper = new Script($escaper);
$result = $helper();
$result
->add('/js/custom.js')
->add('/js/print.js', ['ie' => 'active'])
;
echo $result;
// <script type="application/javascript"
// src="/js/custom.js"></script>
// <script type="application/javascript"
// src="/js/print.js" ie="active"></script>style
Phalcon\Html\Helper\Script creates a <link> tag.
| Parameter | Description |
|---|---|
string $indent |
The indent |
string $delimiter |
The delimiter |
Methods
public function add(
string $url,
array $attributes = []
): ScriptAdd a URL to the list
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Script;
$escaper = new Escaper();
$helper = new Script($escaper);
$result = $helper();
$result
->add('custom.css')
->add('print.css', ['media' => 'print'])
;
echo $result;
// <link rel="stylesheet" type="text/css"
// href="custom.css" media="screen" />
// <link rel="stylesheet" type="text/css"
// href="print.css" media="print" />title
Phalcon\Html\Helper\Title creates a <title> tag.
| Parameter | Description |
|---|---|
string $indent |
The indent |
string $delimiter |
The delimiter |
Methods
public function append(
string $text,
bool $raw = false
): TitleAppends text to the current document title
public function get(): stringReturns the title
public function set(
string $text,
bool $raw = false
)): TitleSets the title
public function setSeparator(
string $separator,
bool $raw = false
)): TitleSets the separator
public function prepend(
string $text,
bool $raw = false
): TitlePrepends text to the current document title
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Ul;
$escaper = new Escaper();
$helper = new Ul($escaper);
$options = [
'id' => 'carsList',
]
$result = $helper();
$result
->setSeparator(' | ')
->set('<Dodge>')
->append('< Ferrari', true)
->prepend('Ford <')
;
echo $result->get();
// < Dodge >
echo $result;
// <title>Ford > | < Dodge > | < Ferrari</title>ul
Phalcon\Html\Helper\Ul creates a <ul> tag.
| Parameter | Description |
|---|---|
string $indent |
The indent |
string $delimiter |
The delimiter |
Methods
public function add(
string $text,
array $attributes = [],
bool $raw = false
): OlAdd an element to the list
<?php
use Phalcon\Html\Escaper;
use Phalcon\Html\Helper\Ul;
$escaper = new Escaper();
$helper = new Ul($escaper);
$options = [
'id' => 'carsList',
]
$result = $helper(' ', PHP_EOL, $options);
$result
->add("Ferrari", "1", ["class" => "active"])
->add("Ford", "2")
->add("Dodge", "3")
->add("Toyota", "4")
;
echo $result;
// <ul id="carsList">
// <li class="active">Ferrari</li>
// <li>> Ford</li>
// <li>> Dodge</li>
// <li>> Toyota</li>
// </ul>