【问题标题】:Autoloading PHP files in WordPress themes在 WordPress 主题中自动加载 PHP 文件
【发布时间】:2015-05-08 21:39:18
【问题描述】:

我一直在使用这个 sn-p 代码在我的 WordPress 主题中加载文件

/* https://gist.github.com/theandystratton/5924570*/
foreach ( glob( dirname( __FILE__ ) . '/lib/*.php' ) as $file ) { include $file; }`

这就是我的functions.php 文件中的所有内容,所有使用的文件都在/lib/ 目录中。 customize.phpload-assets.php 等文件。customize.php 用于所有与向定制器添加设置和控件相关的代码,load-assets.php 是我们加载资产(js 和 css)的位置。

所以我们正在进行代码审查,审查员建议我使用require get_template_directory() . '/path/to-file.php';手动包含每个文件

这样做有好处吗?你做什么工作?你该怎么办?

【问题讨论】:

  • 你在这里谈论多少文件?加载(比如说)500 个文件是没有意义的/无用的,在任何给定时间你只会使用其中的 10 或 15 个。这浪费了大量的加载/解析时间。
  • 想象一下外部用户能够将自己的php文件上传到这个文件夹的情况,会发生什么?
  • 好点@Lashane我没想到。
  • @MarcB 仅在 5-10 个文件之间。

标签: php wordpress


【解决方案1】:

我正在使用下面的代码来includeincludes 目录中的所有文件。

<?php
if ( ! defined( 'AT_BASE_DIR' ) )
    define( 'AT_BASE_DIR', trailingslashit( get_template_directory() ) );

foreach ( glob( AT_BASE_DIR . 'includes/*.php' ) as $file ) {
    include_once $file;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-30
    • 2013-03-15
    • 1970-01-01
    • 2015-09-17
    • 2021-12-02
    • 2023-03-05
    • 2016-01-11
    • 1970-01-01
    相关资源
    最近更新 更多