gillix / framework
Gillix PHP framework
Requires
- php: ^8.0
- ext-json: *
- ext-pdo: *
- erusev/parsedown: *
- gillix/db: *
- monolog/monolog: ^2.0
- psr/log: *
- psr/simple-cache: *
- punic/punic: *
- symfony/cache: ^6.0
- symfony/yaml: *
Suggests
- ext-apcu: Required for APCu cache storage
- ext-memcached: Required for Memcached cache storage
- ext-redis: For using Redis as cache storage
- ext-yaml: In case you want to use yamle format for configurations
- geoip2/geoip2: Allows detect geo information of user
- predis/predis: Alternative ability for Redis cache storage
- dev-master
- 1.1.17
- 1.1.16
- 1.1.15
- 1.1.14
- 1.1.13
- 1.1.12
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.95
- 1.0.94
- 1.0.93
- 1.0.92
- 1.0.91
- 1.0.90
- 1.0.89
- 1.0.88
- 1.0.87
- 1.0.86
- 1.0.85
- 1.0.84
- 1.0.83
- 1.0.82
- 1.0.81
- 1.0.80
- 1.0.79
- 1.0.78
- 1.0.77
- 1.0.76
- 1.0.75
- 1.0.74
- 1.0.73
- 1.0.72
- 1.0.71
- 1.0.70
- 1.0.69
- 1.0.68
- 1.0.67
- 1.0.66
- 1.0.65
- 1.0.64
- 1.0.63
- 1.0.62
- 1.0.61
- 1.0.60
- 1.0.59
- 1.0.58
- 1.0.57
- 1.0.56
- 1.0.55
- 1.0.54
- 1.0.53
- 1.0.52
- 1.0.51
- 1.0.50
- 1.0.49
- 1.0.48
- 1.0.47
- 1.0.46
- 1.0.45
- 1.0.44
- 1.0.43
- 1.0.42
- 1.0.41
- 1.0.40
- 1.0.39
- 1.0.38
- 1.0.37
- 1.0.36
- 1.0.35
- 1.0.34
- 1.0.33
- 1.0.32
- 1.0.31
- 1.0.30
- 1.0.29
- 1.0.28
- 1.0.27
- 1.0.26
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- v1.0.6
- 1.0.5
- 1.0.3
- 1.0.2
This package is auto-updated.
Last update: 2024-03-29 14:26:58 UTC
README
Gillix is one of few frameworks for PHP developers that does not use MVC pattern, instead offering a flexible and intuitive abstraction level based on OOP principles.
Installation
Use composer to install Gillix framework
composer require gillix/framework
About usage
One simple example for a common understanding of how Gillix works
<?php require_once __DIR__.'/vendor/autoload.php'; use function \glx\core\node; $root = node([ 'about' => [ 'type' => 'SECTION', 'Title' => 'About', 'Text' => 'About World', 'order' => 1 ], 'contacts' => [ 'type' => 'SECTION', 'Title' => 'Contact', 'Text' => 'Contact World', 'order' => 3 ], 'products' => [ 'type' => 'SECTION', 'Title' => 'Products', 'Text' => 'Sell World', 'order' => 2 ], 'Title' => 'Home', 'Text' => 'Hello World', 'Header' => function() { ?> <h2 class="header"><?= $this->Title ?></h2> <? }, 'Menu' => function() { ?> <h2 class="menu"> <? $this->root()->select('SECTION')->sort('order')->each(function(){ ?> <span class="item"> <a href="<?= $this->path() ?>"><?= $this->Title ?></a> </span> <? }) ?> </h2> <? }, 'Content' => function() { ?> <div class="content"><?= $this->Text ?></div> <? }, 'main' => function(){ ?> <html lang="en"> <body> <?= $this->Header() ?> <?= $this->Menu() ?> <?= $this->Content() ?> </body> </html> <? } ]); echo $root->about->main();
The result of this example would be:
<html lang="en"> <body> <h2 class="header">About</h2> <div class="menu"> <span class="item"> <a href="/about/">About</a> </span> <span class="item"> <a href="/products/">Products</a> </span> <span class="item"> <a href="/contacts/">Contact</a> </span> </div> <div class="content">About World</div> </body> </html>
And if we add some styles and open in browser than we will get something like this
About
About World
A very simple but working site in 5 minutes! You can do it yourself, this example really works. I don’t think that anyone will need it in this form, unless you need to make something simple really fast.
Gillix provides many more features. Read about all the features of the framework in the full documentation, as well as how to use it in everyday development.