mzdr / micro
一款小巧的多功能工具,助您开启下一个大型PHP项目。
Requires
- php: ^7.1.3
- doctrine/dbal: ^2.8
- doctrine/orm: ^2.6
- jasny/php-functions: ^3.2
- league/booboo: ^2.0
- league/flysystem: ^1.0
- league/plates: ^3.3
- matthiasmullie/scrapbook: ^1.4
- mzdr/oh-snap: ^1.0
- nikic/fast-route: ^1.2
- samrap/gestalt: ^0.3.1
- symfony/validator: ^4.1
- symfony/yaml: ^4.0
- webmozart/path-util: ^2.3
This package is auto-updated.
Last update: 2023-07-29 01:30:23 UTC
README
功能
-
使用Gestalt轻松管理您应用程序的配置。
支持PHP、YAML、INI和JSON文件。
-
使用Doctrine的DBAL处理数据库,并可选择使用他们的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保护)。
要求
安装
建议您使用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/ |
引导启动
您赶时间吗?引导启动一个空白、可查看的 µ 项目!
-
创建一个新的项目目录并跳入其中。
mkdir fancy-project && cd $_
-
安装 µ。
composer require mzdr/micro
-
引导启动它。
./vendor/mzdr/micro/bootstrap
-
这就完成了! 现在您该如何查看您的项目呢?
-
创建一个虚拟主机并将文档根目录指向
public文件夹,或者… -
启动PHP的内置Web服务器,或者…
(不支持 .htaccess,您必须包含资源 而不$this->asset(…)缓存破坏) -
只需通过您的本地Web服务器浏览到
public文件夹。
(您可能需要调整µ.paths.public在您的configs/master.yaml中)
-
许可证
本项目采用MIT许可证。
1它可能小巧强大,但并不是每个工作的正确工具。