FssPHP 一款由symfony为底层开发的框架

纯粹技术交流分享,
symfony框架的路由,请求响应,中间件,容器注册,twig等组件,我觉得做得真的太棒,但底子也太厚重,一个composer install 能下出十几个组件包出来。所以我基于symfony的代码构建了自己的框架。

项目代码:

github.com/xuey490/novaphp
gitee.com/fsscms/NovaFrame

官方网站: www.phpframe.org/ 暂时没啥东西:blush:

欢迎大家star & fork,使用分享。

Static Badge Static Badge Static Badge zread

简介:

这是一款基于symfony的底层代码开发的轻量级,强大,快速,简单,安全的php框架。

核心特性

🚀 性能与安全

  • Workerman启动器: 使用workerman 可兼容FPM启动,一样的写法,超传统FPM 10倍以上的性能
  • Symfony 组件集成:利用 Symfony 7.x 组件实现 HTTP 基础、路由、依赖注入和缓存
  • 轻量级设计:最小开销,快速请求处理
  • 集成中间件:CSRF保护、XSS过滤、速率限制和 IP阻断等中间件
  • 路由缓存:基于文件的缓存系统优化路由加载,注解路由注入中间件
  • 日志检查:基于Monolog的强大的日志功能,日志分片切分
  • 事件管理:自由把控web开发的每个细节

🔧 开发体验

  • 多种路由选项:约定的自动路由、支持手动路由配置和基于属性的路由
  • 依赖注入:完整的 Symfony DI 容器集成用于服务管理
  • 模板灵活性:双重模板引擎支持(Twig 和 ThinkTemplate)
  • ORM 集成:ThinkORM 集成用于数据库操作
  • 数据验证:ThinkValidate 的强大数据集验证
  • 权限控制:基于php注解和DOC Comment注释,注解路由的权限设置

🛠️ 现代 PHP 特性

  • PHP 8.0+ 支持:利用现代 PHP 特性,包括属性和联合类型
  • PSR 标准:遵循 PSR-4 自动加载和其他相关标准
  • Composer 就绪:基于 Composer 的标准依赖管理

下载安装:

1.传统启动模式

  • 本地环境:php8.0 + 及以上,Redis,MySQL5.7, composer 2.x及以上
  • 从GitHub下载main版本,解压到本地目录,在根目录下运行

composer install

  • 等组件包下载完毕后,打开cmd命令行窗口,输入:

php -S localhost:8000 -t public

  • 打开浏览器,输入地址localhost:8000
  • 也可以部署到任何可以运行php的Apache或Nginx服务器上。

    2.workerman启动

  • 本地环境:php8.0 + 及以上,Redis,MySQL5.7, composer 2.x及以上
  • 从GitHub下载main版本,解压到本地目录,在根目录下运行

composer install

  • 等组件包下载完毕后,打开cmd命令行窗口,输入:

php watch.php start

  • 打开浏览器,输入地址localhost:8000
  • 也可以部署到任何可以运行php的Apache或Nginx服务器上。

应用文档

强烈推荐Zread.Ai,感谢他们提供项目文档分析生成。zread.ai/xuey490/novaphp

测试路由:

所有的控制器,都在App/controllers, 按http://localhost:8000/控制器名/动作名 访问,如下面

localhost:8000/user/add

代码质量扫描

本框架的程序代码,非常规范,冗余,重复代码非常少,也适合新手自学扩展。

鸣谢(站在巨人的肩膀上能看得更远)

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 6
yangweijie

压测性能如何 比之 webman哪个快

2周前 评论
xuey390 (楼主) 1周前

应该用laravel的orm库跟验证库的 tp的orm跟验证库没有laravel的全

1周前 评论
yangweijie 1周前
xuey390 (楼主) 1周前

加这么多扩展,还不如直接用webman

4天前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!