1. Go to this page and download the library: Download simphotonics/node library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
simphotonics / node example snippets
use Simphotonics\Node\HtmlNode;
use Simphotonics\Node\HtmlLeaf;
$img = new HtmlLeaf(
kind: 'img',
// Element attributes are specified in array format!
attributes: [
'id' => 'logo',
'src' => 'assets/images/logo.jpg',
'alt' => 'Logo'
]
);
// All input array entries are optional. If no element kind is specified it defaults to div.
$div = new HtmlNode();
// Attributes and content can be added later.
$div->setAttr(['id' => 'demo-div'])->setCont('Text within the div element.');
$p = new HtmlNode(
kind: 'p',
attributes: [
'class' => 'demo-paragraph'
],
// The (string) content of an element.
content: 'This is the paragraph text.',
// An array of child nodes.
childNodes: [$img,$div]
);
print $p;
use Simphotonics\Node\HtmlLeaf;
use Simphotonics\Node\HtmlNode;
use Simphotonics\Node\HtmlCssLink;
use Simphotonics\Node\HtmlTitle;
// DTD
$dtd = new HtmlLeaf(
kind: '!DOCTYPE',
content: 'html'
);
// HTML document
$doc = new HtmlNode(
kind: 'html',
attributes: [
'xml:lang' => "en-GB",
'lang' => "en-GB"
]
);
// Web page title
// The title is set dynamically depending on the current URI.
// Example: www.samplesite.com/about-us => Title: My Site - About Us
$title = new HtmlTitle('My Site');
$encoding = new HtmlLeaf(
kind: 'meta',
attributes: [
'http-equiv' => 'Content-Type',
'content' => 'text/html',
'charset'=>'utf-8'
]
);
$icon = new HtmlLeaf(
kind: 'link',
attributes: [
'rel' => 'shortcut icon',
'href' => asset('favicon.ico')
]
);
// The input path tells the class HtmlCssLink that style files are located in '/style'.
// If the current URI is www.samplesite.com/about-us,
// the style file is assumed to be /style/AboutUs.css.
$css = new HtmlCssLink('/style');
// Head
$head = new HtmlNode(
kind: 'head',
attributes: ['id' => 'head'],
childNodes: [$encoding, $title, $icon, $css]
);
$body = new HtmlNode(
kind: 'body',
attributes: ['id' => 'body']
);
// We are using a two column layout.
$col1 = new HtmlNode(
kind: 'div',
attributes: ['id' => 'col1']
);
// This demonstrates cloning of nodes.
$col2 = clone $col1;
$col2->setAttr(['id' => 'col2']);
$footer = new HtmlNode(
kind: 'div',
attributes: ['id' => 'footer']
);
// Compose emtpy template
$body->append([$col1,$col2,$footer]);
$doc->append([$head,$body]);
// Load empty document
new HtmlLeaf(
kind: 'p',
content: 'Information about www.samplesite.com.'
);
$imgAboutUs = new HtmlLeaf(
kind: 'img',
attributes: [
'id' => 'img-about-us',
'src' => 'assets/images/aboutUs.jpg',
'alt' => 'About Us'
]
);
// Add content to the empty document
// Add the info paragraph to column 1.
$col1->appendChild($info);
// Note that HtmlNode implements the array access interface.
// $col1 can also be accessed using array notation.
// Example: $doc[0] === $head, $doc[1] === $body.
// $doc[1][0] === $col1, $doc[1][1] === $col2.
// The image is added to column 2.
$col2->appendChild($imgAboutUs);
// Render html document
print $dtd;
print $doc;
use Simphotonics\Node\HtmlTable;
\\ Table data
for ($i=1; $i < 9; $i++) {
$data[] = 'Data'.$i;
}
\\ Construct table
$table = new HtmlTable(
$data, // Input data (could also be nodes)
3, // Set table layout to 3 columns
HtmlTable::SET_TABLE_HEADERS, // Enable table headers
2, // Each 2nd row will have the style attribute class="alt"
1 // Omit styling of the first row.
);
$print $table;
// Set number of columns
$table->setNumberOfColumns(4);
// Append data to last row
$table->appendToLastRow(['Data10','Data11']);
// Append new row
$table->appendRow(['Data12','Data13']);
// Delete individual row (note count starts from 0).
$table->deleteRow(1);
// Delete column (count starts from 0).
$table->deleteColumn(2);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.