vanilla / garden
花园框架。
Requires
- php: >=5.4.0
- ext-json: *
- ext-pdo: *
- ext-pdo_mysql: *
- ext-reflection: *
- lib-curl: *
- lib-pcre: *
Requires (Dev)
- bobthecow/faker: dev-master
This package is auto-updated.
Last update: 2020-02-15 03:59:01 UTC
README
Garden是一个用于构建可插拔Web应用程序和API的微型框架。这个框架目前还在开发中,应该被视为预alpha质量代码。
你好,陌生人!
花园框架是在过去四年中我们为Vanilla Forums工作的基础上诞生的。我们建立了一个从简单开始,但已发展成为具有数百个插件和主题的巨大可扩展、可定制的解决方案的论坛。在这些年中,我们学会了在框架中我们需要什么,不需要什么,花园就是结果。
Garden深受当前网络中微型框架工作的启发,尤其是Slim Framework。我们称Garden为微型框架,因为它起源于微型框架,但包含了足够的功能,使其不再被认为是微型。
花园概览
RESTful路由
你可以通过简单地将路由到闭包或控制器来创建简单的API,以创建更高级的应用程序。
插件和事件
使用Garden的插件和事件框架使你的应用程序可扩展。如果你熟悉Vanilla,可以将插件视为插件和应用程序的联合。
Garden的Event
对象允许你绑定到事件并触发你自己的事件。事件允许进行几乎无限定制的操作,无需重新实现大量代码。你可以只绑定到你需要的少数几个事件,并捕捉你需要的功能。
面向对象,但不过度
我们热爱对象,Garden有一个坚实的面向对象基础。然而,我们相信并非所有事物都必须是对象,类结构实际上只能深入到一定程度。对我们来说,使用Garden开发是一种美学体验,过多的对象配置会与此目标背道而驰。
由Composer支持
Composer是PHP世界中的神奇包管理器。Garden作为一个Composer包实现,使其易于使用并与其他数千个Composer包结合。
单元测试
Garden使用PHPUnit和Travis CI进行测试。我们想确保Garden是高质量的软件,在添加新功能时不会出现故障。我们的目标是实现所有报告的bug作为单元测试,以确保它们可以被修复并永远不会再次发生。
开源
Garden 是一款在 MIT 许可证下免费、开源的软件。
安装
Garden 需要 PHP 5.4 或更高版本。
Garden 遵循 PSR-4 规范,并可以使用 composer 安装。只需在您的 composer.json 文件中添加 vanilla/garden
即可。
"require": { "vanilla/garden": "*" }
一个基本的 Garden 应用程序
大多数 Garden 应用程序会使用 .htaccess 文件来实现美观的 URL,并定义一个 index.php 文件,如下所示
// Put your index.php in the Garden namespace or import the various classes you need. namespace Garden; // Define the root path of the application. define('PATH_ROOT', __DIR__); // Require composer's autoloader. require_once __DIR__.'/vendor/autoload.php'; // Instantiate the application. $app = new Application(); // Load the default config from conf/config.json.php. Config::load(); // Enable addon functionality. Addons::bootstrap(); // enables config('addons') // Fire the bootstrap event so that overridable function files can be included. Event::fire('bootstrap'); // Register routes to functions. $app->route('/hello', function () use ($app) { echo "Hello World!"; }); // Register a route to controllers. $app->route('/api/', '%sApiController'); // Run the application. $app->run();
更多内容即将到来
此“read-me”文档仍在完善中。