# tinyframework **Repository Path**: wfdaj/tinyframework ## Basic Information - **Project Name**: tinyframework - **Description**: No description available - **Primary Language**: Unknown - **License**: CC-BY-4.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-24 - **Last Updated**: 2025-01-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # [TinyFramework](https://github.com/sgc-fireball/tinyframework) - [Introduction](#introduction) - [How to start](#how-to-start) - [Debugging](#debugging) - [Performance](#performance) - [Git Hooks](#git-hooks) - [Author](#author) - [Documentation](./docs/index.md) - [Security](./docs/index.md) ## Introduction 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. ## How to start ```bash composer create-project --stability=dev --remove-vcs sgc-fireball/tinyframework-skeleton my-project master cd my-project; php console ``` ## Folders - app - Commands - Http - Controllers - Api - Middleware - Providers - config - database - migrations - public - resources - lang - en - views - storage - cache - logs - psych - sessions ## Debugging 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`. ```bash phpx console ``` ## Performance 1. Enable composer classmap authoritative. ```bash composer dump-autoload --optimize-autoloader --classmap-authoritative ``` 2. Uninstall!!!! xdebug 3. Use PHP OpCache. But be case, and disable caching files under /storage/. Watch here [TinyFramework Opcache](https://github.com/sgc-fireball/tinyframework-opcache) ## Todos - 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 ## Ideas - foreach $loop and $loop->parent - Markdown interpreter for Str. ## Git Hooks Please run: ```bash git config --local core.hooksPath .githooks/ ``` ## Author Richard Hülsberg