2

所以我一直在寻找一个我不确定是否存在的 PHP 选项,但也许我只是像我经常做的那样忽略了解决方案。我想在我的 PHP 中使用包含将我的代码分解成更小的一口大小的块。我想让包含查找文件名的一部分而不是整个名称。

举个例子。我有 1 个文件和 3 个子文件。

  • 工作.php
    • jobs_view_simple.php
    • jobs_view_detail.php
    • jobs_view_print.php

在jobs.php 文件中,我有3 个包含在一些逻辑中的各种需求。

include 'partials/jobs_view_simple.php';
include 'partials/jobs_view_detail.php';
include 'partials/jobs_view_print.php';

PHP中有没有一种方法可以通过引用最后一个单词/ s来指向子文件。类似于 wordpress 如何拥有get_template_part。我认为这对我在这个项目中会有所帮助,但我不确定这怎么可能。也许这是我需要编写的一个尚不存在的函数。

想法?

4

2 回答 2

1

应该能够使用glob(),所以你应该能够做到这一点:

foreach (glob("partials/jobs*.php") as $filename) {
    include $filename;
}

http://php.net/manual/en/function.glob.php

于 2013-09-23T18:49:24.303 回答
1

扩展 Pitchinnate 所说的内容,您可以创建一个函数来执行此操作

function includePartial($partial) {

    foreach (glob("partials/".$partial."_view_*.php") as $filename) {
        include $filename;
    }

}

然后你可以做

includePartial('jobs');
于 2013-09-23T19:29:44.497 回答