TinyFramework started as a small teaching project and continues to grow into a mature "full-vendor" PHP framework. The goal of the exercise was to build a framework that resides exclusively in the vendor directory and has no dependencies to other dependencies.
The implementations of all PSR standards were already removed after the first few classes. The reason for this was that all subareas would have to be implemented differently and inconsistently.
composer create-project --stability=dev --remove-vcs sgc-fireball/tinyframework-skeleton my-project master
cd my-project; php console
- app
- Commands
- Http
- Controllers
- Api
- Middleware
- Controllers
- Providers
- config
- database
- migrations
- public
- resources
- lang
- en
- views
- lang
- storage
- cache
- logs
- psych
- sessions
Open PHPStorm Settings PHP
/ Servers
:
- Name:
tinyframework
- Host:
127.0.0.1
- Port:
9000
- Debugger:
xdebug
- Use Path Mapping
Yes
- Map it to
/app
Use our preconfigurated alias phpx
.
phpx console
-
Enable composer classmap authoritative.
composer dump-autoload --optimize-autoloader --classmap-authoritative
-
Uninstall!!!! xdebug
-
Use PHP OpCache. But be case, and disable caching files under /storage/. Watch here TinyFramework Opcache
- Implement DateTime wrapper
- Implement Input::choise, Input::question, Input::confirm
- Implement Casts into Models
- Implement Auth Service / Interface
- URL Signer
- https://github.com/opis/closure/
- Implement ServiceProviders::provides to implement lazy loading services
- Paginator with url link support
- foreach $loop and $loop->parent
- Markdown interpreter for Str.
Please run:
git config --local core.hooksPath .githooks/
Richard Hülsberg [email protected]