Skip to content

Stable release based on Slim PHP 4

Compare
Choose a tag to compare
@rotexdegba rotexdegba released this 03 Feb 13:04
· 29 commits to master since this release
  • Now based on Slim 4

  • Added as much strict typing as possible all over the code base in class property declarations, class method & stand-alone function parameters and return types

  • The namespace prefix Slim3MvcTools has been renamed to SlimMvcTools

  • Added Localization functionality out of the box using the Vespula Locale package

    • see ./config/languages/, \SlimMvcTools\Controllers\BaseController->updateSelectedLanguage() : void & the default layout template file & some views like the login form for how this feature has been implemented
  • Added ./src/AppErrorHandler.php which should be used for error handling logic

  • \SlimMvcTools\Container is the PSR-11 compliant container that now ships with this framework

  • Nyholm PSR7 & Nyholm PSR7 Server are the PSR 7 implementations that now ship with this framework

  • UI & JS frameworks like the Zurb Foundation front-end framework (http://foundation.zurb.com/) and jQuery have been removed and no longer ship with this package. It just ships with minimal HTML, CSS & Vanilla JavaScript.

  • PHP 7.4 is the minimum required version

  • Switched from BSD-2 to BSD-3 license

  • The following settings have been removed from ./config/app-settings.php

    • httpVersion, responseChunkSize, outputBuffering, determineRouteBeforeAppMiddleware, routerCacheFile, bind_options & ldap_server_addr
  • The following settings have been added to ./config/app-settings.php

    • logErrors, logErrorDetails, app_base_path, error_template_file, use_mvc_routes, mvc_routes_http_methods, auto_prepend_action_to_action_method_names, default_controller_class_name, default_action_name, error_handler_class, html_renderer_class, json_renderer_class, log_renderer_class, xml_renderer_class
  • Keys for items registered in the container instance defined in ./config/dependencies.php are now constants defined in \SlimMvcTools\ContainerKeys

    • The items with the following keys (errorHandler, errorHandlerClass, notFoundHandler, notFoundHandlerClass, notAllowedHandler & notAllowedHandlerClass) in the dependencies file for version 3 are no longer present in version 4 and their previous functionality can easily be implemented in \SlimSkeletonMvcApp\AppErrorHandler->__invoke(...)

    • A local object & 2 factories that create new instances of PSR 7 Request & Response objects have been added to ./config/dependencies.php with the following keys:

      • ContainerKeys::LOCALE_OBJ, ContainerKeys::NEW_REQUEST_OBJECT & ContainerKeys::NEW_RESPONSE_OBJECT
  • The default value of session.save_path in config/ini-settings-dist.php is now ./tmp/session

  • ./config/routes-and-middlewares.php has been revamped to work with Slim 4

  • ./documentation/MOVIE_CATALOG_APP_WALK_THROUGH.md, ./documentation/MVCFUNCTIONALITY.md & ./documentation/QUICKSTART.md have been updated to reflect all the changes in this release

  • ./src/layout-templates/error-template.php has been added and is meant to be used as the layout template for displaying error pages like HTTP 404 not found, etc.

  • A $controller_object variable which is a reference to the controller instance currently being invoked is now available in all views and layouts rendered via the BaseController's renderLayout & renderView methods

    • s3MVC_MakeLink has been removed. You should use $controller_object->makeLink($path) in your view & layout files instead

Full Changelog: 3.0.3...4.0.0