PHP自定义'MVC':包含'modules'即包含HTML/CSS/JS的正确方法
PHP Custom 'MVC': Including 'modules' that contain HTML/CSS/JS the right way
我已经创建了我的自定义 PHP 'MVC',如果您这样称呼它的话,它具有将页面和某些组件视为 'modules' 的结构,方法是将它们存储在它们的自己的文件夹,其中包含与 'modules' 相关的任何代码。模块大致如下所示:
├── popup/
│ ├── popup.css
│ ├── popup.js
│ └── popup.php
└── home/
├── index.php
├── css
│ └── style.css
├── js
│ └── script.js
└── html
└── layout.php
我发现这个结构更好用,显然这个人也是:Lay Out Your Code Like You'd Lay Out Your House
popup是可以添加到视图的组件,home是视图(I我没有将它们存储在同一位置,只是为了这个示例简化了结构)。
我希望能够轻松地将 popup 组件包含在它所使用的视图中。我现在做的是分别包含 CSS、JS 和 HTML,像这样:
on home/css/style.css:
@import "../../popup/popup.css"
on home/js/script.js:
// @codekit-prepend '../../popup/popup.js';
on home/html/layout.php:
include '../../popup/popup.php';
我脑海中的完美案例场景是能够在每个视图上包含带有一个衬里的 popup 组件,类似于包含 PHP 库。有正确的方法吗?
我之前使用 link[= 在 html 文档中渲染 popup 的 CSS 和 JS 40=] 和 script,所以我可以通过只包含 popup.php 来包含完整的模块。这会增加文档必须加载的外部 CSS 和 JS 文件的数量。传说中还包含一个大 CSS/JS 文件比包含许多小文件更好。这在 2020 年仍然有效吗?
回复:“传说”:捆绑和缩小将减少多个请求的开销和总字节数。
您问题的另一部分——“我如何简化模块的使用”——可能会涉及加强您的 MVC 代码库。您可能想要做的是每个模块都有一个核心文件或例程,将由您的基本代码调用.. include_me.php 或 class::bootstrap(&$theApp) ..您的里程可能会有所不同 -然后在要包含 CSS 和 JS 的部分中,您遍历 theApp-arrays,如 $pageCSS、$headJS 和 $bodyJS,并在适当的位置包含所有文件include_me/bootstrap 例程放入这些数组。
我已经创建了我的自定义 PHP 'MVC',如果您这样称呼它的话,它具有将页面和某些组件视为 'modules' 的结构,方法是将它们存储在它们的自己的文件夹,其中包含与 'modules' 相关的任何代码。模块大致如下所示:
├── popup/
│ ├── popup.css
│ ├── popup.js
│ └── popup.php
└── home/
├── index.php
├── css
│ └── style.css
├── js
│ └── script.js
└── html
└── layout.php
我发现这个结构更好用,显然这个人也是:Lay Out Your Code Like You'd Lay Out Your House
popup是可以添加到视图的组件,home是视图(I我没有将它们存储在同一位置,只是为了这个示例简化了结构)。
我希望能够轻松地将 popup 组件包含在它所使用的视图中。我现在做的是分别包含 CSS、JS 和 HTML,像这样:
on home/css/style.css:
@import "../../popup/popup.css"
on home/js/script.js:
// @codekit-prepend '../../popup/popup.js';
on home/html/layout.php:
include '../../popup/popup.php';
我脑海中的完美案例场景是能够在每个视图上包含带有一个衬里的 popup 组件,类似于包含 PHP 库。有正确的方法吗?
我之前使用 link[= 在 html 文档中渲染 popup 的 CSS 和 JS 40=] 和 script,所以我可以通过只包含 popup.php 来包含完整的模块。这会增加文档必须加载的外部 CSS 和 JS 文件的数量。传说中还包含一个大 CSS/JS 文件比包含许多小文件更好。这在 2020 年仍然有效吗?
回复:“传说”:捆绑和缩小将减少多个请求的开销和总字节数。
您问题的另一部分——“我如何简化模块的使用”——可能会涉及加强您的 MVC 代码库。您可能想要做的是每个模块都有一个核心文件或例程,将由您的基本代码调用.. include_me.php 或 class::bootstrap(&$theApp) ..您的里程可能会有所不同 -然后在要包含 CSS 和 JS 的部分中,您遍历 theApp-arrays,如 $pageCSS、$headJS 和 $bodyJS,并在适当的位置包含所有文件include_me/bootstrap 例程放入这些数组。