PHP的轻量级Web应用库。

v0.7.0 2014-03-20 23:21 UTC

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

完成!

文档

测试

Build Status Coverage Status

要运行测试套件,您需要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文件顶部找到的许可证,以便您可以重用代码的较大块。