【问题标题】:Generating an array of functions?生成函数数组?
【发布时间】:2012-04-07 07:23:54
【问题描述】:

我有几个 PHP 文件,其中包含多个函数。我们称它们为functions1.php、functions2.php、functions3.php:

function function_something( $atts ) {
     extract( something_atts( array(
        'foo' => 'bar',
        'bar' => 'foo,
        ), $atts ) );  

         return 'something'; 
}   

我在 all_functions.php 中加载这些文件,如下所示:

require_once('functions1.php');
require_once('functions2.php');
require_once('functions3.php');

我想知道是否可以创建一个包含所有这些函数及其属性的数组?

我正在考虑类似的事情:

function my_functions() {
    require_once('functions1.php');
    require_once('functions2.php');
    require_once('functions3.php');
}

然后是一些 foreach 循环,但我不确定它到底应该是什么样子。

我知道这可能看起来很棘手,但我只是好奇我是否能够在没有 PHP 反射 API 的情况下列出所有 WordPress 短代码:)

【问题讨论】:

    标签: php arrays wordpress function require-once


    【解决方案1】:

    嗯,我认为这是一个坏主意,但你总是可以这样做:

    for($i = 1; $i < 4; $i++){
        require_once("functions".$i.".php");
    }
    

    但是,是的,这不是一个好主意;)

    【讨论】:

    • 或者当然只是将文件名放在一个循环中并循环遍历那些......?
    【解决方案2】:

    如果可以有一个(或多个)包含所有这些函数的静态类,为什么还要创建一个函数数组?您还可以编写一个函数来包含/要求目录中的所有文件。

    foreach (scandir(get_include_path() . 'DirectoryName') as $importDirFile) {             
        $pathinfo = pathinfo($importDirFile);
        #only php files
        if ($pathinfo['extension'] == 'php')
            require_once($importDir . $importDirFile);              
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-18
      • 2017-03-17
      • 1970-01-01
      • 2015-12-21
      • 2022-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多