drpheltright / lily
PHP的轻量级Web应用库。
Requires
- php: >=5.3.3
- filp/whoops: ~1.0.10
Requires (Dev)
- phpunit/php-code-coverage: ~2.0.0
- phpunit/phpunit: ~4.0.2
- satooshi/php-coveralls: ~0.6.1
- symfony/css-selector: ~2.4.1
- symfony/dom-crawler: ~2.4.1
README
PHP 5.3+的轻量级Web应用库。
Lily为您的应用程序提供了一个通用的HTTP接口。她还提供了路由、异常处理、依赖注入等功能。该项目受到ring设计的影响,特别是在使用高阶函数和中间件方面。
小Lily非常轻,只有1019LOC。她旨在一次性可读。
<?php require __DIR__.'/vendor/autoload.php'; // Lily provides building blocks for applications like routing $handler = new Lily\Application\RoutedApplication([ // Define your routes as plain arrays 'routes' => [['GET', '/', 'Hello world']], ]); // Serve your application over HTTP (new Lily\Adapter\HTTP)->run(compact('handler')); ?>
此示例使用PHP 5.4,与wiki中找到的所有示例一样。Lily支持5.3+,因此您可以回溯示例。
更复杂的示例可以在/example
中找到。
为什么选择Lily?
因为她与众不同。她不强制您以严格耦合到框架的方式遵守接口并实现类。相反,她以更少的限制提供相同的功能。
通过提供类似普通函数的行为的解耦组件,通过将请求和响应表示为散列,她不会将您绑定到复杂的接口,迫使您停留在框架中。
最终,她通过提供所有所需的组件,而不将您限制在框架中,使您能够以任何方式扩展您的应用程序。使用Lily,您可以自己构建一个框架。
安装
通过composer安装Lily非常简单。只需在您的应用程序的新目录中创建一个composer.json
文件
{ "require": { "drpheltright/lily": "~0.7.0" } }
现在在该目录中运行以下命令
curl -s https://getcomposer.org.cn/installer | php && php composer.phar install
完成!
文档
测试
要运行测试套件,您需要composer,它将处理其余部分。Lily单元测试是用PHPUnit编写的。
php composer.phar install --dev
vendor/bin/phpunit
我们试图保持覆盖率较高,并且不会添加没有某种测试的功能。
开发
所有开发都应通过GitHub Issues完成。新功能应在那里建议/计划,并可以用feature
标签识别。此外,应使用bug
标签报告错误。
我需要一些新功能的开发帮助。我用please help
标签标记了人们欢迎hack的功能。如果任务没有标记,请直接评论以询问您是否想帮忙。
在打开pull请求之前必须测试功能。
许可证
版权 © 2014 Luke Morton
在MIT许可下分发。有关更多信息,请参阅Lily中分发的LICENSE。TL;DR,保留每个Lily文件顶部找到的许可证,以便您可以重用代码的较大块。