limb-php/limb-framework

Limb4 PHP framework

v4.5.5 2024-05-15 07:54 UTC

README

################################################################################
            Limb4 Web Application Framework
################################################################################

Limb is a general PHP Web Application Framework

Here is the list of the most notable packages at the moment:

    * core: the base system package which provides lazy loading of PHP code, iterators support,
            generic object containers, decorators generators, transparent object proxies, etc
    * toolkit: dependency injection tools
    * filter_chain: InterceptingFilter design pattern implementation
    * web_app: FrontController and MVC patterns implementation.
    * active_record: ActiveRecord pattern implementation(Rails alike flavour, http://rubyonrails.com/)
    * dbal: Database Abstraction Layer which supports MySql, PostgreSQL and Oracle at the moment.
    * session: transparent PHP session wrappers with painless persistence of objects

Migrate from Limb3 to <=Limb4.4:

    * rename class files (remove '.class' extension)
    * add namespaces to all classes
    * change all lmb_require() to 'use'
    * core: lmb_env_* methods change to lmbEnv::* calls
    * dbal: driver "mysqli" removed. Use "mysql" instead
    * toolkit: App Toolkit should return array of used toolkits by getRequiredTools() method
    * filter_chain: Application class method process should be compatible with limb\filter_chain\src\lmbFilterChain::process($request = NULL, $response = NULL)
    * filter_chain: method run all of filter classes must be compatible with limb\filter_chain\src\lmbInterceptingFilterInterface::run($filter_chain, $request, $response); and return HttpResponse; method next() must be compatible with limb\filter_chain\src\lmbInterceptingFilterInterface::next($request, $response)
    * ActiveRecord value objects no more supports "getter" and "field" params. Use "mapping" or "setup_method"
    * mail: env variable PHPMAILER_VERSION_NAME not using any more
    * CMS: controller folder renamed to Controllers
    * validation: remove 'lmb' prefix from riles classes. ErrorList return error collection with keys

Migrate from Limb4.4 to >Limb4.4:

    * require PHP 8.0+
    * net: lmbHttpRequest - removed get*() methods

Limb5 roadmap:
    * PSR-4,7,17
    * PHP 8.1+
    * AR: remove validation, optimize DB connection (no store connection)
    * Toolkit: improved DI pattern
    * Remove all of static variables


Install
    * composer require limb-php/limb-framework