mzdr/micro

此包已被放弃,不再维护。未建议替代包。

一款小巧的多功能工具,助您开启下一个大型PHP项目。

3.0.0 2019-10-12 16:00 UTC

This package is auto-updated.

Last update: 2023-07-29 01:30:23 UTC


README

micro

一款小巧的多功能工具,助您开启下一个大型PHP项目。1


功能

  • 使用Gestalt轻松管理您应用程序的配置

    支持PHP、YAML、INI和JSON文件。

  • 使用DoctrineDBAL处理数据库,并可选择使用他们的ORM

    Doctrine数据库抽象与访问层(DBAL)在类似PDO的API周围提供了一个轻量级且薄的运行时层,并提供了许多额外的横向功能,如通过OO API对数据库模式进行内省和操作。

  • 使用BooBoo按照您的要求处理错误。

    BooBoo是一个PHP错误处理器,允许执行处理器和格式化器以查看和管理开发和生产中的错误。它不会出现在您的堆栈跟踪中,专为日志记录设计,旨在扩展,并默认以非阻塞方式处理错误。

  • 使用FastRoute设置闪电般的快速路由。

    这是一个基于快速表达式的PHP请求路由器。有关更多详细信息,请参阅这篇文章

  • 使用Plates的本地PHP模板。

    Plates是为喜欢使用本地PHP模板而不是编译模板语言的开发者设计的,如Twig或Blade。它支持布局、继承、命名空间、数据共享,并内置了转义辅助工具。

  • ⚡️ 使用Scrapbook进行缓存,加速您的(动态)Web应用程序。

    PHP缓存库,具有Memcached、Redis、Couchbase、APC(u)、SQL和其他适配器,并在此基础上构建了附加功能(例如事务、stampede保护)。


要求

PHP 7.1.3+,并建议启用URL重写


安装

建议您使用Composer安装此框架。

composer require mzdr/micro

用法

micro基本上只是一些位于名为µ的单个命名空间下的包装函数。您在./micro/functions中看到的每个文件都也可以作为具有相同名称的函数使用。

让我用代码和您交流... 😎

<?php

// Returns the instance of the Gestalt (@samrap/gestalt) library.
µ\config();

// You can pretty much do anything you like with it.
$config = µ\config();
$special_var = $config->get('my.stored.variable');


// Need to register routes with the
// FastRoute (@nikic/FastRoute) instance?
µ\router()->get('/home', function () {

    // 🌈 Use your imagination…

    // How about we use the Plates
    // (@thephpleague/plates) template engine? 🤩
    echo µ\template()->render('home');
});


// Tired of typing µ? 😫 Join the club!
namespace µ {
    router()->get('/', function () {
        $key = 'my-heavy-op';
        $ttl = 300;
        $value = "cached for $ttl seconds.";

        if (cache()->has($key) === false) {
            sleep(2); // So so heavy…

            cache()->set($key, $value, $ttl);

            return $value;
        }

        return cache()->get($key);
    });
}

// Out there in strange places? 👽 Import it!
namespace alien {
    use function µ\config;

    $done = config()->get('get.it.done');
}

只需遵循以下列出的每个库的官方文档,或者跳转到./micro/functions文件夹,查看内部结构。

函数 文档
µ\config() https://github.com/samrap/gestalt-docs
µ\database() https://www.doctrine-project.org/
µ\error() http://booboo.thephpleague.com/
µ\router() https://github.com/nikic/FastRoute
µ\template() http://platesphp.com/
µ\cache() https://www.scrapbook.cash/

引导启动

您赶时间吗?引导启动一个空白、可查看的 µ 项目!

  1. 创建一个新的项目目录并跳入其中。

    mkdir fancy-project && cd $_
  2. 安装 µ

    composer require mzdr/micro
  3. 引导启动它。

    ./vendor/mzdr/micro/bootstrap
  4. 这就完成了! 现在您该如何查看您的项目呢?

    • 创建一个虚拟主机并将文档根目录指向 public 文件夹,或者…

    • 启动PHP的内置Web服务器或者…
      (不支持 .htaccess,您必须包含资源 而不$this->asset(…)缓存破坏)

    • 只需通过您的本地Web服务器浏览到 public 文件夹。
      (您可能需要调整 µ.paths.public 在您的 configs/master.yaml 中)


许可证

本项目采用MIT许可证




1它可能小巧强大,但并不是每个工作的正确工具。