unicate / no-framework
包 YES,框架 NO!
v1.1
2020-06-14 16:11 UTC
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: 2024-09-05 01:09:27 UTC
README
包 YES,框架 NO!
这是什么?
可以称之为 "胶水" 或 "模板代码"。"No-Framework" 的目标是提供一个简单易懂的基础,让您在开发时有一个良好的起点。
"No-framework" 基于 流行的、经过验证的包,这些包可以轻松地与其他您喜欢或已知的包进行交换。
主要使用以下包:对于依赖注入 PHP-DI,数据库访问和查询 Medoo,模板 Plates 以及一些其他包... 还有一些作为“胶水”的少量自写代码。
为什么选择 No-Framework
- 我想有 控制权,并且想 理解 我正在做什么。
- 我想从 小规模 开始,并在必要时进行扩展。
- 我想 专注于 解决方案,而不是框架。
- 我想快速 开发,但又不希望重新发明轮子。
- 我想使用 可交换的组件。
满足所有这些需求的基本答案是包。包作为可扩展、可交换的组件。借助 Composer 和 Packagist,PHP 生态系统为此提供了一个完美的解决方案。
它不是什么!
它不是一个 PHP 框架。已经有了一些优秀的框架。如全功能的 Laravel 或 Synfony,以及微框架 Slim 等等。
使用框架提供了一些优点,但也有些缺点。简而言之,如下所示
- 优点: 快速开发、安全性、文档、维护和社区。
- 缺点: 可能不符合您需求的通用解决方案、有限的控制权、学习曲线、开销和较慢的执行速度。
入门指南
使用 Git 或 Composer
git clone https://github.com/unicate/no-framework.git my-project-name
composer install
composer create-project unicate/no-framework my-project-name
"任务列表" 示例是一个简单的示例应用程序。下载代码并查看发生了什么。为了帮助您理解,这里有一些视图提示和原则
- 重要: 使用
db/
中的代码设置本地测试数据库。 - 重要: 将
app/config
中的 .env-default 复制到 .env 并输入数据库连接详情。 - 重要: 要启动本地 PHP 服务器,只需执行
serve.sh
。 - 架构基于 MVC 模式。
- 对象仅由依赖注入容器创建,并在
app/config/dependencies.php
中配置。 - 所有环境依赖配置都在
app/config/.env
中完成。 - 路由在
app/config/routes.php
中定义。 - 如果您想更改文件路径,请使用
app/core/constants.php
。 - 您的控制器应扩展
AbstractController
类。 - 只有 CSS 和 JS 文件应位于公共目录中。
- 如果您想更换基本包,请查看
app/config/dependencies.php
和app/services
中的服务类。
文件夹结构相当直观
-- app
| |-- core
| |-- config
| |-- middlewares
| |-- utils
| |-- models
| |-- logs
| |-- controllers
| |-- views
| | |-- templates
| |-- services
|-- public
| |-- css
| |-- js
|-- db
|-- vendor
免责声明 & 许可证
此代码应帮助您构建自己的解决方案。它不是成熟的、经过全面测试的软件。您使用任何内容都需自行承担风险。享受使用它吧。
无框架(No-Framework)软件基于MIT许可协议发布。
最后
现在去构建一些东西,并且让人们开心吧!