unicate / no-framework
Packages YES, Framework NO!
Installs: 12
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
pkg:composer/unicate/no-framework
Requires
- catfan/medoo: 1.7.10
 - laminas/laminas-diactoros: 2.3.0
 - laminas/laminas-httphandlerrunner: 1.1.0
 - league/plates: 3.3.0
 - league/route: 4.5.0
 - php-di/php-di: 6.1.0
 - symfony/dotenv: 5.0.8
 - tuupola/slim-jwt-auth: 3.4.0
 - unicate/language-detection: 1.2
 - unicate/logger: 1.2
 - unicate/translation: 1.0
 
Requires (Dev)
- phpunit/phpunit: ^6
 
This package is auto-updated.
Last update: 2025-10-05 03:43:51 UTC
README
Packages YES, Framework NO!
What is it?
Call it "Glue" or call it "Boilerplate". "No-Framework" aims to give you a head start for development with a simple and understandable foundation.
"No-framework" is based on popular and proven packages which are easily exchangeable with others you like or already know.
Mainly the following packages are used: For dependency injection PHP-DI, for Database access and queries Medoo, for Templating Plates and a few others... And also little self written code as "glue" in between.
Why No-Framework
- I want to have control and I want to understand what I'm doing.
 - I want to start small and extend if necessary.
 - I want to focus on the solution, not the framework.
 - I want to develop fast but without reinventing the wheel.
 - I want to use interchangeable components.
 
The basic answer to satisfy all these needs are packages. Packages as extendable, exchangeable components. With Composer and Packagist the PHP ecosystem offers a perfect solution for this.
What it's not!
It's not another PHP framework. There are already great frameworks out there. Full-fledged like Laravel or Synfony and also Micro-Frameworks like Slim and others.
Using a framework offers some great advantages but has also a few drawbacks. In short that's the following:
- PROs: Fast Development, Security, Documentation, Maintenance and Community.
 - CONs: Generic solution that might not suit your needs, limited control, time to learn and understand, overhead and slower execution.
 
Getting Started
Use Git or Composer:
git clone https://github.com/unicate/no-framework.git my-project-name
composer install
composer create-project unicate/no-framework my-project-name
The "Task List" Demo is a simple example application. Download the code and see what happens. To help you understand, a view hints and principles:
- Important: Setup a local Test-Database with the code in 
db/. - Important: Copy the .env-default to .env in 
app/configand enter DB connection details. - Important: To start the local PHP server, just execute  
serve.sh. - The architecture is based on the MVC pattern.
 - Objects are only created by the Dependency Injection container and configured in 
app/config/dependencies.php - All environment dependent configuration is done in 
app/config/.env. - Routes are defined in 
app/config/routes.php. - If you want to change file paths, use 
app/core/constants.php. - Your controller should extend 
AbstractControllerclass. - Only CSS and JS files should be located in the public directory.
 - If you like to exchange a basic package, have a look at 
app/config/dependencies.phpand the service classes inapp/services. 
Folder structure is pretty self explaining:
-- app
|  |-- core
|  |-- config
|  |-- middlewares
|  |-- utils
|  |-- models
|  |-- logs
|  |-- controllers
|  |-- views
|  |  |-- templates
|  |-- services
|-- public
|  |-- css
|  |-- js
|-- db
|-- vendor
Disclaimer & License
This code should help you build your own solution. It's not mature and fully tested software. You use anything at your own risk. Have fun with it.
No-Framework is released under the MIT licence.
Finally
Now go and build something and make people happy!