unicate/no-framework

包 YES,框架 NO!

安装: 11

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

公开问题: 0

类型:项目

v1.1 2020-06-14 16:11 UTC

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 框架。已经有了一些优秀的框架。如全功能的 LaravelSynfony,以及微框架 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.phpapp/services 中的服务类。

文件夹结构相当直观

-- app
|  |-- core
|  |-- config
|  |-- middlewares
|  |-- utils
|  |-- models
|  |-- logs
|  |-- controllers
|  |-- views
|  |  |-- templates
|  |-- services
|-- public
|  |-- css
|  |-- js
|-- db
|-- vendor

免责声明 & 许可证

此代码应帮助您构建自己的解决方案。它不是成熟的、经过全面测试的软件。您使用任何内容都需自行承担风险。享受使用它吧。

无框架(No-Framework)软件基于MIT许可协议发布。

最后

现在去构建一些东西,并且让人们开心吧!