https://github.com/linna/framework
Simple and elegant tools for build web application
https://github.com/linna/framework
best-practices elegant framework learning mvc-framework php php-best-pratices quality
Last synced: 3 months ago
JSON representation
Simple and elegant tools for build web application
- Host: GitHub
- URL: https://github.com/linna/framework
- Owner: linna
- License: mit
- Created: 2015-08-21T17:26:47.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2025-07-30T20:00:48.000Z (5 months ago)
- Last Synced: 2025-09-29T01:29:52.531Z (3 months ago)
- Topics: best-practices, elegant, framework, learning, mvc-framework, php, php-best-pratices, quality
- Language: PHP
- Homepage: https://linna.tools
- Size: 1.74 MB
- Stars: 13
- Watchers: 6
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
[](https://github.com/linna/framework/actions/workflows/tests.yml)
[](https://sonarcloud.io/dashboard?id=linna_framework)
[](https://github.com/php-pds/skeleton)
[](http://php.net)
> **_NOTE:_** Code porting to PHP 8.1 ongoing.
# About this framework
Started as a project for learning the modern PHP, it has become a set of simple and elegant tools for creating web applications.
## Quality
The development of Framework is done trying to get PHP best pratices always in mind.
If you wish deepen PHP best pratices you can start from [phptherightway](http://www.phptherightway.com/)
### All code is:
- Tested with [phpunit](https://github.com/sebastianbergmann/phpunit) and [infection](https://github.com/infection/infection)
- Analyzed with [phpstan](https://github.com/phpstan/phpstan) and [phan](https://github.com/phan/phan/)
- Commented, ready for [phpDocumentor](https://www.phpdoc.org/)
- Written applying the five [SOLID]() principles
## Production environment
At moment, code, isn't utilized in production environment, Hope in future.
# Require
- PHP >= 8.3
- PDO extension (optional)
- Memcached extension (optional)
- Mongodb extension (optional)
- Redis extension (optional)
# Installation
With composer:
```
composer require linna/framework
```
# Features
- Model view controller
- Session management
- Login and role-based access control
- Rest router
- Container and dependency injections
- Wrappers for data base
- Implementation for PSR-4 Autoloader, PSR-11 Container and PSR-16 Simple Cache
# Documentation
For more details please see the [user guide (soon)](https://linna.tools/docs/current/) or the [api (incomplete)](https://linna.tools/docs/current/) and read [licence](https://github.com/linna/framework/blob/master/LICENSE.md)
# Contributing
Please see [CONTRIBUTING.md](https://github.com/linna/framework/blob/master/CONTRIBUTING.md).
## Task List for the next version
### High Priority
- [ ] [IN PROGRESS] Reduce the technical debt
- [ ] [IN PROGRESS] Complete the PHP 8.3 porting
- [X] Complete the updating and the review of the code comments
- [ ] [IN PROGRESS] Create documentation for the site, api and articles about how to do things
- [X] Unify database session handlers
- [ ] [IN PROGRESS] Update tests and do a deep code review for quality and security
- [ ] Check the name of arguments in methods where there is the implementation of an interface
- [X] Data mapper update and Authorization RBAC refactor
### Less High Priority
- [X] Add support for Redis cache, for general cache and sessions
- [X] Encryption for non standard session storage (redis, memcached, databases)
- [ ] Router with PSR-7 support
- [ ] More about Router

