gillix/framework

Gillix PHP 框架

1.1.20 2024-05-16 00:02 UTC

README

Gillix 是为数不多的不使用 MVC 模式,而是基于面向对象原则提供灵活直观抽象层的 PHP 开发者框架之一。

安装

使用composer安装 Gillix 框架

composer require gillix/framework

关于用法

一个简单的示例,以帮助理解 Gillix 的工作方式

<?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();

这个示例的结果将是

<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>

如果我们添加一些样式并在浏览器中打开,我们将得到类似这样的结果

关于

关于 产品 联系

关于世界

5 分钟内创建一个非常简单但实用的网站!你可以自己做到这一点,这个示例确实有效。我不认为有人会以这种形式需要它,除非你真的需要快速制作一些简单的东西。

Gillix 提供了许多其他功能。请参阅完整文档中关于框架所有功能的介绍,以及如何在日常开发中使用它。