📦 This is a repository of centralized management of all swoft core components

Overview

Swoft Component

Actions Status Build Status GitHub tag (latest SemVer)

This repository is used to manage all swoft core components.

中文说明

中文说明请查看 README.zh-CN.md

IMPORTANT

All components will NOT be modified in the original repository of ext component, SHOULD ALWAYS be modified in this repository, also commit and push to this repository, and then @swoft-bot would sync changes to the original repository of component by git subtree push, notice that this action needs triggered by the repositories owner.

Usage

Add require to composer.json

"require": {
    "swoft/ext": "dev-master as 2.0"
}

Install:

composer update

Unit Tests

Quick run tests for component:

// For all components
./phpunit.sh all
// For multi components
./phpunit.sh db event
// For one component
./phpunit.sh event

Only tests an special component:

./phpunit.sh event
// use run.php
php run.php -c src/event/phpunit.xml
// filter test method name
php run.php -c src/event/phpunit.xml --filter testAddModule

Output coverage data:

// output coverage. require xdebug ext
phpunit --coverage-text
// output coverage without xdebug
phpdbg -dauto_globals_jit=Off -qrr /usr/local/bin/phpunit --coverage-text
phpdbg -dauto_globals_jit=Off -qrr run.php --coverage-text -c src/event/phpunit.xml

Releases

Please see https://github.com/swoftlabs/swoft-releasecli

Document

Discuss

Contributing

The development team welcomes you to submit PR (Pull Request) to us, but to ensure code quality and uniform style, go to the official main repository swoft/swoft and Development repository, Note the code and commit format when contributing code

Precautions when initiating PR

  • Please do not submit PR to each sub-repository, they are all read-only
  • The development repository for the core components is swoft/swoft-component
  • The development repository for extension components is swoft/swoft-ext
  • Please fork the corresponding development warehouse. After modification, please submit your PR to the corresponding development warehouse.

Officially syncs code to individual sub-warehouses when new versions are released

Commit Message

  • the commit message can only be in English
  • Please try to ensure that the commit message is meaningful
  • it is best to start with the keyword add: update: fix:

Code Style

  • Submitted PHP code Must Follow PSR-2 code style
  • Reasonable and meaningful class, method, variable naming
  • Appropriate comments, reasonable use of blank lines to keep the code simple and easy to read
  • Don't include some meaningless information such as @author, etc. (author is that can be seen from the commit log)
Comments
  • 修复自定义注解无法使用Aop切面编程的BUG

    修复自定义注解无法使用Aop切面编程的BUG

    方便用户定义方法类型注解

    namespace SwoftTest\Aop\Annotation;
    
    use Swoft\Bean\Annotation\CustomMethod;
    
    /**
     * Class DemoAnnotation
     * @Annotation
     * @Target("METHOD")
     * @package SwoftTest\Aop\Annotation
     */
    class DemoAnnotation extends CustomMethod
    {
    
    }
    

    以及对应的Parser

    namespace SwoftTest\Aop\Parser;
    
    use Swoft\Bean\Annotation\CustomMethod;
    use Swoft\Bean\Parser\CustomMethodParser;
    
    class DemoAnnotationParser extends CustomMethodParser
    {
    
    }
    

    Aspect

    use Swoft\Aop\ProceedingJoinPoint;
    use Swoft\Bean\Annotation\Around;
    use Swoft\Bean\Annotation\Aspect;
    use Swoft\Bean\Annotation\PointAnnotation;
    use Swoft\Bean\Annotation\Cacheable;
    use Swoft\Bean\Annotation\CachePut;
    use SwoftTest\Aop\Annotation\DemoAnnotation;
    
    /**
     * @Aspect
     * @PointAnnotation(
     *     include={
     *         Cacheable::class,
     *         CachePut::class,
     *         DemoAnnotation::class
     *     }
     * )
     * @uses      AnnotationAspect
     * @version   2017年12月27日
     * @author    stelin <[email protected]>
     * @copyright Copyright 2010-2016 swoft software
     * @license   PHP Version 7.x {@link http://www.php.net/license/3_0.txt}
     */
    class AnnotationAspect
    {
        /**
         * @Around
         */
        public function around(ProceedingJoinPoint $proceedingJoinPoint)
        {
            $tag = ' around before ';
            $result = $proceedingJoinPoint->proceed();
            $tag .= ' around after ';
            return $result.$tag;
        }
    }
    

    调用下面方法时,就可以走Aop 切面了

    namespace SwoftTest\Aop;
    
    use Swoft\Bean\Annotation\Bean;
    use Swoft\Bean\Annotation\Cacheable;
    use Swoft\Bean\Annotation\CachePut;
    use SwoftTest\Aop\Annotation\DemoAnnotation;
    
    /**
     *
     * @Bean
     * @uses      AnnotationAop
     * @version   2017年12月27日
     * @author    stelin <[email protected]>
     * @copyright Copyright 2010-2016 swoft software
     * @license   PHP Version 7.x {@link http://www.php.net/license/3_0.txt}
     */
    class AnnotationAop
    {
        /**
         * @DemoAnnotation
         * @return string
         */
        public function demoAnnotation()
        {
            return 'demo';
        }
    }
    
    opened by limingxinleo 7
  • Add CookieManager and cookie() functions and some optimize

    Add CookieManager and cookie() functions and some optimize

    1. Pull up withContent() and withCookie() methods from Server Response to Base Response

    2. Add RequestContext::get() and RequestContext::set() alias methods for RequestContext::getContextDataByKey() and RequestContext::setContextDataByKey()

    3. Add third argument $rememberDefault for RequestContext::get() method, it's a BOOL value, default value is FALSE, if this value is TRUE, then method will save $default by $key when default value been processed

    4. Add CookieManager and cookie() functions for more easier to use Cookies in Controller

    Usage:

    1. Get the CookieManager of current request
      \cookie()

    Note that the Container of CookieManager is bound with Request Context

    1. Add Cookie to current Response
      \cookie()->add($name, $value); Other arguments are optional.

    2. Remove a Cookie from container \cookie()->remove($name);

    3. Get all added Response Cookies \cookie()->all();

    Note that it's different with Request Cookies, here just the cookies that you added by CookieManager It is same way to get the Request Cookies, $request->cookie() Cause Request Cookies only provide Name and Value of Cookies, without other arguments, it is incomplete Cookie

    opened by huangzhhui 7
  • add: Added support of QueryBuilder column functions

    add: Added support of QueryBuilder column functions

    修复字段不可为函数调用的问题

    Example:

    Query::table($tableName)
        ->groupBy('tagId')
        ->get([
            'tagId' => 'tagId',
            'count(1)' => 'sum'
        ])->getResult();
    

    Error:

    SELECT `tagId` AS `tagId`, `count(1)` AS `sum` FROM `tableName` GROUP BY tagId
    
    # `count(1)` AS `sum`
    

    Feature:

    SELECT `tagId` AS `tagId`, count(1) AS `sum` FROM `tableName` GROUP BY tagId
    
    # count(1) AS `sum`
    
    opened by HZMarico 5
  • 修改连接池配置的timeout字段为float

    修改连接池配置的timeout字段为float

    修改原因

    • 因为Swoole Client、Swoole Mysql等的超时时间为毫秒级,所以只能传入int(秒)有些不合理。

    本次修改将会对自己写的PoolConfig可能会有影响,请检查自己的代码是否存在以下两种情况

    • 自己的PoolConfig实现了PoolConfigInterface接口。
    • 自己的PoolConfig继承了PoolProperties,但是重写了getTimeout()方法
    opened by limingxinleo 5
  • add: Added support of QueryBuilder column alias

    add: Added support of QueryBuilder column alias

    修复无法使用数据表列字段别名问题

    Example:

    Query::table(User::class)->one([
        'sex' => 'sex',
        'name' => 'nickName'
    ])->getResult();
    
    # 此处将数据表name字段,别名为nickName
    

    Error Message:

    Undefined index: nickName
     /Library/WebServer/duomai/data-server/vendor/swoft/db/src/Helper/EntityHelper.php:62
     /Library/WebServer/duomai/data-server/vendor/swoft/db/src/QueryBuilder.php:1438
     /Library/WebServer/duomai/data-server/vendor/swoft/db/src/DbDataResult.php:28
     /Library/WebServer/duomai/data-server/vendor/swoft/db/test/Cases/Mysql/QueryBuilderTest.php:526
     /Library/WebServer/duomai/data-server/vendor/phpunit/phpunit/src/TextUI/Command.php:186
     /Library/WebServer/duomai/data-server/vendor/phpunit/phpunit/src/TextUI/Command.php:116
    

    主要原因为QueryBuilder潜在的逻辑BUG 导致使用时,会进行 EntityHelper::formatListByType 从而在制定列别名后,无法返回数据

    且,未通过Entity进行的查询,仍然进行了EntityHelper::formatListByType 性能,以及逻辑上,存在冗余损耗

    Feature:

    Query::table(User::class)->one([
        'sex' => 'sex',
        'name' => 'nickName'
    ])->getResult();
    
    # 返回 ['sex' => 2, 'nickname' => '名称' ]
    

    顺手也把get,获取多条数据的相同问题也修复了

    Query::table(User::class)->get([
        'sex' => 'sex',
        'name' => 'nickName'
    ])->getResult();
    
    opened by HZMarico 4
  • QueryBuilder根据Entity注解参数主动切换数据库

    QueryBuilder根据Entity注解参数主动切换数据库

    Entity注释如下

    /**
     * Model\Entity
     * @Entity(instance="other")
     * @Table(name="tableName")
     */
    class Entity extends Model
    {
    }
    

    代码调用如下

    Query::table(Entity::class)->get()->getResult();
    

    原代码方案

    Query::table(Entity::class)->selectInstance('other')->get()->getResult();
    
    opened by HZMarico 4
  • 增加DB验证器

    增加DB验证器

    FIx

    2018-07-19 16:46:48 [warning] [SwoftDemoTieba] [logid:5b504ff83cf05] [spanid:0] trace[Executor.php:516,Swoft\Db\Executor::validate] 验证器不存在,beanName=DbTinyintValidator

    opened by limingxinleo 4
  • 修改 当通过QueryBuilder查询一条数据时,会报错的BUG

    修改 当通过QueryBuilder查询一条数据时,会报错的BUG

    当通过QueryBuilder查询一条数据时,因为在addGetDecorator方法中,已经把Array 修改成了Collection,所以当调用arrayToEntity时,会报错 Argument 1 passed to Swoft\Db\Helper\EntityHelper::arrayToEntity() must be of the type array, object given

    opened by limingxinleo 4
  • Update doctrine/annotations requirement from ^1.6 to ^1.6 || ^2.0

    Update doctrine/annotations requirement from ^1.6 to ^1.6 || ^2.0

    Updates the requirements on doctrine/annotations to permit the latest version.

    Release notes

    Sourced from doctrine/annotations's releases.

    2.0.0

    Release Notes for 2.0.0

    Backwards incompatible release (major)

    2.0.0

    • Total issues resolved: 0
    • Total pull requests resolved: 6
    • Total contributors: 2

    BC-Break

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 0
  • fix: swoft-cloud/swoft/issues/1472

    fix: swoft-cloud/swoft/issues/1472

    What does this PR do?

    修复 当rpc服务端处理超时而导致客户端 timeout 时,客户端中使用同一 connection 的后续请求会得到上一次请求的处理结果 类似这种

    Does this fix any issues or need any specific reviewers?

    Fixes: swoft-cloud/swoft# Reviewers: @

    opened by gphper 0
  • Update Connection.php

    Update Connection.php

    What does this PR do?

    fix this issue: https://github.com/swoft-cloud/swoft/issues/1365

    Does this fix any issues or need any specific reviewers?

    Fixes: swoft-cloud/swoft#1365 Reviewers: @inhere @sakuraovq

    Motivation

    question: 生產環境大量連線時,會出現 MySQL server has gone away。

    MySQL setting: interactive_timeout = 60 wait_timeout = 60

    swoft: db 使用讀寫分離設定 db.pool 設定:

    'db.pool' => [
            'class' => Pool: :class,
            'database' => bean('db'),
            'minActive' => 10,
            'maxActive' => 30,
            'maxWait' => 15,
            'maxWaitTime' => 15,
            'maxIdleTime' => 30,
        ]
    
    

    More

    • [ ] Added/updated tests
    • [ ] Added/updated documentation new or old

    Additional Notes

    enhancement PR: processing kind/db 
    opened by andiechang 1
  • Improve PhpRedisConnector class: add auth option (username and passwo…

    Improve PhpRedisConnector class: add auth option (username and passwo…

    PHPRedis 3.5 support auth as array ['username', 'password'] or ['user' => 'username', 'pass' => 'password'].

    Because password property in RedisDb has type string, I added support for new option for Redis db connection option - "auth".

    For example:

    'redis-master' => [ 'class' => RedisDb::class, ... 'option' => ['auth' => ['user' => 'username', 'pass' => 'password']], ]

    Swoole 4.5.8 change signature of Response::cookie() method: add priority argument

    enhancement 
    opened by lifinsky 1
  • update: dynamic process number

    update: dynamic process number

    What does this PR do?

    Dynamic process number

    Motivation

    When I modify workerId array, I must change the process number by hand.

    More

    • [x] Added/updated tests
    • [ ] Added/updated documentation
    PR: waiting review PR: waiting merge kind/process 
    opened by hemengze 1
  • optimize: support customer defined getter for Entify, reference issu…

    optimize: support customer defined getter for Entify, reference issu…

    …es # 1322

    What does this PR do?

    支持用户自定义模型getter

    Motivation

    业务数据库设计中,经常使用英文逗号分隔的字段,或json_encode过的字段,通常希望取出来的时候是数组,方便直接返回给前端。但目前使用entity:create的默认是string类型,如果修改 实体的getter强制 explode(',' $val)并返回数组时,读取数据没有问题,但插入、更新操作的时候报错 array to string...,参考 swoft-cloud/swoft#1322

    PR: waiting review PR: waiting merge 
    opened by first236108 2
Releases(v2.0.11)
  • v2.0.11(May 10, 2021)

    Change Log

    Fixed

    • fix type error on throw db exception https://github.com/swoft-cloud/swoft-component/commit/ee5814523fa505a576029f5e58edd88889b9e708
    • fix: Redis::scan 方法 迭代值不返回问题修复 https://github.com/swoft-cloud/swoft-component/commit/e6b3304e2e412b9efd2b9bdc7a49d454dd90cf83
    • fix. PDOException的code可能为字符串 https://github.com/swoft-cloud/swoft-component/commit/2e82980a4a770014fd99e6c13e67807c542da091
    • fix: Class 'Swoole\Coroutine' not found https://github.com/swoft-cloud/swoft-component/commit/2340d5a10fd92354a1944a09a8f61a725ae228aa
    • fix. Redis释放连接时的内存泄漏 https://github.com/swoft-cloud/swoft-component/commit/b9a3b8c8f5e2d6fa00453a2b19b03cb27c813f12
    • fix swoole version error https://github.com/swoft-cloud/swoft-component/commit/671049bb7c2b634bdd16545e97a51f2e7b5fee5f
    • fix unit test error for config https://github.com/swoft-cloud/swoft-component/commit/c29940c9890afdcf521bc09c025402de606f65ff
    • fix unit test error for config yaml https://github.com/swoft-cloud/swoft-component/commit/757ed9f84f9d340edbaf9a4326994b3ff59cf110
    • fix unit test error for framework https://github.com/swoft-cloud/swoft-component/commit/2de84396a4716603cae3e056a5cf88814f87b2f5
    • fix unit test error https://github.com/swoft-cloud/swoft-component/commit/0214904da72181a96c85ccd3399d068c8555b1ab
    • fix task test error https://github.com/swoft-cloud/swoft-component/commit/e658da8921fee6cc77fbebec86580472b50896b3
    • fix: php8 Compilation failed: unrecognized character https://github.com/swoft-cloud/swoft-component/commit/cbd4ba5bd1756ccbdd33556fa106e1d299f7fa5d
    • fix unit test method is error https://github.com/swoft-cloud/swoft-component/commit/7df85aa92b2f53b5fa81254366de1ebd6385f115
    • fix: unit tests eror https://github.com/swoft-cloud/swoft-component/commit/faf1594c04ed50cd896c380ae58300f1f472f9ae
    • fix: swoft-cloud/swoft/issues/1373 rpc class error on use multi pool https://github.com/swoft-cloud/swoft-component/commit/d1c090bf08070127d0bbbd142897a96a24c0afee
    • up: cs fix for the stdlib package https://github.com/swoft-cloud/swoft-component/commit/1c469f7abc3b27d2ba9442ed9b925aa85d77c5fe
    • up: run cs fixer for redis package https://github.com/swoft-cloud/swoft-component/commit/f93faf71f1c768358b49719807451c2f45e324b4

    Update

    • Update php.yml https://github.com/swoft-cloud/swoft-component/commit/5f30a8e13f5ae40cb972fc26d5ae6eaf5e8772ba
    • Update MockHttpResponse.php https://github.com/swoft-cloud/swoft-component/commit/b35c1f996c12c41d5de623ee98567eae9309495c
    • Update MockResponse.php https://github.com/swoft-cloud/swoft-component/commit/66835fa92b7a202a3c40d2838cd28f1f583fc1e4
    • update. PIPE_MESSAGE事件结束后触发COROUTINE_DEFER, COROUTINE_COMPLETE https://github.com/swoft-cloud/swoft-component/commit/8ba3c8d97c63aa47f63cdf6f3cd90bf9ed4ecc0f
    • update for swoole install https://github.com/swoft-cloud/swoft-component/commit/e3154b1d4e8916f5081aa20002e38655e9f59f6f
    • up: add new version to all composer.json https://github.com/swoft-cloud/swoft-component/commit/8c7b47b687689f242897e7336c3681a1c9cab320
    • up: update the phpunit version https://github.com/swoft-cloud/swoft-component/commit/000e94118897972eb16530f82e37b81f66ef0a01
    • up: add github action for tests https://github.com/swoft-cloud/swoft-component/commit/0c92ee31070579746f995fe3918efdc89768e4bd
    • update: use expectException() instead of @expectedException https://github.com/swoft-cloud/swoft-component/commit/090241bbc4d331440f4d90a11410390a599cf501
    • update some for action config https://github.com/swoft-cloud/swoft-component/commit/53dad7f330b6b5ef71a607907510b6343132324e
    • update readme https://github.com/swoft-cloud/swoft-component/commit/a159af849882420f736faf35c5246dcc183ac386
    • up: optimize log for output json https://github.com/swoft-cloud/swoft-component/commit/2a5774da84e0a6c79a94ba47ac4368de52b08bd4

    Feature

    • new: add github action for relase version https://github.com/swoft-cloud/swoft-component/commit/77a44ec9044b5fc88c9646bc039732fb5e186ffe

    Other

    • trigger ci tests https://github.com/swoft-cloud/swoft-component/commit/5dfe9325dc3bf940a634d3a1a04dc06302359c98
    • run php-cs-fixer for the src/redis/src https://github.com/swoft-cloud/swoft-component/commit/82be8fc5b27f597b49e29506bef4ad1386ddccbf
    Source code(tar.gz)
    Source code(zip)
  • v2.0.10(May 9, 2021)

    Change Log

    Fixed

    • fix: swoft-cloud/swoft/issues/1222 compatible ws setting open_websocket_close_frame https://github.com/swoft-cloud/swoft-component/commit/e6428a5603e5670619f4c42cbe28b7a638aea3d1
    • fix: swoft-cloud/swoft/issues/1146 add try catch for coroutine complete handle https://github.com/swoft-cloud/swoft-component/commit/da237cb75e5d213d7c4562fc5923667d56a69a06
    • fix: swoft-cloud/swoft/issues/1266 https://github.com/swoft-cloud/swoft-component/commit/18aeabfa893fc66a109e6b79940ebe7997511bbe
    • fix some error for ws server https://github.com/swoft-cloud/swoft-component/commit/4aaed75c5829a830b248ee4fe713ca5e7694f643
    • Closes swoft-cloud/swoft/issues#1274 https://github.com/swoft-cloud/swoft-component/commit/5db6b2f65da8f1b02eb042d2d2b182a6a9c945dd
    • fix: swoft-cloud/swoft/issues/1286 collect params error https://github.com/swoft-cloud/swoft-component/commit/f279153f7524431f2a2e4e7cd138d1fdbc1d866b
    • fix: swoft-cloud/swoft/issues/1290 event error on concurrency requests https://github.com/swoft-cloud/swoft-component/commit/6f50b7deaa3c5f8140dff7a442b15027cc738f37
    • fix getter https://github.com/swoft-cloud/swoft-component/commit/94617f267d1be8489969a0e5caab962b44a53e32
    • fix: swoft-cloud/swoft/issues/1315 not release conn on rpc error https://github.com/swoft-cloud/swoft-component/commit/4a7d7cbc9d3de71c6c98e4f8d9f84a2a8ec51e69
    • fix: swoft-cloud/swoft/issues/1303 rpc ext data key is error https://github.com/swoft-cloud/swoft-component/commit/15bad4375c3a255d3e12f5540a657ad3e8ca19cf
    • fix: Redis::zRangeByScore & Redis::zRevRangeByScore https://github.com/swoft-cloud/swoft-component/commit/00d87b68e7de8716524840e9bb295673cd4f52da
    • Global event listener bug fix. https://github.com/swoft-cloud/swoft-component/commit/f028ba91d4f37556312598ae45d1f1192058d079
    • fix: swoft-cloud/swoft/issues/1312 redis not support select command https://github.com/swoft-cloud/swoft-component/commit/7f08af48683143929f672bda0858d310bff02c08
    • fix command execute https://github.com/swoft-cloud/swoft-component/commit/702ab451f495692fe27d2dad571af8db60579ba7
    • fix batchUpdateIds id is string https://github.com/swoft-cloud/swoft-component/commit/5e314e575d4cf673c8fda47422dc5c415b989c1d
    • fix model hiden field https://github.com/swoft-cloud/swoft-component/commit/5559a7c53f74f54c02f063d08899d0d7b81427f2
    • fix method extends error https://github.com/swoft-cloud/swoft-component/commit/2f1552fb07e091625b610693104010bc338becea
    • run php cs fixer on validator https://github.com/swoft-cloud/swoft-component/commit/ceb167657acb5ee8d5db706719dc69f4031c9f22
    • fix unit tests error for validator https://github.com/swoft-cloud/swoft-component/commit/d9667593187a50d288cfde4f026d06c6f0f0a4f7
    • fix: swoft-cloud/swoft/issues/1334 event name is error https://github.com/swoft-cloud/swoft-component/commit/f5b793d91e5e1946d36ca4dadda99fd62d891c4b
    • fix: swoft-cloud/swoft/issues/1297 rpc client version invalid error https://github.com/swoft-cloud/swoft-component/commit/603fee6463d0f77f72a3ad43a0c2bd7f7faf0abf
    • fix aop tests error https://github.com/swoft-cloud/swoft-component/commit/dfb31ac7f4f54c46ed40b39257f8e365f857342e
    • fix swoft version error https://github.com/swoft-cloud/swoft-component/commit/b124af8d28732b373064e630420ee7ab95822fc9

    Update

    • upgrade travis-ci swoole version to 4.4.16 https://github.com/swoft-cloud/swoft-component/commit/3cae6eac85ca59f4e9f522a9127b69e3b1027765
    • add cookie propertiy SameSite https://github.com/swoft-cloud/swoft-component/commit/db4c3b45a8448cdf48a4c12ad09b36119bc92497
    • update: update the swoole version for .travis.yml https://github.com/swoft-cloud/swoft-component/commit/2f015dafa608733f7eb3eca19abd06e60a0dcfac
    • update: add v2.0.10 for package composer.json https://github.com/swoft-cloud/swoft-component/commit/abdcf6f1279f45d0d4b5c1921a6a74ad046bdaba
    • update some for http route https://github.com/swoft-cloud/swoft-component/commit/0366bd90c7e0b01f53d6fc9df5307077eb0bbed2
    • update some for http routes https://github.com/swoft-cloud/swoft-component/commit/449bf02ac271649517da2846cf7e3a42403658df
    • up: swoft-cloud/swoft/issues/1292 allow use empty string on RequestMapping.route https://github.com/swoft-cloud/swoft-component/commit/36cca2026dd95c018194f9ad15d31c95d50c82de
    • update readme, add issue config file https://github.com/swoft-cloud/swoft-component/commit/3144489f15eccea074e80cae1f176701720de54f
    • update issue config firle https://github.com/swoft-cloud/swoft-component/commit/bcebe932b0e258eb8d9bdc9ef94790a2cdd73d52
    • add:add response property to RpcResponseException.php(issue 1278) https://github.com/swoft-cloud/swoft-component/commit/c9454e1a8b4eed2eb2ce4115d4c199cfde1fd3d9
    • Update RpcResponseException.php https://github.com/swoft-cloud/swoft-component/commit/7c5d26df80194e8f5239ffc5aa3fc597b7bc90dd
    • Update label.yml https://github.com/swoft-cloud/swoft-component/commit/6297b88a3e7f14ed55108db5a375ca2d9b86d3d0
    • update some for ws server https://github.com/swoft-cloud/swoft-component/commit/25de3bf4de1eb5cb27512662104e4d24262cc71d
    • update pr doc file https://github.com/swoft-cloud/swoft-component/commit/ab7f0404e0213f5a62409599041be694489a960f
    • add: Redis method https://github.com/swoft-cloud/swoft-component/commit/7e36d14cf41454c6eea408d94359716690356a57
    • Create Dependabot config file https://github.com/swoft-cloud/swoft-component/commit/d326a4166423466c395433aa022c68309ddde177
    • update some https://github.com/swoft-cloud/swoft-component/commit/9046344a9735ba6391e5f5f8bb8ac0e7ad905e14
    • update some .. https://github.com/swoft-cloud/swoft-component/commit/852e75f25d9cc396e567f5cbeeadf6f75474d8e8
    • add comments for process pool https://github.com/swoft-cloud/swoft-component/commit/29977fa2d6da4f0b7a1b5f13ac3f402ef139e1f3
    • add try-catch for dispatch logic https://github.com/swoft-cloud/swoft-component/commit/a7059bf4b59bd451f5655990ee1e12493e67ac21

    Feature

    • Support to passing variables by reference https://github.com/swoft-cloud/swoft-component/commit/cc44a038efbb03e9dfedd324b3e5c9c9cad13b33

    Other

    • 添加sameSite属性 https://github.com/swoft-cloud/swoft-component/commit/c9a8300c242176db8957d2752ee4a226fe8409b0
    • optimize use in_array function https://github.com/swoft-cloud/swoft-component/commit/b23d273377129728735107fee66ca7b546373283
    • Enable Redis Stream function https://github.com/swoft-cloud/swoft-component/commit/1f3dd832c1fd8dd7abfd73b7955ef4b9d21e33c8
    • No reconnection is made when rpc client receive data has timed out https://github.com/swoft-cloud/swoft-component/commit/70d4f506104f33de3debaea3a1ffd910129c047e
    • Array to Object method https://github.com/swoft-cloud/swoft-component/commit/b9b4ca86640588c9c8c4f0496699b499583775f0
    • Multi dimentional array to single dimentional with preserved structure and vice versa https://github.com/swoft-cloud/swoft-component/commit/eca75e9d9cadee11b41bb0251ab45dd8e250dad8
    • coding standard correction https://github.com/swoft-cloud/swoft-component/commit/bd30fd82e882e20e7f7efab6b8d6f066e1bef33e
    • change redis command check https://github.com/swoft-cloud/swoft-component/commit/fd80b95df7ee4bda11a0ef6e6efde54dad8a1999
    • Reverting stdlib changes https://github.com/swoft-cloud/swoft-component/commit/c593da60444964563f236b5de0b640597a5a0064

    genearte by kite gh changelog v2.0.9 v2.0.10 --no-merges --style gh-release --exclude "cs-fixer,format" --repo-url https://github.com/swoft-cloud/swoft-component

    Source code(tar.gz)
    Source code(zip)
  • v2.0.9(Apr 12, 2020)

  • v2.0.8(Jan 19, 2020)

  • v2.0.7(Nov 19, 2019)

  • v2.0.6(Sep 20, 2019)

  • v2.0.3(Jul 9, 2019)

Owner
Swoft Cloud
⚡️ PHP Microservice Coroutine Framework
Swoft Cloud
PSR Log - This repository holds all interfaces/classes/traits related to PSR-3.

PSR Log This repository holds all interfaces/classes/traits related to PSR-3. Note that this is not a logger of its own. It is merely an interface tha

PHP-FIG 10.1k Jan 3, 2023
Fast PHP framework made with very loose optional components.

Nimble is a super fast mini-framework for PHP built on top of optional loose components. Installation Clone the repository $ git clone [email protected]:

Neo 53 Dec 22, 2022
Spiral Framework is a High-Performance PHP/Go Full-Stack framework and group of over sixty PSR-compatible components

Spiral HTTP Application Skeleton Spiral Framework is a High-Performance PHP/Go Full-Stack framework and group of over sixty PSR-compatible components.

Spiral Scout 152 Dec 18, 2022
🔭 Proof of concept on adding observability features (tracing and metrics) to a Nano microservice (using existing Hyperf components).

?? Tracing Nano Proof of concept on adding observability features (tracing and metrics) to a Nano microservice (using existing Hyperf components ?? ).

Leo Cavalcante 4 Oct 24, 2022
Coole is a PHP framework built on open source components

Coole is a PHP framework built on open source components. - Coole 是一个基于开源组件包构建的 PHP 框架。

guanguans 20 Jan 7, 2023
Eine Feature Reiche Core aus Verschiedenen Plugins und Eigenkreation.

CoreV5 ALPHA Du willst helfen? Hier mein Discord! Download und Wichtig Hier downloaden! Das Core Plugin wurde speziell für CityBuild Server entwickelt

TheNote 15 Sep 24, 2022
Improve Core Web Vital score for Magento 2 website

Magento 2 Optimization for Google Insights This modules allows you modify the HTML, Javascript, CSS, update the position, optimize CWV (Core Web Vital

Hoang hieu 9 Oct 25, 2022
CakePHP: The Rapid Development Framework for PHP - Official Repository

CakePHP is a rapid development framework for PHP which uses commonly known design patterns like Associative Data Mapping, Front Controller, and MVC. O

CakePHP 8.6k Dec 31, 2022
Official Zend Framework repository

Welcome to the Zend Framework 3.0 Release! RELEASE INFORMATION Zend Framework 3.0.1dev This is the first maintenance release for the Zend Framework 3

Zend Framework 5.6k Dec 29, 2022
This package provides some basic methods to implement a self updating functionality for your Laravel application. Already bundled are some methods to provide a self-update mechanism via Github or some private repository via http.

This package provides some basic methods to implement a self updating functionality for your Laravel 5 application. Already bundled are some methods to provide a self-update mechanism via Github.

Holger Lösken 311 Dec 31, 2022
This repository holds the code and script for the Symfony5 Tutorials on SymfonyCasts.

Tutorials, Friendship & Symfony5 Well hi there! This repository holds the code and script for the Symfony5 Tutorials on SymfonyCasts. Setup If you've

null 1 Nov 20, 2021
This repository include my own PHP MVC Framework

PHP OWN MVC FRAMEWORK Kendimi geliştirmek ve modern PHP Framework'lerinin işleyişini kavram amacıyla inşa ettiğim profesyonele yakın PHP MVC Framework

Yılmaz Kadan 9 Nov 24, 2022
💾 High-performance PHP application server, load-balancer and process manager written in Golang. RR2 releases repository.

RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager. It supports running as a serv

Spiral Scout 45 Nov 29, 2022
This repository contains a library of optional middleware for your Slim Framework application

Slim Framework Middleware This repository contains a library of optional middleware for your Slim Framework application. How to Install Update your co

Slim Framework 47 Nov 7, 2022
This repository contains custom View classes for the template frameworks

Slim Views This repository contains custom View classes for the template frameworks listed below. You can use any of these custom View classes by eith

Slim Framework 308 Nov 7, 2022
A skeleton repository for Spatie's PHP Packages

:package_description This package can be used as to scaffold a framework agnostic package. Follow these steps to get started: Press the "Use template"

Spatie 335 Dec 25, 2022
a framework for WebDevelop based on the mvc structure. The name of this project for Fun because everyone can use it. Completely simple and powerful structure for all your projects

A_A (-.-) ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ |-| █▄─▄▄─█▄─██─▄█─▄▄▄▄█─▄▄▄▄█▄─█─▄█─▄▄▄─██▀▄─██─▄

MasihGhaznavi 7 Jun 29, 2022
REST APIs using Slim framework. Implemented all CRUD operations on the MySql database

PHP REST API using slim framework and CRUD operations ?? Hi there, this is a simple REST API built using the Slim framework. And this is for the folks

Hanoak 2 Jun 1, 2022
This publication describes a standard filesystem skeleton suitable for all PHP packages

pds/skeleton This publication describes a standard filesystem skeleton suitable for all PHP packages. Please see https://github.com/php-pds/skeleton_r

null 2k Dec 30, 2022