cawaphp/cawa

该软件包已被弃用且不再维护。没有建议的替代软件包。

Сáша 框架

dev-master 2018-08-17 07:53 UTC

This package is not auto-updated.

Last update: 2023-12-23 14:46:39 UTC


README

PHP7 Hmvc 框架,专为性能和简单性而构建

Сáша 是一个完整的 HMVC 框架,用于 PHP。它基于两个概念:简单性和性能。

性能:一切都有时间记录,以便快速找到瓶颈。

简单性:为了避免过多的抽象,我做出了一些有争议的选择。过多的抽象往往会导致加载大量的 PHP 类/接口,而 PHP 是在每次请求时诞生和死亡,编译/运行时间(即使在 opcache 的情况下)也会很慢。

警告

请注意,此软件包仍在积极开发中。可能会发生一些破坏性更改。感谢您的理解。

安装

使用以下命令安装最新版本:

$ composer require cawa/cawa

基本用法

use Cawa\Core\HttpApp;
use Cawa\Router\Route;

putenv('APP_ENV=' . HttpApp::DEVELOPMENT);

$app = HttpApp::create(__DIR__);
$app->init();
HttpApp::router()->addRoutes([
    Route::create()->setName("main")->setMatch("/{{O:<name>[A-Za-z0-9]+}}")->setController(function(array $args = array())
    {
        return "Hello " . ($args["name"] ?? "Guest");
    }),
]);
$app->handle();
$app->end();

特性

  • HMVC 框架:因为简单的 MVC 不好用
  • 模板:支持 PhtmlTrait 和 Twig 模板引擎
  • Http 路由器:严格类型 http 路由器,具有本地化 url、控制器和回调
  • 错误处理器:捕获所有错误并使用美观的 HTML 输出
  • Intl 和 l18n:非常简单的键值存储 v
  • 事件:因为事件很酷,并且有助于在您的应用程序中添加计时器
  • Db:不依赖于 PDO 的抽象层
  • HttpClient:一个简单的工作 http 客户端
  • 缓存:Redis 和 Apc 缓存抽象
  • 日志:PSR3 日志记录器,带有 syslog 处理器(其他即将到来)
  • 会话:不使用 PHP 会话处理器的文件会话(db 等即将到来)
  • 集合:可过滤、可排序的可调用对象
  • 电子邮件:使用 Swift_Mailer 作为后端
  • 日期:使用 Carbon 作为后端

关于

性能

我的第一个基准测试可以在每秒 6k 次查询下运行简单的 hello world。在相同的硬件上,我以每秒 350 次查询的速度运行了 symfony3 简单的 hello world 应用程序。

计划支持以下库之一以提升性能:

要求

许可

Cawa 使用 GPL v3 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。