Recommend this page to a friend! |
Download .zip |
Info | Documentation | View files (4) | Download .zip | Reputation | Support forum | Blog (1) | Links |
Ratings | Unique User Downloads | Download Rankings | ||||
Not enough user ratings | Total: 105 | All time: 9,710 This week: 560 |
Version | License | PHP version | Categories | |||
php-router-templete 1.0 | GNU General Publi... | 5 | PHP 5, Templates |
A simple php class to help render template in routers and fix additional slash issue.
You do not have to install, download nor use this class, i wrote the class for my personal needs, the first time i starting using router in my project instead of old ways. The only important the about this class is deep
method which fixed the issue with extra shlash as posted on stackoverflow question here style disappear when i add slash / after route
And making it easy for me to access any defined global variables within the template since am not using any php framework. So please just ignore the project, even though i have claerly documented the class and showed usage sample, it because i like wasing my time on beautiful usles codes and likes to wrap all my ever writing functions is a class because i might need it again. What about composer installation? Yah i know, it free so i used.
Installation is super-easy via Composer:
composer require peterujah/php-router-templete
Initialize RouterTemplate with the necessary parameters and register your custom classes.
$template = new \Peterujah\NanoBlock\RouterTemplate(__DIR__, false);
$template->addUser(new User(User::LIVE))->addFunc(new Functions())->addConfig(new Config());
Render template by passing the directory deep method as the first parameter while optional options array will be the second parameter.
$template->Render("home")->with($template->deep(1));
A shorthand to the above method should be using withDept
method and only passing the directory dept integer as the first parameter while optional options array will be the second parameter.
$template->Render("home")->view(1);
Using the class with Bramus Router or any other php router as you wish. Initialize your router instance
$router = new \Bramus\Router\Router();
Render hompage template using with
and deep
method.
$router->get('/', function() use ($template) {
$template->Build("home")->with($template->deep(0));
});
Render hompage template using view
method.
$router->get('/', function() use ($template) {
$template->Build("home")->view(0);
});
Render update product template with product id as the second url parameter.
$router->get('/update/([a-zA-Z0-9]+)', function($id) use ($template) {
$template->Build("product")->view(1);
/*
Using with method below
$template->Build("product")->with($template->deep(1));
*/
});
Render update product template with product id as second url parameter and passing additional options to the template.
$router->get('/update/([a-zA-Z0-9]+)', function($id) use ($template) {
$template->Build("product")->view(1, [
"foo" => "Our Foo"
"bar" => "Our Bar id {$id}"
]);
});
Accessing all global variables within a template file /router/product.php
.
<?php
/Secure template from unwanted access/
$ALLOW_ACCESS or die("Access Denied");
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Router template</title>
<!-- Unbreakable css path -->
<link href="<?php echo $root;?>assets/bootstrap/css/bootstrap.min.css" rel="stylesheet"/>
</head>
<body>
<h1>News - <?php echo $config::NAME;?></h1>
<?php
/Call Functions methods/
$func->doStuff();
/Call User methods/
$user->doAnything()
/Gets user information/
$person->name;
/Access options from template/
echo $self["foo"];
/Project root directory/
echo $root;
?>
Unbreakable image
<img src="<?php echo $root;?>assets/image/foo.png"/>
Unbreakable link
<a href="<?php echo $root;?>newpage">A New Page</a>
</body>
</html>
Files |
File | Role | Description | ||
---|---|---|---|---|
src (1 file) | ||||
composer.json | Data | Auxiliary data | ||
LICENSE | Lic. | License text | ||
README.md | Doc. | Read me |
php-router-templete-2022-07-19.zip 4KB | |
php-router-templete-2022-07-19.tar.gz 4KB | |
Install with Composer |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.