High performance, full-stack PHP framework delivered as a C extension.

Overview

Phalcon Framework

Discord Build Status Windows Build Code Coverage Codecov

Contributors

Phalcon Backers OpenCollective OpenCollective

4.1 Pull Requests 4.1 Issues

Phalcon is an open source web framework delivered as a C extension for the PHP language providing high performance and lower resource consumption.

A big thank you to our Backers; you rock!

Getting Started

Phalcon is written in Zephir/C with platform independence in mind. As a result, Phalcon is available on Microsoft Windows, GNU/Linux, FreeBSD and MacOS. You can either download a binary package for the system of your choice or build it from source.

NOTE: Phalcon requires the PSR PHP extension to be installed and enabled.

Installation

For detailed installation instructions you can check our installation page in the docs.

Generating API Documentation

Generating new documentation files for docs repository can be done using the script in tests/_ci/generate-api-docs.php. Steps:

  • Clone the phalcon repo
  • Checkout the tag you would like to generate docs for.
  • Run php tests/_ci/generate-api-docs.php
  • The files *.md files in nikos/api/ will contain the documentation
  • For publishing to the Phalcon website this repo is used.

Links

General

Support

Social Media

Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]

Backers

Support us with a monthly donation and help us continue our activities. [Become a backer]

License

Phalcon is open source software licensed under the BSD 3-Clause License.

Copyright © 2011-present, Phalcon Team.

See the LICENSE.txt file for more. Additional licenses of packages that Phalcon uses, is inspired by or has adapted is located in the 3rdparty/licenses directory.

Comments
  • Strange error after migration to Phalcon 3.0.0

    Strange error after migration to Phalcon 3.0.0

    Hello,

    yesterday, I migrated my project to Phalcon 3.0 (from 2.1 version). And everything worked fine, except now I got very "randomly" this error:

    Fatal error: Uncaught Error: Access to undeclared static property: Phalcon\Di::$_default in C:\xampp-php7-0\htdocs\aplikacija\app\config\services.php:25 Stack trace:
    #0 [internal function]: Phalcon\Di->__construct()
    #1 C:\xampp-php7-0\htdocs\aplikacija\app\config\services.php(25): Phalcon\Di\FactoryDefault->__construct()
    #2 C:\xampp-php7-0\htdocs\aplikacija\public\index.php(25): include('C:\\xampp-php7-0...')
    #3 {main}
    
    Next Error: Access to undeclared static property: Phalcon\Di::$_default in C:\xampp-php7-0\htdocs\aplikacija\app\config\services.php:25 Stack trace:
    #0 [internal function]: Phalcon\Di->__construct()
    #1 C:\xampp-php7-0\htdocs\aplikacija\app\config\services.php(25): Phalcon\Di\FactoryDefault->__construct()
    #2 C:\xampp-php7-0\htdocs\aplikacija\public\index.php(25): include('C:\\xampp-php7-0...')
    #3 {main} thrown in C:\xampp-php7-0\htdocs\aplikacija\app\config\services.php on line 25
    

    On line 25 in my services.php file is where I create instance of DI factory class:

    $di = new FactoryDefault();   ( this is line 25 - error line!)
    $di->setShared('config', function () use ($config) {
        return $config;
    });
    

    I work on Windows, Xampp v3.2.2 with PHP 7.0.8 and Phalcon 3.0.

    Can you help me with this?

    Thanks in advance!

    bug status: low 
    opened by vekyapps 170
  • [NFR] Eager loading support of Phalcon\Mvc\Model

    [NFR] Eager loading support of Phalcon\Mvc\Model

    Once we use model, we always define relationships between models.

    In most cases, we need to implement a list view, displaying objects with its foreign key field's value.

    This will cause a N+1 selects problem (http://use-the-index-luke.com/sql/join/nested-loops-join-n1-problem), slowing down the performance.

    So I think it is necessary to implement the eager loading feature of Phalcon\Mvc\Model.

    opened by hilyjiang 79
  • [NFR] Subqueries in PHQL

    [NFR] Subqueries in PHQL

    Subqueries aren't still supported in PHQL. It would be nice to be able to do it instead of using raw sql.

    Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

    new feature request 
    opened by hugoduraes 70
  • Broken build with PHP 7.1

    Broken build with PHP 7.1

    With 7.1.0beta1

    /builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c: In function 'zephir_get_called_class':
    /builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c:4764:45: error: 'struct _zend_execute_data' has no member named 'called_scope'
      if (EG(current_execute_data)->called_scope) {
                                                 ^
    /builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c:4765:61: error: 'struct _zend_execute_data' has no member named 'called_scope'
       zend_string *ret = EG(current_execute_data)->called_scope->name;
                                                                 ^
    /builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c:4770:24: error: 'zend_executor_globals {aka struct _zend_executor_globals}' has no member named 'scope'
    /builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c: In function 'zephir_read_property':
    /builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c:5069:31: error: 'zend_executor_globals {aka struct _zend_executor_globals}' has no member named 'scope'
    /builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c:5070:19: error: 'zend_executor_globals {aka struct _zend_executor_globals}' has no member named 'scope'
    /builddir/build/BUILD/cphalcon-5372ac7972218b10fd9f08027a7718ea10f191b5/build/NTS/phalcon.zep.c:5090:19: error: 'zend_executor_globals {aka struct _zend_executor_globals}' has no member named 'scope'
      EG(scope) = old_scope;
                       ^
    ...
    
    
    bug status: medium 
    opened by remicollet 67
  • [BUG] v1.3.0 ::findFirst() stopped working as a result of a recent commit

    [BUG] v1.3.0 ::findFirst() stopped working as a result of a recent commit

    Hi,

    It looks like last month has been rough on Phalcon branch 1.3.0.

    My code has suddenly stopped working as a result of commit 7e54b69dcd4c32953c2856c8e92bd29781d4664e:

    Column 'id' doesn't belong to any of the selected models (2), when preparing: SELECT [App\User\Account].* FROM [App\User\Account] WHERE [id] = ?0 AND [record_status] = ?1 LIMIT 1
    
    $parameters = [
        'bind' => [
            0 => 114,
            1 => 1
        ],
        'conditions' => '[id] = ?0 AND [record_status] = ?1'
    ];
    $model = App\User\Account::findFirst($parameters);
    

    Thanks!

    Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

    bug status: medium 
    opened by temuri416 53
  • PHP7 Support

    PHP7 Support

    PHP7 betas should be rolling out next month, so I think at least master should support it for testing purposes.

    In PHP7 etc/standard/php_smart_str.h has been renamed to etc/standard/php_smart_string.h.

    Compilation for master, 2.0.0, and 2.0.x both fail with the following error:

    /tmp/compile_php_phalcon/cphalcon-2.0.x/build/64bits/phalcon.zep.c:184:40: fatal error: ext/standard/php_smart_str.h: No such file or directory #include <ext/standard/php_smart_str.h> ^ compilation terminated. make: *** [phalcon.lo] Error 1

    I don't know C, otherwise would submit a patch. :)

    opened by quantumpacket 51
  • [BUG] Latest build of Phalcon 1.3.0 is crashing PHPEd

    [BUG] Latest build of Phalcon 1.3.0 is crashing PHPEd

    I had not updated 1.3.0 in about 6-7 weeks. Did that just a moment ago and my PHPEd debugger started crashing when breakpoint is triggered.

    I cloned/compiled 1.2.4 - no problem there.

    The message: Fatal error while fetching local variables. Debug session has been terminated.

    The following is being added to /var/log/kern.log:

    kernel: [ 2213.378010] php-fpm[24084]: segfault at 282 ip 00007f87aef644de sp 00007fffbe358110 error 4 in dbg-php-5.5.so[7f87aef4d000+23000]
    

    Also, there's a huge dump file created: /var/crash/_var_web_php_sbin_php-fpm.33.crash.

    I started checking out commits by ID in reverse chronological order and found that problems started with commit ID

    d21bbf9a779dfbb8598ec8608de60b27cf30d927 (12/11/2013 by Andres - Regenerating build [ci skip])
    

    The one before it works fine.

    Please help! :-)

    Thanks!

    opened by temuri416 50
  • [NFR] Voting for your favorite NFR

    [NFR] Voting for your favorite NFR

    There are a lot of great ideas regarding the framework and additional functionality to help developers. Sadly we cannot do everything in one go, so we have been concentrating in bugs mostly and neglecting NFRs. As such, there have been pages and pages of issues as NFRs that never got any attention.

    In an effort to introduce functionality that the community wants mostly, please read the list below (link to the original issue for reference) and vote in the comments by using the number next to each line below. At the end we will gather the top 5-10 (depending on time constraints) and concentrate on those NFRs.

    This issue will be kept open to track the list of NFRs so that we can address them all if possible. If a NFR does not get any support, it does not mean that we will ignore it.

    Thank you

    UPDATE: Voting issue is here: #14608

    discussion 
    opened by niden 48
  • [BUG ... possibly?] Exceptions cause loss of user session when remote debugging is on.

    [BUG ... possibly?] Exceptions cause loss of user session when remote debugging is on.

    OK, I might be completely wrong here. But, you never know - maybe I stumbled upon some obscure real issue - so here it comes.

    I use PHPEd remote debugger when developing. Every time when my application throws an exception and it is caught by PHPEd, AND I decide to terminate script execution, I lose user session.

    If I let the execution continue, session is preserved.

    Session is not lost when debugger is off and it does not matter if exception is left unhandled.

    I have never seen anything similar in all my years dealing with remote debugging. So, my question is - could it be that Phalcon's session handler "forgets" the session variables when exception is thrown and execution is aborted from within the IDE?

    I am 100% sure that PHPEd does not flush any superglobals - I've been debugging Exceptions for a long time and never experienced anything similar.

    I can reliably reproduce this behaviour, if anyone from development team wants to have a closer look.

    Thanks!

    bug status: medium 
    opened by temuri416 48
  • [2.1.x] Model alias in getter function not accessible

    [2.1.x] Model alias in getter function not accessible

    Example: Defined relation with alias "roles" in Model named "User".

    I defined a getter function named getRoles() where I want to access $this->roles results in error: Undefined property: User::$roles

    The relation:

    /**
     * @HasMany(
     *     "id",
     *     "Model\UserRole",
     *     "userId",
     *     {
     *         "alias": "roles"
     *     }
     * )
     */
    

    The function:

        public function getRoles()
        {
            if ($this->getDirtyState() == self::DIRTY_STATE_PERSISTENT) {
                $roles = array();
                foreach ($this->roles as $role) {
                    $roles[] = $role->getRole();
                }
    
                return $roles;
            }
    
            return $this->_roles;
        }
    
    bug status: low 
    opened by michanismus 47
  • [2.0.0] Drop support of PHP 5.3

    [2.0.0] Drop support of PHP 5.3

    I was looked on last commits (2.0 branch) and saw some tweaks for support of PHP 5.3 (e.g. https://github.com/phalcon/cphalcon/commit/e8f77329620f05359447ff7df81fa4bb30dd03e7 ). But PHP 5.3 now EOL ( http://php.net/archive/2014.php#id2014-08-14-1 ), so maybe it's time to ignore it in 2.0 branch?

    Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

    opened by m157y 46
  • [BUG]: Volt Render Notice : Undefined index: name

    [BUG]: Volt Render Notice : Undefined index: name

    Describe the bug When we try to access a public method of a sub class contained in a public property of a root class, Volt generates a Notice. PS : Return value OK

    To Reproduce Steps to reproduce the behavior:

    • 1 : Create Controller and pass to volt an object contain an sub-object
    class TestController extend Controller {
    
       public function indexAction()
       {
           $subObject = new class {
    
                public function getValue() {
                    return 'Value';
                }
    
            };
    
            $rootObject = new class ($subObject) {
    
                public $sub_object = null;
    
                public function __construct($subObject)
                  {
                      $this->sub_object =  $subObject;
                  }
            };
    
            $this->view->testObject = $rootObject
      }
    }
    
    
    • 2 : Create related view (/test/index.volt)
    {{ testObject.sub_object.getValue() }}
    

    Note : If we use a getter for sub_object (like : getsubObject()) it work

    Expected behavior Render without notice

    Details

    • Phalcon version: 5.0RC4
    • PHP Version: 8.1.6
    • Operating System: Debian
    • Installation type: installing via package manager (PECL)
    • Server: Apache
    bug status: unverified 
    opened by kevcomparadise 2
  • Can I use `$this->getRelated` on already cached data?

    Can I use `$this->getRelated` on already cached data?

    Good day!

    Can I use $this->getRelated on already cached data?

    For example:

    1. There is a table addresses. All its values are cached.
    2. There is a peoples table. Each row has an address_id parameter, which is tied to a specific id from the addresses table.

    I am using memcached.

    Tried like this:

    //...Controller
    
    $addresses = Addresses::find();
    $this->cache->set('addressesCache', $addresses, 300);
    
    $people = Peoples::findFirst();
    
    echo $people->getRelated('address', [
      'cache' => [
        'key' => 'addressesCache'
      ]
    ])->id;
    
    // .. Peoples model
    
    public function initialize()
    {
      $this->setSource('peoples');
      $this->belongsTo('address_id', Addresses::class, 'id', [
        'reusable' => true,
        'alias' => 'address',
        'foreignKey' => [
           'allowNulls' => true,
           'message' => 'addressId doesn\'t exists in Addresses model'
        ]
      ]);
    }
    
    // .. Addresses model
    
    public function initialize()
    {
      $this->setSource('addresses');
      $this->hasMany('id', Peoples::class, 'address_id', [
        'alias' => 'people',
        'reusable' => true
      ]);
    }
    

    As a result, the id is displayed, which is assigned to the very first entry in the cache. But if you disable the cache, then everything works as it should.

    opened by destyk 0
  • [BUG]: Phalcon\Annotations\Reader crushes when annotation contains unclosed parentheses

    [BUG]: Phalcon\Annotations\Reader crushes when annotation contains unclosed parentheses

    Describe the bug Phalcon\Annotations\Reader cannot parse from class containing any annotation including unclosed parentheses in its value. If this issue is duplicated or fixed in later versions, please excuse me for not investigating further and close this issue. 🙏

    To Reproduce

    Steps to reproduce the behavior:

    working class code

    class TestClass
    {
        /** @SomeAnnotation(key='value') */
        public string $some_property;
    }
    

    non-working class code

    class TestClass
    {
        /** @SomeAnnotation(key='value(') */
        public string $some_property;
    }
    

    test code

    use Phalcon\Annotations\Reader;
    
    class SampleTest
    {
        public function test(): void
        {
            $reader = new Reader();
            $reader->parse('TestClass');
        }
    }
    

    Expected behavior Smooth parsing done with both working and non-working classes.

    Actual behavior An exception thrown as follows when tested with the non-working class above:

    PHP Phalcon\Annotations\Exception:  Scanning error before '/' in /opt/project/app/models/TestClass.php on line 1 in /opt/project/tests/Unit/common/sample/SampleUnitTest.php on line 24
    PHP Stack trace:
    PHP   1. {main}() /opt/project/vendor/phpunit/phpunit/phpunit:0
    PHP   2. PHPUnit\TextUI\Command::main($exit = *uninitialized*) /opt/project/vendor/phpunit/phpunit/phpunit:61
    PHP   3. PHPUnit\TextUI\Command->run($argv = *uninitialized*, $exit = *uninitialized*) /opt/project/vendor/phpunit/phpunit/src/TextUI/Command.php:95
    PHP   4. PHPUnit\TextUI\TestRunner->run($suite = *uninitialized*, $arguments = *uninitialized*, $warnings = *uninitialized*, $exit = *uninitialized*) /opt/project/vendor/phpunit/phpunit/src/TextUI/Command.php:142
    PHP   5. PHPUnit\Framework\TestSuite->run($result = *uninitialized*) /opt/project/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:667
    PHP   6. PHPUnit\Framework\TestSuite->run($result = *uninitialized*) /opt/project/vendor/phpunit/phpunit/src/Framework/TestSuite.php:677
    PHP   7. Tests\Unit\common\sample\SampleUnitTest->run($result = *uninitialized*) /opt/project/vendor/phpunit/phpunit/src/Framework/TestSuite.php:677
    PHP   8. PHPUnit\Framework\TestResult->run($test = *uninitialized*) /opt/project/vendor/phpunit/phpunit/src/Framework/TestCase.php:884
    PHP   9. Tests\Unit\common\sample\SampleUnitTest->runBare() /opt/project/vendor/phpunit/phpunit/src/Framework/TestResult.php:722
    PHP  10. Tests\Unit\common\sample\SampleUnitTest->runTest() /opt/project/vendor/phpunit/phpunit/src/Framework/TestCase.php:1132
    PHP  11. Tests\Unit\common\sample\SampleUnitTest->testVoid() /opt/project/vendor/phpunit/phpunit/src/Framework/TestCase.php:1526
    PHP  12. Phalcon\Annotations\Reader->parse(*uninitialized*) /opt/project/tests/Unit/common/sample/SampleUnitTest.php:24
    

    Details

    • Phalcon version: 4.0.6
    • PHP Version: 7.4
    • Operating System: MacOS
    • Installation type: installing via package manager
    • Zephir version (if any): N/A
    • Server: Nginx
    • Other related info (Database, table schema): N/A
    bug status: unverified 
    opened by gapki 0
  • The collection does not exist in the manager

    The collection does not exist in the manager

    Hello, I use the framework and just out of nowhere I started getting build errors, can anyone help me to solve it?

    I use docker to run Phalcon and other images.

    image

    bug status: unverified 
    opened by jesselpereira 1
  • [NFR]: v5.0.0 Stable Prep

    [NFR]: v5.0.0 Stable Prep

    • [x] Docs : acl.md
    • [x] Docs : annotations.md
    • [x] Docs : application.md
    • [x] Docs : application-cli.md
    • [x] Docs : application-micro.md
    • [x] Docs : assets.md
    • [x] Docs : autoload.md
    • [x] Docs : cache.md
    • [x] Docs : coding-standard.md
    • [x] Docs : config.md
    • [x] Docs : contributions.md
    • [x] Docs : controllers.md
    • [x] Docs : datamapper.md
    • [x] Docs : db-layer.md
    • [x] Docs : db-migrations.md
    • [x] Docs : db-models.md
    • [x] Docs : db-models-behaviors.md
    • [x] Docs : db-models-cache.md
    • [x] Docs : db-models-events.md
    • [x] Docs : db-models-metadata.md
    • [x] Docs : db-models-relationships.md
    • [x] Docs : db-models-transactions.md
    • [x] Docs : db-models-validation.md
    • [x] Docs : db-odm.md
    • [x] Docs : db-phql.md
    • [ ] Docs : devtools.md
    • [x] Docs : di.md
    • [x] Docs : dispatcher.md
    • [x] Docs : domain.md
    • [x] Docs : encryption-crypt.md
    • [x] Docs : encryption-security.md
    • [x] Docs : encryption-security-jwt.md
    • [x] Docs : environments-nanobox.md
    • [x] Docs : environments-devilbox.md
    • [x] Docs : events.md
    • [x] Docs : filter-filter.md
    • [x] Docs : filter-validation.md
    • [x] Docs : flash.md
    • [x] Docs : forms.md
    • [x] Docs : generating-backtrace.md
    • [x] Docs : html.md
    • [x] Docs : html-escaper.md
    • [x] Docs : html-helper.md
    • [x] Docs : html-link.md
    • [x] Docs : http-factories.md
    • [x] Docs : http-request.md
    • [x] Docs : http-response.md
    • [x] Docs : http-server-request.md
    • [x] Docs : http-stream.md
    • [x] Docs : http-uploaded-file.md
    • [x] Docs : http-uri.md
    • [x] Docs : i18n.md
    • [x] Docs : image.md
    • [x] Docs : index.html
    • [x] Docs : installation.md
    • [x] Docs : introduction.md
    • [x] Docs : logger.md
    • [x] Docs : meta-home.json
    • [x] Docs : meta-topics.json
    • [x] Docs : mvc.md
    • [x] Docs : mvc-url.md
    • [x] Docs : namespaces.md
    • [x] Docs : new-feature-request.md
    • [x] Docs : new-feature-request-list.md
    • [x] Docs : new-pull-request.md
    • [x] Docs : pagination.md
    • [x] Docs : performance.md
    • [x] Docs : queue.md
    • [x] Docs : reproducible-tests.md
    • [x] Docs : request.md
    • [x] Docs : response.md
    • [x] Docs : routing.md
    • [x] Docs : session.md
    • [x] Docs : sponsors.md
    • [x] Docs : static-analysis.md
    • [x] Docs : support-collection.md
    • [x] Docs : support-debug.md
    • [x] Docs : support-helper.md
    • [x] Docs : support-registry.md
    • [x] Docs : tag.md
    • [x] Docs : testing-environment.md
    • [x] Docs : translate.md
    • [x] Docs : tutorial-basic.md
    • [ ] Docs : tutorial-invo.md
    • [x] Docs : tutorial-rest.md
    • [ ] Docs : tutorial-rest-advanced.md
    • [x] Docs : tutorial-vokuro.md
    • [x] Docs : unit-testing.md
    • [x] Docs : upgrade.md
    • [x] Docs : use-case.md
    • [x] Docs : views.md
    • [x] Docs : volt.md
    • [x] Docs : webserver-setup.md
    • [ ] Devtools
    • [x] Migrations (PR ready, waiting for stable)
    • [x] IDE Stubs
    • [ ] Incubator
    • [x] Tutorials : basic
    • [ ] Tutorials : invo
    • [x] Tutorials : rest-api (PR ready)
    • [x] Tutorials : vokuro (PR ready, needs a bit of love for actions)
    new feature request 
    opened by niden 0
  • [BUG]: Find offset lcase

    [BUG]: Find offset lcase

    I tried find() and it worked. Specifying properties outside the table in columns may be a "don't do", but the results I get seem strange. Even if I didn't specify it, I thought that the fully qualified namespaced class name would be set as the key, but the first letter was lowercase. Is this normal?

    $result = \App\Models\Users::find([
        'conditions' => 'phase>0',
        'columns' => '*, "ready" AS stat'
    ]);
    var_dump($result[0]['stat']);    // ready
    var_dump(result[0]->offsetGet(\App\Models\Users::class)->name);    // Warning: Uncaught Phalcon\Mvc\Model\Exception: The index does not exist in the row in phalcon/Mvc/Model/Row.zep:42 Stack trace: ~
    var_dump(result[0]->offsetGet(lcfirst(\App\Models\Users::class))->name);    // string 'John Doe'
    
    

    Originally posted by @s-ohnishi in https://github.com/phalcon/cphalcon/discussions/16048#discussioncomment-3359215

    bug 
    opened by niden 0
Releases(v5.0.1)
Owner
The Phalcon PHP Framework
High performance, full-stack PHP framework delivered as a C extension.
The Phalcon PHP Framework
JShrink is a php class that minifies javascript so that it can be delivered to the client quicker

JShrink JShrink is a php class that minifies javascript so that it can be delivered to the client quicker. This code can be used by any product lookin

Tedious Developments 672 Sep 17, 2022
CleverStyle Framework is simple, scalable, fast and secure full-stack PHP framework

CleverStyle Framework is simple, scalable, fast and secure full-stack PHP framework. It is free, Open Source and is distributed under Free Public Lice

Nazar Mokrynskyi 150 Apr 12, 2022
High-Performance Long-Living PHP Framework for modern enterprise application development

Documentation · Discord · Telegram · Twitter Spiral Framework is a High-Performance Long-Living Full-Stack framework and group of over sixty PSR-compa

Spiral Scout 1.3k Sep 27, 2022
Biny is a tiny, high-performance PHP framework for web applications

Biny is high performance. Framework comes default with response time of less than 1ms. Stand-alone QPS easily up to 3000.

Tencent 1.7k Sep 27, 2022
High performance HTTP Service Framework for PHP based on Workerman.

webman High performance HTTP Service Framework for PHP based on Workerman. Manual https://www.workerman.net/doc/webman Benchmarks https://www.techempo

walkor 1.2k Sep 27, 2022
🔥High Performance PHP Progressive Framework.

The Core Framework English | 中文 The QueryPHP Application QueryPHP is a modern, high performance PHP progressive framework, to provide a stable and rel

The QueryPHP Framework 306 Sep 20, 2022
Motan - a cross-language remote procedure call(RPC) framework for rapid development of high performance distributed services

Motan-PHP Overview Motan is a cross-language remote procedure call(RPC) framework for rapid development of high performance distributed services.

Weibo R&D Open Source Projects 79 Sep 17, 2022
Flare is a PHP full-stack web framework that is light, fast, flexible, and secure.

Flare framework is a PHP full-stack web framework that is simple ,powerful , fast , flexible, and secure with long-term support.

Flare framework 3 Sep 23, 2022
A Faster Lightweight Full-Stack PHP Framework

A Faster Lightweight Full-Stack PHP Framework 中文版  Docker env Just one command to build all env for the easy-php How to build a PHP framework by ourse

Zhan Shi 768 Sep 20, 2022
CodeIgniter - a PHP full-stack web framework that is light, fast, flexible and secure

CodeIgniter 4 Development What is CodeIgniter? CodeIgniter is a PHP full-stack web framework that is light, fast, flexible and secure. More informatio

CodeIgniter 4 web framework 4.3k Sep 28, 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 44 Sep 21, 2022
🤯 High-performance PHP application server, load-balancer and process manager written in Golang

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 6.7k Sep 28, 2022
This package provides a high performance HTTP server to speed up your Laravel/Lumen application based on Swoole.

This package provides a high performance HTTP server to speed up your Laravel/Lumen application based on Swoole.

Swoole Taiwan 3.9k Sep 12, 2022
PIP is a tiny application framework built for people who use a LAMP stack.

PIP is a tiny application framework built for people who use a LAMP stack. PIP aims to be as simple as possible to set up and use.

Ron Marasigan 246 May 21, 2022
🚀 PHP Microservice Full Coroutine Framework

PHP microservice coroutine framework 中文说明 Introduction Swoft is a PHP microservices coroutine framework based on the Swoole extension. Like Go, Swoft

Swoft Cloud 5.5k Sep 24, 2022
Zephir is a compiled high level language aimed to the creation of C-extensions for PHP.

Zephir - is a high level programming language that eases the creation and maintainability of extensions for PHP. Zephir extensions are exported to C c

Zephir Language 3.1k Sep 23, 2022
Supercharge your Laravel application's performance.

Introduction Laravel Octane supercharges your application's performance by serving your application using high-powered application servers, including

The Laravel Framework 3.2k Sep 27, 2022
Fast php framework written in c, built in php extension

Yaf - Yet Another Framework PHP framework written in c and built as a PHP extension. Requirement PHP 7.0+ (master branch)) PHP 5.2+ (php5 branch) Inst

Xinchen Hui 4.5k Sep 25, 2022
Extension for creating and sending emails for the Yii PHP framework.

yii-emailer Extension for creating and sending emails for the Yii PHP framework. Usage Migrate the email_message database table by this command: yiic

Digia 12 Mar 30, 2022