collaborar/forgge-plugin

一款使用 Forgge 框架的现代 WordPress 开发插件

安装: 2

依赖: 0

建议: 0

安全: 0

星标: 0

关注者: 0

分支: 0

公开问题: 0

类型:wordpress-plugin

0.17.1 2024-09-14 17:56 UTC

This package is auto-updated.

Last update: 2024-09-25 20:52:58 UTC


README

一款使用 Forgge 框架的现代 WordPress 开发插件。

摘要

非目标

  • 接管 WordPress 主要查询。

    Forgge 并没有接管主要查询,而是与之积极协作。

  • 接管 WordPress 路由。

    Forgge 并没有接管 WordPress 的路由,而是与之积极协作。唯一例外是用户明确添加的硬编码 URL。

  • 使用面向对象的接口重新发明 WordPress API。

    Forgge 没有提供注册帖子类型、分类或类似内容的替代 API,因为这些功能带来的益处很小。相反,它为开发者提供了逻辑上便利的位置来使用核心 API。

  • 默认使用第三方引擎。

    Forgge 默认使用 PHP,与 WordPress 的用法相同,但增加了更多功能。使用第三方引擎完全可选,需要安装扩展。

  • 包含 Laravel 或其他框架的大部分内容。

    Forgge 专为 WordPress 而优化,虽然受到 Laravel 的启发,但它不包含任何 illuminate/* 包。只有 2 个第三方生产依赖项

    • pimple/pimple - 单文件 PHP 服务容器。
    • guzzlehttp/psr7 - PSR-7 请求和 ServerRequest 实现。

要求

目录结构

wp-content/plugins/your-plugin
├── app/
│   ├── helpers/              # Helper files, add your own here as well.
│   ├── routes/               # Register your Forgge routes.
│   │   ├── admin.php
│   │   ├── ajax.php
│   │   └── web.php
│   ├── src/                  # PSR-4 autoloaded classes.
│   │   ├── Controllers/      # Controller classes for Forgge routes.
│   │   ├── Routing/          # Register your custom routing conditions etc.
│   │   ├── View/             # Register your view composers, globals etc.
│   │   ├── WordPress/        # Register post types, taxonomies, menus etc.
│   │   └── ...
│   ├── config.php            # Forgge configuration.
│   ├── helpers.php           # Require your helper files here.
│   ├── hooks.php             # Register your actions and filters here.
│   └── version.php           # Forgge version handling.
├── dist/                     # Bundles, optimized images etc.
├── languages/                # Language files.
├── resources/
│   ├── build/                # Build process configuration.
│   ├── fonts/
│   ├── images/
│   ├── scripts/
│   │   ├── admin/            # Administration scripts.
│   │   └── frontend/         # Front-end scripts.
│   ├── styles/
│   │   ├── admin/            # Administration styles.
│   │   ├── frontend/         # Front-end styles.
│   │   └── shared/           # Shared styles.
│   └── vendor/               # Any third-party, non-npm assets.
├── vendor/                   # Composer packages.
├── views/
│   ├── layouts/
│   └── partials/
├── screenshot-1.png          # Plugin screenshot.
├── forgge                  # Forgge CLI shortcut.
├── forgge.php              # Bootstrap plugin.
└── ...

重要目录

app/helpers/

在此处添加 PHP 辅助文件。辅助文件应只包含 函数定义。有关操作、过滤器、类等放置位置的信息,请参阅下面。

app/src/

在此处添加 PHP 类文件。所有在 MyApp\ 命名空间中的类都将根据 PSR-4 进行自动加载。

resources/images/

在此处添加用于样式的图像。在运行构建过程时,优化后的副本将被放置在 dist/images/ 中。

resources/styles/frontend/

将 .css 和 .scss 文件添加到前端包中。别忘了在 index.scss@import 它们。

resources/styles/admin/

resources/styles/frontend/ 目录工作方式相同的 admin 样式目录。

resources/scripts/frontend/

在此处添加 JavaScript 文件以将其添加到前端包中。入口点是 index.js

resources/scripts/admin/

resources/scripts/frontend/ 目录工作方式相同的 admin 脚本目录。

views/

  1. views/layouts/ - 其他视图扩展的布局。
  2. views/partials/ - 预设要跨多个视图重用的小型片段。
  3. views/ - 可能扩展布局并可能包含部分的全页视图。

避免在这些视图中添加任何 PHP 逻辑,除非与布局有关。业务逻辑应放入

  • 辅助文件 (app/helpers/*.php)
  • 服务类
  • 控制器 (app/src/Controllers)