abollinger/partez

一个简单且快速的PHP网页应用入门套件

v2.6.2 2024-04-11 05:29 UTC

README


一个简单且快速的PHP网页应用入门套件。

🐛 报告错误 | 在Packagist上查看 📦️

Total Downloads Latest Stable Version License

此套件旨在帮助开发者快速创建简单的PHP应用。

该项目已在 Packagist 上发布,因此您可以根据它创建新的项目。

Home

目录
  1. 入门
  2. 如何工作
  3. 构建方式
  4. 贡献
  5. 联系

入门

要求

您只需要 Composer 来创建项目并运行服务器(开发模式)。

步骤

  1. 首先为您的项目创建一个新文件夹,并在其中打开一个终端。

  2. 运行以下命令。这将创建所有必要的文件并安装项目的依赖项。

composer create-project abollinger/partez .
  1. 然后您需要在项目的根目录下创建一个 .env 文件。这应该是自动完成的,但如果不是,您可以使用 .env.example 来查看此时 .env 可以包含的内容。

  2. 最后运行以下简单命令

composer serve

然后在浏览器中打开 localhost:1234 来查看结果(端口号可能会根据您机器上已使用的其他端口号而更改。请检查控制台中的日志)。

如何工作

配置

  1. 您可能想自定义应用的HTML头部。请访问 src/view/layout.html.twig 文件并做出所需更改。

  2. 关于路由器配置,描述如下。

路由器

路由是从 src/Controller 文件夹中包含的控制器文件自动推导出来的。为了使其正常工作,每个控制器都必须按以下方式块注释:

/**
 * @Route("/", name="Home", auth=false)
 */

第一个元素 "/" 是页面将通过该URI访问。这是必须的。第二个元素 name="Home" 是页面的名称。这也是必须的。最后,第三个元素允许您通过 $this->session->isLoggedAndAuthorized(true) 限制页面访问权限。

页面

页面由控制器在 src/Controller 路径渲染。此控制器必须是 Abstract/Controller.php 中定义的主要控制器的一个扩展。在页面控制器中,您必须定义 init() 方法,该方法将调用 renderView("page.html.twig") 方法,该方法渲染twig模板。

twig模板位于项目根目录的 src/view 中。基本的twig布局定义在 src/view/layout.html.twig 中,每个页面的twig模板都扩展了此布局。

公共文件夹

public 目录包含索引.php入口点,基本的js、css和图片文件夹。请自由地自定义这部分。

API

api/ 文件夹中提供了一个基本的API。此API由运行在MySQL上的数据库提供支持。

构建方式

  • 此套件使用 PHP 构建,尽可能多地使用 MVC模式。我们使用 Twig 模板引擎生成页面。
  • 样式现在由 Bootstrap v5.2 驱动,使用简单的CDN链接。
  • 您可以在公共文件夹或之前提到的地方添加JS脚本。

基本结构是

.
├── api/
│   ├── Abstract/ (Basic logic of the api)
│   ├── Config/ (Configuration files)
│   ├── Controller/
│   │   └── [Controllers, typo is <Name>Controller.php]
│   ├── Model/
│   │   └── [Models, typo is <Name>Model.php]
│   ├── Provider/ (Providers logic like Database or any other resources provider)
│   ├── Router/ (main router logic for the api)
│   ├── View/ (set up a standardized response for every API request)
│   └── Starter.php
├── public/
│   ├── css/
│   ├── images/
│   ├── js/
│   └── index.php
├── src/
│   ├── Abstract/ (Basic logic of the app)
│   ├── App/ (Starter of the app)
│   ├── Config/ (Some configuration files like Bootstrap or Session)
│   ├── Controller/
│   │   └── [Controllers, typo is <Name>Controller.php]
│   ├── Router/ (Contains main Router logic)
│   └── view/ (Contain Twig templates for your app)
└── .env

贡献

您能提供的任何贡献都将被极大地赞赏!请按照以下步骤提交您的想法

  • 分叉项目
  • 创建您的功能分支,使用 git checkout -b features/Myfeature
  • 提交您的作品 git commit -m "✨ 引入 Myfeature!"
  • 推送 git push origin features/Myfeature
  • 打开一个Pull Request

我们将对您的工作进行审查,如果一切正常,将其合并到主分支。不要犹豫,每一个小小的贡献都是使这个启动套件变得更庞大的绝佳方式!

联系

如果您对这个包有任何疑问,如何安装、使用或改进,请随时联系我

Antoine Bollinger - LinkedIn - antoine.bollinger@gmail.com

您可以用 🇫🇷, 🇧🇷 或 🇬🇧 与我交流。