Adige 是一个用于构建 Web 应用的实验性 PHP 框架。

维护者

详细信息

github.com/mathmpr/adige

源代码

问题

安装: 1

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:package

dev-master 2024-03-20 12:47 UTC

README

该项目旨在研究 PHP 和 MySQL 语言,主要涵盖 JS、HTML、CSS,目标是逐步创建一个基于市场上最受欢迎的简单框架。

关于

Adige 是意大利第二长的河流,自古以来就是该国最重要的河流之一。这条河流的名字赋予了特伦蒂诺-上阿迪杰地区。项目的名字仅是对一位合作者(@mathmpr)前往这个意大利地区的回忆的致敬。

Git 规则

让我们尝试以专业的方式使用 git,为此我们将建立一些规则。

  • 尽量不直接向 masterdevelop 分支提交和推送。
  • 分支模型必须遵循一个标准
    • adjust - 用于一般调整。例如:adjust/<组件名>/fix-number-of-params-for-bind-value
    • hotfix - 当 master 分支中存在错误时,我们可以直接从 master 分支创建分支,然后直接向 master 分支提交 pull request,仅用于修复一些“紧急”错误。例如:hotfix/<组件名>/fix-regex-for-identify-routes
    • feature - 当我们首次上传功能时。例如:feature/<组件名>
    • enhancement - 当我们打算进行代码改进或重构时。例如:enhancement/<组件名>/new-router-system
  • 提交时,始终以简化的形式输入一条关于其中内容的消息。
  • 提交 pull request 时,我们始终将我们的分支指向 develop(除非是 hotfix),并在一周或一个月的某一天将 develop 中的所有内容移动到 master
  • pull request 必须描述 pull request 中包含的提交所完成的内容。
  • 在 pull request 获得至少一个 批准 且所有 pull request 对话都得到解决之前,不能将 pull request 合并到目标分支。

目标

  • 研究面向对象的概念。
    • 什么是对象和类。
    • 理解 publicprivateprotected 访问级别。
    • 静态和非静态方法之间的区别。理解属性。
    • 继承概念的工作原理。
    • 接口概念的工作原理。
    • 抽象类概念的工作原理。
  • 研究 DDD 的概念。
  • 创建一个用于允许调用 HTTP:GET 方法、POST、OPTIONS、PUT、DELETE 的 router 组件。
    • 研究 HTTP 方法。
    • 理解 router 的工作原理。研究 laravelyii2slim 的参考。
    • 实现类似于 slim 的基本功能,允许路由分组。
    • 允许基于 URI 的 自动发现 路由。
    • 实现中间件。
  • 创建用于在 MySQL 数据库上执行基本和动态操作的基组件。
    • 输入必须是 查询 和包含任何操作数据的 数组
    • 学习如何使用 查询构建器 ORM
    • 实现一个查询构建器。

项目结构和启动

将 composer.json 文件添加到项目根目录,以便自动加载我们将要构建的系统类。更多详情请阅读 /src 文件夹内的 README.md。

要使用 composer 启动项目,您需要下载 composer。为此,进入此项目的根目录,然后执行以下页面上的命令:在此页面

如果一切顺利,项目根目录将会有文件 composer.phar

按照以下顺序运行以下命令:php composer.phar install 然后 php composer.phar dump-autoload