ohworkit/sirius

sirius php 框架

1.2.1 2016-05-08 13:41 UTC

This package is not auto-updated.

Last update: 2024-09-18 17:34:39 UTC


README

License

Sirius 是一个微型网络应用框架。用法类似于 Laravel,但体积小、速度快。只提供路由、blade 模板、数据库操作、Memcache 和 Redis 操作功能

安装

使用 composer 安装

composer require ohworkit/sirius

用法

bootstrap.php

// BASE_PATH
define('BASE_PATH', __DIR__);

// Autoload
require BASE_PATH.'/vendor/autoload.php';

$app = new Sirius\Sirius();
$app->run();

更多信息 Sirius Demo

框架要求

路由

使用 FastRoute - PHP 的快速请求路由器

如何使用 FastRoute

视图引擎

使用 Laravel Blade 模板引擎作为独立组件,简单且功能强大

关于 philo/laravel-blade

您可以使用 Laravel 5 文档中描述的所有 blade 功能:https://laravel.net.cn/docs/templates#blade-templating

Illuminate 数据库

Illuminate Database 组件 是 PHP 的完整数据库工具包,提供表达式查询构建器、ActiveRecord 风格的 ORM 和模式构建器。它目前支持 MySQL、Postgres、SQL Server 和 SQLite。它还作为 Laravel PHP 框架的数据库层。

有关使用此库提供的各种数据库设施的进一步文档,请参阅 Laravel 框架文档

Memcached

config.

"memcache" => array(
    "default" => array(
        "servers" => [
            array("127.0.0.1",11211,5),
            //array(host,port,weight),
        ],
        "persistent_id" => null,
        "options" => array(
            Memcached::OPT_LIBKETAMA_COMPATIBLE => true,
            Memcached::OPT_PREFIX_KEY => "sirius:"
        ),
    ),
),

use.

//by default
Cache::set($key,$value,$expire);
Cache::get($key);

//has other instance
Cache::connection("other config name")->set($key,$value,$expire);
Cache::connection("other config name")->get($key);

Redis

Predis

Redis 的灵活且功能完整的 PHP 客户端库 https://github.com/nrk/predis/wiki

config. 更多信息

"redis" => array(
     "default" => array(
         "parameters" => [
             'tcp://127.0.0.1?alias=master',
             //'tcp://10.0.0.2?alias=slave-01'
         ],
         "options" => [
             //'replication' => true,
             "prefix" => "sirius:",
         ],
     ),
 ),

use.

//by default
SiriusRedis::set($key,$value,$expire);
SiriusRedis::get($key);

//has other instance
SiriusRedis::connection("other config name")->set($key,$value,$expire);
SiriusRedis::connection("other config name")->get($key);

Webbench

相同的 Web 服务器

Sirius

siege -c 500 -t 20s http://sirius.ohworkit.com/


Transactions:		        8997 hits
Availability:		       99.91 %
Elapsed time:		       19.16 secs
Data transferred:	        1.13 MB
Response time:		        0.40 secs
Transaction rate:	      469.57 trans/sec
Throughput:		        0.06 MB/sec
Concurrency:		      189.91
Successful transactions:        8997
Failed transactions:	           8
Longest transaction:	       15.87
Shortest transaction:	        0.15

与 Laravel 5 比较

siege -c 500 -t 20s http://laravel.ohworkit.com/

禁用会话

Transactions:		         465 hits
Availability:		       26.74 %
Elapsed time:		       19.99 secs
Data transferred:	        0.23 MB
Response time:		        2.66 secs
Transaction rate:	       23.26 trans/sec
Throughput:		        0.01 MB/sec
Concurrency:		       61.81
Successful transactions:         465
Failed transactions:	        1274
Longest transaction:	       15.33
Shortest transaction:	        0.17

与 Phalcon 2 比较

siege -c 500 -t 20s http://phalcon.ohworkit.com/

Transactions:		       11034 hits
Availability:		      100.00 %
Elapsed time:		       19.67 secs
Data transferred:	        2.96 MB
Response time:		        0.28 secs
Transaction rate:	      560.96 trans/sec
Throughput:		        0.15 MB/sec
Concurrency:		      155.34
Successful transactions:       11034
Failed transactions:	           0
Longest transaction:	       11.33
Shortest transaction:	        0.13

许可证

Sirius 框架是开源软件,许可协议为 MIT 许可协议