【发布时间】:2016-02-06 07:04:00
【问题描述】:
我正在构建一个 PHP 函数来将 JavaScript 文件排入 PHP 数组,然后使用另一个 PHP 函数将所有 JS 文件加载到页面中,并根据可以传递到的排序号按顺序加载它们入队功能。类似于 WordPress 加载 JS 和 CSS 文件的方式。
所以我的 PHP 函数 enqueue_js_script() 可能如下所示,它接受 JS 文件的键名、JS 文件的文件路径和可选的排序顺序号。然后它将 JS 文件添加到 PHP 类属性 $this->_js_files[$script_key]...
public function enqueue_js_script($script_key, $file_source, $load_order = 0){
$this->_js_scripts[$script_key] = $file_source;
}
然后我还会有一个 PHP 函数load_js_scripts(),它将每个脚本文件路径打印到网页 HTML 的标题中。
这是我要考虑传递给enqueue_js_script() 的$load_order 以根据这些数字按顺序将脚本打印到HTML 中的地方。
如何使用此排序顺序号对我的 JS 脚本数组进行排序?
更新
看起来我应该将排序号存储在这样的数组中......
$this->_js_files[$script_key] = array(
'file_source' => $file_source,
'sort' => $load_order
);
【问题讨论】:
-
为了简化您的问题,您传入了一个键、一个值和一个排序顺序。您需要将值和排序顺序保存在对象中,并使用 usort php.net/manual/en/function.usort.php 编写自定义排序函数
-
$script_key的目的是什么?可以将多个脚本文件分配给同一个$script_key吗?