代码拉取完成,页面将自动刷新
<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" packagerversion="1.4.7" version="2.0" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
<name>yaf</name>
<channel>pecl.php.net</channel>
<summary>PHP Framework in PHP extension</summary>
<description>Yaf is a PHP framework similar to zend framework, which is written in c and built as PHP extension</description>
<lead>
<name>Xinchen Hui</name>
<user>laruence</user>
<email>laruence@php.net</email>
<active>yes</active>
</lead>
<date>2024-06-25</date>
<time>11:20:00</time>
<version>
<release>3.3.6</release>
<api>3.3.6</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP</license>
<notes>
- Fixed build with PHP8.3
</notes>
<contents>
<dir name="/">
<file name="config.m4" role="src" />
<file name="yaf_action.c" role="src" />
<file name="yaf_action.h" role="src" />
<file name="yaf_application.c" role="src" />
<file name="yaf_application.h" role="src" />
<file name="yaf_application_arginfo.h" role="src" />
<file name="yaf_application_legacy_arginfo.h" role="src" />
<file name="yaf_bootstrap.c" role="src" />
<file name="yaf_bootstrap.h" role="src" />
<file name="yaf.c" role="src" />
<file name="yaf_config.c" role="src" />
<file name="yaf_config.h" role="src" />
<file name="yaf_config_arginfo.h" role="src" />
<file name="yaf_config_legacy_arginfo.h" role="src" />
<file name="yaf_controller.c" role="src" />
<file name="yaf_controller.h" role="src" />
<file name="yaf_controller_arginfo.h" role="src" />
<file name="yaf_controller_legacy_arginfo.h" role="src" />
<file name="yaf_dispatcher.c" role="src" />
<file name="yaf_dispatcher.h" role="src" />
<file name="yaf_dispatcher_arginfo.h" role="src" />
<file name="yaf_dispatcher_legacy_arginfo.h" role="src" />
<file name="yaf.dsp" role="src" />
<file name="yaf_exception.c" role="src" />
<file name="yaf_exception.h" role="src" />
<file name="yaf_loader.c" role="src" />
<file name="yaf_loader.h" role="src" />
<file name="yaf_loader_arginfo.h" role="src" />
<file name="yaf_loader_legacy_arginfo.h" role="src" />
<file name="yaf_logo.h" role="src" />
<file name="yaf_namespace.h" role="src" />
<file name="yaf.php" role="src" />
<file name="yaf_plugin.c" role="src" />
<file name="yaf_plugin.h" role="src" />
<file name="yaf_plugin_arginfo.h" role="src" />
<file name="yaf_registry.c" role="src" />
<file name="yaf_registry.h" role="src" />
<file name="yaf_registry_arginfo.h" role="src" />
<file name="yaf_registry_legacy_arginfo.h" role="src" />
<file name="yaf_request.c" role="src" />
<file name="yaf_request.h" role="src" />
<file name="yaf_request_arginfo.h" role="src" />
<file name="yaf_request_legacy_arginfo.h" role="src" />
<file name="yaf_response.c" role="src" />
<file name="yaf_response.h" role="src" />
<file name="yaf_response_arginfo.h" role="src" />
<file name="yaf_response_legacy_arginfo.h" role="src" />
<file name="yaf_router.c" role="src" />
<file name="yaf_router.h" role="src" />
<file name="yaf_router_arginfo.h" role="src" />
<file name="yaf_router_legacy_arginfo.h" role="src" />
<file name="yaf_session.c" role="src" />
<file name="yaf_session.h" role="src" />
<file name="yaf_session_arginfo.h" role="src" />
<file name="yaf_session_legacy_arginfo.h" role="src" />
<file name="yaf_view.c" role="src" />
<file name="yaf_view.h" role="src" />
<file name="yaf_view_arginfo.h" role="src" />
<file name="yaf_view_legacy_arginfo.h" role="src" />
<file name="yaf_route_arginfo.h" role="src" />
<file name="yaf_route_legacy_arginfo.h" role="src" />
<dir name="configs">
<file name="yaf_config_ini.c" role="src" />
<file name="yaf_config_ini.h" role="src" />
<file name="yaf_config_simple.c" role="src" />
<file name="yaf_config_simple.h" role="src" />
</dir>
<file name="config.w32" role="src" />
<file name="LICENSE" role="doc" />
<file name="CREDITS" role="doc" />
<file name="php_yaf.h" role="src" />
<dir name="requests">
<file name="yaf_request_http.c" role="src" />
<file name="yaf_request_http.h" role="src" />
<file name="yaf_request_simple.c" role="src" />
<file name="yaf_request_simple.h" role="src" />
</dir>
<dir name="responses">
<file name="yaf_response_http.c" role="src" />
<file name="yaf_response_http.h" role="src" />
<file name="yaf_response_cli.c" role="src" />
<file name="yaf_response_cli.h" role="src" />
</dir>
<dir name="routes">
<file name="yaf_route_interface.c" role="src" />
<file name="yaf_route_interface.h" role="src" />
<file name="yaf_route_rewrite.c" role="src" />
<file name="yaf_route_rewrite.h" role="src" />
<file name="yaf_route_supervar.c" role="src" />
<file name="yaf_route_supervar.h" role="src" />
<file name="yaf_route_static.c" role="src" />
<file name="yaf_route_static.h" role="src" />
<file name="yaf_route_simple.c" role="src" />
<file name="yaf_route_simple.h" role="src" />
<file name="yaf_route_regex.c" role="src" />
<file name="yaf_route_regex.h" role="src" />
<file name="yaf_route_map.c" role="src" />
<file name="yaf_route_map.h" role="src" />
</dir>
<dir name="views">
<file name="yaf_view_interface.c" role="src" />
<file name="yaf_view_interface.h" role="src" />
<file name="yaf_view_simple.c" role="src" />
<file name="yaf_view_simple.h" role="src" />
</dir>
<dir name="tests">
<file name="001.phpt" role="test" />
<file name="002.phpt" role="test" />
<file name="003.phpt" role="test" />
<file name="004.phpt" role="test" />
<file name="005.phpt" role="test" />
<file name="006.phpt" role="test" />
<file name="007.phpt" role="test" />
<file name="008.phpt" role="test" />
<file name="009.phpt" role="test" />
<file name="010.phpt" role="test" />
<file name="011.phpt" role="test" />
<file name="012.phpt" role="test" />
<file name="013.phpt" role="test" />
<file name="014.phpt" role="test" />
<file name="015.phpt" role="test" />
<file name="016.phpt" role="test" />
<file name="017.phpt" role="test" />
<file name="018.phpt" role="test" />
<file name="019.phpt" role="test" />
<file name="020.phpt" role="test" />
<file name="021.phpt" role="test" />
<file name="022.phpt" role="test" />
<file name="023.phpt" role="test" />
<file name="024.phpt" role="test" />
<file name="025.phpt" role="test" />
<file name="026.phpt" role="test" />
<file name="027.phpt" role="test" />
<file name="028.phpt" role="test" />
<file name="029.phpt" role="test" />
<file name="030.phpt" role="test" />
<file name="031.phpt" role="test" />
<file name="032.phpt" role="test" />
<file name="033.phpt" role="test" />
<file name="034.phpt" role="test" />
<file name="035.phpt" role="test" />
<file name="036.phpt" role="test" />
<file name="037.phpt" role="test" />
<file name="038.phpt" role="test" />
<file name="039.phpt" role="test" />
<file name="040.phpt" role="test" />
<file name="041.phpt" role="test" />
<file name="042.phpt" role="test" />
<file name="043.phpt" role="test" />
<file name="044.phpt" role="test" />
<file name="045.phpt" role="test" />
<file name="046.phpt" role="test" />
<file name="047.phpt" role="test" />
<file name="048.phpt" role="test" />
<file name="049.phpt" role="test" />
<file name="050.phpt" role="test" />
<file name="051.phpt" role="test" />
<file name="052.phpt" role="test" />
<file name="053.phpt" role="test" />
<file name="054.phpt" role="test" />
<file name="055.phpt" role="test" />
<file name="056.phpt" role="test" />
<file name="057.phpt" role="test" />
<file name="058.phpt" role="test" />
<file name="059.phpt" role="test" />
<file name="060.phpt" role="test" />
<file name="061.phpt" role="test" />
<file name="062.phpt" role="test" />
<file name="063.phpt" role="test" />
<file name="064.phpt" role="test" />
<file name="065.phpt" role="test" />
<file name="066.phpt" role="test" />
<file name="067.phpt" role="test" />
<file name="068.phpt" role="test" />
<file name="069.phpt" role="test" />
<file name="070.phpt" role="test" />
<file name="071.phpt" role="test" />
<file name="072.phpt" role="test" />
<file name="073.phpt" role="test" />
<file name="074.phpt" role="test" />
<file name="075.phpt" role="test" />
<file name="076.phpt" role="test" />
<file name="077.phpt" role="test" />
<file name="078.phpt" role="test" />
<file name="079.phpt" role="test" />
<file name="080.phpt" role="test" />
<file name="081.phpt" role="test" />
<file name="082.phpt" role="test" />
<file name="083.phpt" role="test" />
<file name="084.phpt" role="test" />
<file name="085.phpt" role="test" />
<file name="086.phpt" role="test" />
<file name="087.phpt" role="test" />
<file name="088.phpt" role="test" />
<file name="089.phpt" role="test" />
<file name="090.phpt" role="test" />
<file name="091.phpt" role="test" />
<file name="092.phpt" role="test" />
<file name="093.phpt" role="test" />
<file name="094.phpt" role="test" />
<file name="095.phpt" role="test" />
<file name="096.phpt" role="test" />
<file name="097.phpt" role="test" />
<file name="098.phpt" role="test" />
<file name="099.phpt" role="test" />
<file name="100.phpt" role="test" />
<file name="101.phpt" role="test" />
<file name="102.phpt" role="test" />
<file name="103.phpt" role="test" />
<file name="104.phpt" role="test" />
<file name="105.phpt" role="test" />
<file name="106.phpt" role="test" />
<file name="107.phpt" role="test" />
<file name="108.phpt" role="test" />
<file name="109.phpt" role="test" />
<file name="110.phpt" role="test" />
<file name="build.inc" role="test" />
<file name="bug61493.phpt" role="test" />
<file name="bug63381.phpt" role="test" />
<file name="bug63438.phpt" role="test" />
<file name="bug63900.phpt" role="test" />
<file name="bug62702.phpt" role="test" />
<file name="bug70913.phpt" role="test" />
<file name="bug76213.phpt" role="test" />
<file name="bug76217.phpt" role="test" />
<file name="issue134.phpt" role="test" />
<file name="issue163.phpt" role="test" />
<file name="issue231.phpt" role="test" />
<file name="issue232.phpt" role="test" />
<file name="issue297.phpt" role="test" />
<file name="issue303.phpt" role="test" />
<file name="issue311.phpt" role="test" />
<file name="issue415.phpt" role="test" />
<file name="issue420.phpt" role="test" />
<file name="issue468.phpt" role="test" />
<file name="issue469.phpt" role="test" />
<file name="issue513.phpt" role="test" />
<file name="issue518.phpt" role="test" />
<file name="issue530.phpt" role="test" />
<file name="issue535.phpt" role="test" />
<file name="simple.ini" role="test" />
<file name="system.ini" role="test" />
<file name="multi-section.ini" role="test" />
</dir>
</dir>
</contents>
<dependencies>
<required>
<php>
<min>7.0.0</min>
</php>
<pearinstaller>
<min>1.4.0</min>
</pearinstaller>
</required>
</dependencies>
<providesextension>yaf</providesextension>
<extsrcrelease />
<changelog>
<release>
<date>2024-06-25</date>
<version>
<release>3.3.6</release>
<api>3.3.6</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed build with PHP8.3
</notes>
</release>
<release>
<date>2022-05-20</date>
<version>
<release>3.3.5</release>
<api>3.3.5</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed ISSUE #566 (bootstrap method named "_init" is not be called)
- Fixed ISSUE #569 (Yaf_Application::getInstance is not static)
- Fixed ISSUE #570 (call_args parsing error in static_route)
- Fixed ISSUE #571 (Yaf_Request::setController failed if format arg is false)
</notes>
</release>
<release>
<date>2021-12-16</date>
<version>
<release>3.3.4</release>
<api>3.3.4</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed build with PHP8.1
- change to using stub.php generated arginfos
</notes>
</release>
<release>
<date>2021-07-01</date>
<version>
<release>3.3.3</release>
<api>3.3.3</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed issue #546 (Segfault due to get_gc handler changed)
- Use interned strings
- Fixed Issue #545 segfault in yaf_route_simple::construct
- Optimized Yaf_Route_Map::route
</notes>
</release>
<release>
<date>2021-03-05</date>
<version>
<release>3.3.2</release>
<api>3.3.2</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed Memory leak in yaf_loader
- Fixed issue #537 (segfault in macos with 4 bytes length controller name)
- Fixed issue #536 (application.bootstrap not used)
</notes>
</release>
<release>
<date>2021-02-20</date>
<version>
<release>3.3.1</release>
<api>3.3.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed Issue #535 (segfault due to double free on platform without alloca)
- Fixed issue #530 (segfault while exiting in action)
</notes>
</release>
<release>
<date>2021-01-06</date>
<version>
<release>3.3.0</release>
<api>3.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- PHP8 Supported
- Fixed issue #508 (Route::addConfig take action as module wrongly)
- Fixed issue #509 (getViewpath return NULL)
- Fixed issue #513 (supports of custom camel MVC name)
- Fixed issue #518 (setRediect not working)
</notes>
</release>
<release>
<date>2020-06-11</date>
<version>
<release>3.2.5</release>
<api>3.2.5</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed issue #492 (init method could be protected)
- Fixed issue #492 (plugins maybe changed in controller execution)
- Fixed issue #492 (empty names shoud not be set to request)
- Fixed cow_violation conflicts
</notes>
</release>
<release>
<date>2020-06-04</date>
<version>
<release>3.2.4</release>
<api>3.2.4</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed issue #489 (global library is not used if namespace is not set)
- Fixed issue #490 (segfault with repeated call arguments)
</notes>
</release>
<release>
<date>2020-05-15</date>
<version>
<release>3.2.3</release>
<api>3.2.3</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed issue #482 (segfault if plugin doesn't defines all hooks)
- Fixed issue #481 (application.system.yaf.directory has no effect)
</notes>
</release>
<release>
<date>2020-05-11</date>
<version>
<release>3.2.2</release>
<api>3.2.2</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Added Yaf_Dispatcher::setResponse
- Removed FINAL flags of Yaf_Request_*, Yaf_Response_*
- Fixed bug that ErrorController doesn't respect returnResponse
</notes>
</release>
<release>
<date>2020-04-20</date>
<version>
<release>3.2.1</release>
<api>3.2.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed Namespace resgister unexpected overridden
- Fixed yaf_slip_equal fails on 4-bytes string
- Added Yaf_Dispatcher::getResponse()
</notes>
</release>
<release>
<date>2020-04-18</date>
<version>
<release>3.2.0</release>
<api>3.2.0</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Refactor core data structs for performance, according to demo created by tool/cg/yaf_cg, 20% performance improved
- Implemented PSR-4 autoloading, user now can specific a path for a namespace by Yaf_Loader::registerNamespace(name, path)
- Added Yaf_Loader::registerNamespace(), Yaf_Loader::getNamespaces(), Yaf_Loader::getNamespacePath()
- Added Yaf_Request::clearParams()
- Added Yaf_Controller::getName(), Yaf_Action::getControllerName()
- Added Yaf_Dispatcher::getDefaultModule(), Yaf_Dispatcher::getDefaultController() and Yaf_Dispatcher::getDefaultAction()
- Added Yaf_Application::getInstance(), which is alias of Yaf_Application:app()
- Added optional $format_name argument to Yaf_Request::setModule/Controller/actionName
if it set to false, Yaf will set original input as name,
default it true, which means Yaf will format the name(camel/lowercase) before set it to Request
- Yaf_Controller::__construct now accpet no parameters, it now requires Yaf_Application is initialized.
- Rmoved all lead underline for fake protected property name(examing by var_dump)
- Fixed bug that protected method of Bootstrap get executed
- Yaf_View_Simple is final class now, custom view engin should implements Yaf_View_Interface
- Yaf_Route_* now routes valid Module/Controller/action name directly
- Yaf_Controller action's arguments will be set even if there are gaps now (see test/issue420.phpt)
</notes>
</release>
<release>
<date>2020-04-01</date>
<version>
<release>3.1.4</release>
<api>3.1.4</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed issue #469 (treat autocontroller as Controller mistakenly)
- Fixed issue #468 (abort if same key assigned to view)
- minor optimization to avoding memory allocations
</notes>
</release>
<release>
<date>2020-03-20</date>
<version>
<release>3.1.3</release>
<api>3.1.3</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed issue #466 (segfault if getRequest without name)
- Fixed bug (unexpected path too long error)
- Fixed valgrind warning about access to uninitilized value while memcmp
</notes>
</release>
<release>
<date>2020-03-17</date>
<version>
<release>3.1.2</release>
<api>3.1.2</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed bug (Yaf detecting base_uri failed)
</notes>
</release>
<release>
<date>2020-03-16</date>
<version>
<release>3.1.1</release>
<api>3.1.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed memrchr missed in windows
</notes>
</release>
<release>
<date>2020-03-15</date>
<version>
<release>3.1.0</release>
<api>3.1.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Refactor Yaf_Loader for performance
- Refactor lots of codes to avoiding memory allocation
- Yaf_Loader::getNameSpaces() now return array instead of comma separated string
- Yaf_Route_Rewrite now process multiple repeated bach slashes as one
- Removed --enable-yaf-debug, now yaf allows user to moditify variables in $_POST etc
- Fixed bug while stripping base_uri
- Fixed memrchr missed in windows
</notes>
</release>
<release>
<date>2019-12-19</date>
<version>
<release>3.0.9</release>
<api>3.0.9</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed build with PHP-7.4
</notes>
</release>
<release>
<date>2018-12-10</date>
<version>
<release>3.0.8</release>
<api>3.0.8</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed build with PHP-7.3
</notes>
</release>
<release>
<date>2018-03-22</date>
<version>
<release>3.0.7</release>
<api>3.0.7</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed issue #389 (segfault in debug mode while running with phpunit)
</notes>
</release>
<release>
<date>2017-12-31</date>
<version>
<release>3.0.6</release>
<api>3.0.6</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- PHP-7.2 Support
- Fixed issue #360 (class not found in high traffice server)
</notes>
</release>
<release>
<date>2017-06-29</date>
<version>
<release>3.0.5</release>
<api>3.0.5</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- PHP-7.2 Support
- Fixed issue #360 (class not found in high traffice server)
</notes>
</release>
<release>
<date>2016-08-18</date>
<version>
<release>3.0.4</release>
<api>3.0.4</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed bug wrong variables scope in tpl
- Minor optimizations
</notes>
</release>
<release>
<date>2016-07-02</date>
<version>
<release>3.0.3</release>
<api>3.0.3</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed issue #273 (segfault if stdclass passed to dispatch)
- PHP-7.1 compatible fixes
</notes>
</release>
<release>
<date>2015-12-28</date>
<version>
<release>3.0.2</release>
<api>3.0.2</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed issue #231 (php-fpm worker core dump BUG)
- Attempt to fix issue #226 (Segfault on windows7 64bits)
- Fixed issue #232 (segfault with Yaf_Route_Simple)
</notes>
</release>
<release>
<date>2015-12-12</date>
<version>
<release>3.0.1</release>
<api>3.0.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed auto_render bug
- Fixed issue #220 (segfault on read_property)
- Fixed bug of baseuri setting
- Fixed issue #163 (forward from init controller)
- Fixed Bug #70913 (Segfault while new Yaf_Controller)
</notes>
</release>
<release>
<date>2015-10-27</date>
<version>
<release>3.0.0</release>
<api>3.0.0</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Release Yaf for PHP7
</notes>
</release>
<release>
<date>2014-10-22</date>
<version>
<release>2.3.3</release>
<api>2.3.3</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed build with PHP-5.6
</notes>
</release>
<release>
<date>2014-01-09</date>
<version>
<release>2.3.2</release>
<api>2.3.2</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed windows build
</notes>
</release>
<release>
<date>2014-01-08</date>
<version>
<release>2.3.1</release>
<api>2.3.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fix package
</notes>
</release>
<release>
<date>2014-01-08</date>
<version>
<release>2.3.0</release>
<api>2.3.0</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Added Yaf_Response::setHeader, getHeahder, setAllHeader, clearHeaders Methods
- Added Yaf_Route::assemble
- Fixed Segfault if a empty application.directory is set
</notes>
</release>
<release>
<date>2013-01-04</date>
<version>
<release>2.2.9</release>
<api>2.2.9</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed bug #63900 (Segfault if separated action executes failed)
- Fixed some compiler warnings (Remi)
</notes>
</release>
<release>
<date>2012-12-18</date>
<version>
<release>2.2.8</release>
<api>2.2.8</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed bug that partial module name taken
</notes>
</release>
<release>
<date>2012-11-19</date>
<version>
<release>2.2.7</release>
<api>2.2.7</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Improve the templates directory handling
- Fixed bug #63438 (Strange behavior with nested rendering)
</notes>
</release>
<release>
<date>2012-11-01</date>
<version>
<release>2.2.6</release>
<api>2.2.6</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed bug #63381 ($_SERVER['SCRIPT_NAME'] changed by yaf)
</notes>
</release>
<release>
<date>2012-10-22</date>
<version>
<release>2.2.5</release>
<api>2.2.5</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Release stable version
- Fixed bug empty template file interrupts forwarding chain
- Add LICENSE file according to FR #63239
</notes>
</release>
<release>
<date>2012-10-08</date>
<version>
<release>2.2.4</release>
<api>2.2.4</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Improving warning info while failed opening template script
- Fixed bug that $this is not Yaf_View_Simple in render method which was introduced in 2.2.3
- Fixed memleak in Yaf_View_Simple::display()
</notes>
</release>
<release>
<date>2012-09-26</date>
<version>
<release>2.2.3</release>
<api>2.2.3</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Call autoRender, flushInstantly, returnResponse of Yaf_Dispatcher without args return current state now (Demon)
- Fixed bug that Yaf_Application::environ is undefined on windows
- Improve warning message while script can not be loaded
</notes>
</release>
<release>
<date>2012-09-14</date>
<version>
<release>2.2.2</release>
<api>2.2.2</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Yaf_Controller's methods are not final anymore
- Yaf_View_Simple is not final anymore
- Memleaks fixed in various place
</notes>
</release>
<release>
<date>2012-09-07</date>
<version>
<release>2.2.1</release>
<api>2.2.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Repackage, previous one missed one fix
</notes>
</release>
<release>
<date>2012-09-07</date>
<version>
<release>2.2.0</release>
<api>2.2.0</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Implemented Yaf_Response::setBody with key(which will make the layout easier to implement)
- New method Yaf_View_Simple::eval, Yaf_View_Simple::clear
- Support short open tag in view templates regardless of php.short_open_tag
- Make Yaf_Autoload faster(30%)
- Controller of default module can be autoloaded now
- Single class can be local class now (previous is a design issue)
- Performance improve in various place
- Compatible with php5.5, which droped PHP logo guid
- Fixed bug that Supervar should not respect the base_uri
- Implemented FR #62702 (Make baseuri case-insensitive)
- Implemented FR #62638 (Supports set yaf runtime configuration via application.ini)
</notes>
</release>
<release>
<date>2012-07-12</date>
<version>
<release>2.1.18</release>
<api>2.1.18</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed bug that Yaf_View_Simple::eval doesn't accept short open tag
- Fixed bug that Yaf_View_Simple::eval doesn't allow tpl be wrapped by PHP opening tag
</notes>
</release>
<release>
<date>2012-06-23</date>
<version>
<release>2.1.17</release>
<api>2.1.17</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed bug config will not re-loaded even it was modified
- Fixed bug segfault occurred if uncaught exception in Yaf_Controller::init
- If action return false, dispatch loop will go on with no auto-renderring
- Remove inline declarations (-fgnu-c89 on MacOS)
</notes>
</release>
<release>
<date>2012-05-21</date>
<version>
<release>2.1.16</release>
<api>2.1.16</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed bug that if fatal error occurred in template, Yaf_View_Simple doesn't output the error message
- Fixed bug that segv in Yaf_View_Simple::render if the tpl directory parameter is not a string
- Fixed one invalid read in Yaf_Route_Static
- Fixed bug that segv occurred while using a custom view engine
- Fixed one memleak
</notes>
</release>
<release>
<date>2012-05-07</date>
<version>
<release>2.1.15</release>
<api>2.1.15</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed typo variable name in static route(affect 2.1.14)
</notes>
</release>
<release>
<date>2012-05-05</date>
<version>
<release>2.1.14</release>
<api>2.1.14</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed Bug that if no routes success router will throw exception(since 2.1.13 Yaf supports configure default route by application.ini)
- Fixed Bug that 'foo/index' router result as c => index a => foo
</notes>
</release>
<release>
<date>2012-04-24</date>
<version>
<release>2.1.13</release>
<api>2.1.13</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Added Yaf_View_Simple::eval
- Supported short_open_tag in Yaf_View_Simple
- Fixed a potential segfault while alternately access two yaf application host in one machine
- Improve the Yaf_Route_Static/Supervar::route logic
- Fixed bug that 404 occurred if the request is prefix with more than one slash
- Fixed bug that free NULL pointer in Yaf_Loader::registerLocalNameSpace
</notes>
</release>
<release>
<date>2012-04-18</date>
<version>
<release>2.1.12</release>
<api>2.1.12</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed bug that baseUri set to wrong value (affected version: 2.1.10, 2.1.11)
- Fixed bug Yaf_View_Simple crash while calling assign if construct it with no tpl_dir
- Fixed bug that Yaf_View_Simple::display doesn't convert controller name
</notes>
</release>
<release>
<date>2012-04-11</date>
<version>
<release>2.1.11</release>
<api>2.1.11</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Improve Yaf_Config parsing performance, if the wanted section was parsed, then overpass the rest sections
- Now catchException will failover to the default moudle error handler
- Added Yaf_View_Simple::clear
- Support set default route by config(appliation.dispatcher.defaultRoute)
- Support adding Yaf_Route_Map by config
- Allow Yaf_View_Simple::get(void)
- Fixed Bug that Yaf_Config_Ini will take part of the section
- Fixed bug that yaf_config_ini_deep_copy is not much deepy.
- Fixed bug Yaf_Route_Simple dont respect application.modules configure
- Fixed some memory leaks
</notes>
</release>
<release>
<date>2012-04-01</date>
<version>
<release>2.1.10</release>
<api>2.1.10</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed bug #61493 (Can't remove item when using unset() with a Yaf_Config_Simple instance)
- Support controller autoloading(Only default module)
- Fixed bug that the controller name could be lowercase in routeShutdown hook
- Fixed bug that segfault while attempt to free owrite_handler
- Added Yaf_Controller::$yafAutoRender to controller render
- Fixed some memory leaks
</notes>
</release>
<release>
<date>2012-03-20</date>
<version>
<release>2.1.9</release>
<api>2.1.9</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed Bug that Yaf_Response::setBody cause invalid read
</notes>
</release>
<release>
<date>2012-03-12</date>
<version>
<release>2.1.8</release>
<api>2.1.8</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed bug Yaf_Response::setBody act the same as Yaf_Response::prependBody
</notes>
</release>
<release>
<date>2012-02-05</date>
<version>
<release>2.1.7</release>
<api>2.1.7</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Release 2.1.7 stable
</notes>
</release>
<release>
<date>2012-01-06</date>
<version>
<release>2.1.6</release>
<api>2.1.6</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fix Bug that classname with namespace can not be auto loaded
</notes>
</release>
<release>
<date>2011-12-26</date>
<version>
<release>2.1.5</release>
<api>2.1.5</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fix Bug #60608
</notes>
</release>
<release>
<date>2011-12-21</date>
<version>
<release>2.1.4</release>
<api>2.1.4</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Improve the Yaf_Loader::getInstance, make the Yaf_Loader can be used independently
- Implemented Yaf_View::assignRef, which didn't work as expect before.
</notes>
</release>
<release>
<date>2011-10-08</date>
<version>
<release>2.1.3</release>
<api>2.1.3</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed Bug that Yaf still call to Yaf_View_Simple although a custom view engine was setted
</notes>
</release>
<release>
<date>2011-09-01</date>
<version>
<release>2.1.2</release>
<api>2.1.2</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Added Yaf_Application::getLastErrorNo
- Added Yaf_Application::getLastErrorMsg
- Added Yaf_Application::clearLastError
- Changed trigger ERROR to E_RECOVERABLE_ERROR, then people can use set_error_handler to catch it
</notes>
</release>
<release>
<date>2011-08-31</date>
<version>
<release>2.1.1</release>
<api>2.1.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed Yaf_View_Simple::render flush output instantly in PHP5.4
- Fixed Yaf_Session crash in PHP5.4
</notes>
</release>
<release>
<date>2011-08-28</date>
<version>
<release>2.1.0</release>
<api>2.1.0</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Avoided calling to get_class_entry for higher performance
- Added arginfo for all methods
- Remove unnecessary stack variable initialization
- Standardize error message
- Add Yaf_Request::setRequstUri
- Fixed build broken with PHP 5.4
</notes>
</release>
<release>
<date>2011-06-28</date>
<version>
<release>2.0.1</release>
<api>2.0.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fixed Bug that when call to Yaf_Config_Ini/Yaf_Config_Simple with freaky paramters then invoke its methods cause crash (thanks to Felipe Pena)
- Yaf_Application::execute call Zend_API call_user_func instead of call zif_call_user_func, since zif_call_user_func was not declared with dllexport
- Built on windows with PHP-5.3.6 and PHP-5.2.15 (you can download the dll on Yaf Google Code)
- Corrected some broken C89 statements
</notes>
</release>
<release>
<date>2011-06-24</date>
<version>
<release>2.0.0</release>
<api>2.0.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- First release version
</notes>
</release>
</changelog>
</package>
<!--
vim:et:ts=1:sw=1
-->
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。