• <cite id="jdh17"></cite>
    <ins id="jdh17"></ins>
    <var id="jdh17"></var>
    <ins id="jdh17"><span id="jdh17"><var id="jdh17"></var></span></ins>
    <var id="jdh17"></var>
    <cite id="jdh17"><span id="jdh17"></span></cite>
    <var id="jdh17"></var>
    <thead id="jdh17"><strike id="jdh17"><listing id="jdh17"></listing></strike></thead>
    <cite id="jdh17"><video id="jdh17"><menuitem id="jdh17"></menuitem></video></cite>

    Blog

    Expressive 3.0.0RC2 released

    This week, we've worked on backports from Expressive 3 to Expressive 2, and, in the process, identified a few issues with how the routing package handles implicit HEAD and OPTIONS requests. As a result, we've just released 3.0.0rc2:

    • https://github.com/zendframework/zend-expressive-skeleton/releases/3.0.0rc2

    What are "implicit" HEAD and OPTIONS requests?

    Implicit HEAD and OPTIONS requests are requests using those methods made to routes that do not explicitly define them; in other words, if no routes for a given path include the HEAD or OPTIONS methods.

    We provide a way for router implementations to flag a routing failure as being due to requesting a method that is not explicitly allowed. We also provide middleware for providing responses to HEAD and OPTIONS requests under those conditions, as well as separate middleware for simply reporting that a method is not allowed.

    Getting started with RC2

    To start a new project based on 3.0.0rc2, use Composer to create a new project:

    $ composer create-project "zendframework/zend-expressive-skeleton:3.0.0rc2"
    

    If you want to install to a custom directory name, use the following instead:

    $ composer create-project zendframework/zend-expressive-skeleton {your directory} 3.0.0rc2
    

    Once installed, you can follow the same instructions as for RC1.

    Updating from RC1

    Updating from RC1 requires a few manual steps.

    Prior to upgrading, you will need to do the following:

    $ composer require "zendframework/zend-diactoros:^1.7.1"
    

    Then run:

    $ composer update
    

    Once done, you will need to make one change to your config/pipeline.php.

    Locate the following line:

    $app->pipe(MethodNotAllowedMiddleware::class);
    

    Cut the line, and paste it following the line reading:

    $app->pipe(ImplicitOptionsMiddleware::class);
    

    This change is necessary due to how each of these middleware inspect the routing result and act on it. If MethodNotAllowedMiddleware operates before the Implicit*Middleware, it will detect a 405 condition. Moving it after those middleware allow them to intercept for HEAD and OPTIONS requests.

    Roadmap

    We still have a number of tasks to accomplish before the stable 3.0.0 release. In particular:

    • We need to provide full documentation for the v3 release.

    • We will be issuing a 2.2 release with:

      • Deprecations, based on the v3 changes.
      • Backports of select v3 changes in order to aid migration.
      • See the following for full details: https://discourse.zendframework.com/t/roadmap-expressive-2-2/504
    • We need to document migration from v2.2 to v3, and potentially provide automated tooling.

    • We anticipate users may still find bugs in the RC, and will be actively incorporating bugfixes before the stable release.

    Our target date is still 15 March 2018, but we need your help! Help by testing the RC2 skeleton and providing your feedback. As we prepare the v2.2 release, help by testing tooling and applying our migration documentation to your applications, and let us know what works and what doesn't. If you find features that are not documented, let us know by filing issues or asking questions in our Slack.

    We look forward to the stable release, and the positive impact PSR-15 will have on the PHP ecosystem!

    SHARE:

    Share

    Subscribe

    Subscribe to this blog via RSS.

    Recent Posts

    Copyright

    © 2006-2019 by Zend, a Rogue Wave Company. Made with by awesome contributors.

    This website is built using zend-expressive and it runs on PHP 7.

    Contacts

    六合特码资料
  • <cite id="jdh17"></cite>
    <ins id="jdh17"></ins>
    <var id="jdh17"></var>
    <ins id="jdh17"><span id="jdh17"><var id="jdh17"></var></span></ins>
    <var id="jdh17"></var>
    <cite id="jdh17"><span id="jdh17"></span></cite>
    <var id="jdh17"></var>
    <thead id="jdh17"><strike id="jdh17"><listing id="jdh17"></listing></strike></thead>
    <cite id="jdh17"><video id="jdh17"><menuitem id="jdh17"></menuitem></video></cite>
  • <cite id="jdh17"></cite>
    <ins id="jdh17"></ins>
    <var id="jdh17"></var>
    <ins id="jdh17"><span id="jdh17"><var id="jdh17"></var></span></ins>
    <var id="jdh17"></var>
    <cite id="jdh17"><span id="jdh17"></span></cite>
    <var id="jdh17"></var>
    <thead id="jdh17"><strike id="jdh17"><listing id="jdh17"></listing></strike></thead>
    <cite id="jdh17"><video id="jdh17"><menuitem id="jdh17"></menuitem></video></cite>
    嫦娥奔月打一生肖 76人伊戈达拉 猛鬼放暑假 旋转大战送彩金 探陵人电子游艺 古印加祖玛在线 bbc百慕大三角之谜 nba爵士vs湖人20号视频 二八杠生死门 11选5计划软件手机