sgc-fireball / tinyframework
微型框架PHP框架
dev-master
2024-09-28 09:45 UTC
Requires
- php: ^8.2||^8.3
- ext-fileinfo: *
- ext-iconv: *
- ext-intl: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- ext-pcntl: *
- ext-posix: *
- ext-readline: *
- ext-simplexml: *
- roave/security-advisories: dev-latest
Requires (Dev)
- cyclonedx/cyclonedx-php-composer: ^4.2
- php-parallel-lint/php-parallel-lint: ^1.3
- phpstan/phpstan: ^1.10
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
- phpstan/phpstan-strict-rules: ^1.5
- phpunit/php-code-coverage: ^9.2
- phpunit/php-file-iterator: ^3.0
- phpunit/php-text-template: ^2.0
- phpunit/php-timer: ^5.0
- phpunit/php-token-stream: ^4.0
- phpunit/phpcov: ^8.2
- phpunit/phpunit: ^9.6
- symplify/easy-coding-standard: ^11.5
Suggests
- ext-amqp: To use AMQP (RabbitMQ) Queues instanceof Sync or Redis Queues.
- ext-apcu: To store UUID Node id, otherwise we are using filesystem fallback.
- ext-ftp: To use FTP protocol helper.
- ext-gd: To use image helper wrapper.
- ext-http: To use HTTP protocol helper.
- ext-imap: To use IMAP protocol helper.
- ext-mysqli: To use mysqli database engine.
- ext-phar: To build the hole application as a phar, if desired.
- ext-redis: To use Redis for Caching, Queues instanceof database or file systems.
- ext-sodium: To use curve encryption, for example jwt(EdDSA).
- ext-sqlite3: To use sqlite3 database engine.
- ext-ssh2: To use sftp filesystem.
- ext-swoole: To use swoole http server to speed up your application.
This package is auto-updated.
Last update: 2024-09-28 09:45:14 UTC
README
简介
微型框架最初是一个小型教学项目,并继续发展成为成熟的“全供应商”PHP框架。这个练习的目的是构建一个仅存在于供应商目录中且没有其他依赖项的框架。
在创建前几个类之后,就已经移除了所有PSR标准的实现。原因是在所有子区域都需要以不同的和不一致的方式实现。
如何开始
composer create-project --stability=dev --remove-vcs sgc-fireball/tinyframework-skeleton my-project master cd my-project; php console
文件夹
- app
- 命令
- Http
- 控制器
- Api
- 中间件
- 控制器
- 提供者
- config
- database
- migrations
- public
- resources
- lang
- en
- views
- lang
- storage
- cache
- logs
- psych
- sessions
调试
打开PHPStorm设置 PHP
/ 服务器
- 名称:
tinyframework
- 主机:
127.0.0.1
- 端口:
9000
- 调试器:
xdebug
- 使用路径映射
是
- 将其映射到
/app
使用我们的预配置别名 phpx
。
phpx console
性能
-
启用composer类映射权威。
composer dump-autoload --optimize-autoloader --classmap-authoritative
-
卸载!!!! xdebug
-
使用PHP OpCache。但要注意,并禁用/storage/下的缓存文件。请参阅TinyFramework Opcache
待办事项
- 实现DateTime包装器
- 实现Input::choise, Input::question, Input::confirm
- 实现模型关系
- 实现模型类型转换
- 实现身份验证服务/接口
- 创建一个带有node服务器的小型框架echo作为nodejs仓库
- URL签名者
- https://github.com/opis/closure/
- 实现ServiceProviders::provides以实现懒加载服务
- 支持URL链接的分页器
想法
- foreach $loop 和 $loop->parent
- Str的Markdown解释器
Git钩子
请运行
git config --local core.hooksPath .githooks/
作者
Richard Hülsberg rh+github@hrdns.de