PHP + Wordpress功能组织:哪个更好,function()还是Include()?

时间:2012-02-10 15:05:00

标签: php wordpress function code-organization

这个问题分为两部分:

#1

我有一个带有函数的填充的functions.php。我必须滚动才能找到我想要的功能,甚至用评论来描述一个结束和下一个结束的地方,有时很难找到我想要的东西。

我已将这些函数分解为单独的PHP文件,并使用include_once 'assets/functions/author_list.php';来使functions.php文件更清晰。

所以第一个问题是:在functions.php中使用多个includes会减慢加载时间或影响前端或后端的站点性能吗?

#2

第二个问题是类似的。如果我在函数中有如下函数。

<?php
function ao_post_meta() {
?>
                        <div class="post-meta">                     
                            <time datetime="<?php the_time('Y-m-d'); ?>"><?php the_time('M j, Y'); ?></time>
<?php if('videos' == get_post_type(get_the_ID())) { ?>
                            <a class="author-link" href="<?php bloginfo('wpurl'); ?>/character/<?php echo get_the_author_meta( 'user_nicename' ); ?>">
                                <span><?php the_author(); ?></span>
                            </a>
<?php } else { ?>
                            <a class="author-link" href="<?php echo get_author_posts_url(get_the_author_meta( 'ID' )); ?>">
                                <span><?php the_author(); ?></span>
                            </a>
<?php }?>
                            <a class="comment-link" href=""><?php echo get_comments_number(); ?></a> 
                        </div>
<?php
}
?>

将它放在一个单独的PHP文件my-post-meta.php中,并在我的模板中使用include(my-post-meta.php)而不是将其作为函数调用是否更好?

谢谢!

1 个答案:

答案 0 :(得分:2)

<强>#1 是的,它会的。但我建议你不要担心,因为:

  • 如果您所包含的文件数量不大,则会产生很小的影响,根本不会显示;
  • 在主机上有PHP的操作码缓存扩展,它将减少包含调用的影响;

<强>#2 我更喜欢将所有模板提取到单独的phtml文件中,这些文件存储在单独的文件夹中(例如“模板”)并在需要时包含它。它将提高您的功能的可读性。例如,您将拥有以下代码:

<?php
function ao_post_meta() {
    include './templates/mycustom-template.phtml';
}
?>

一般来说,我的建议如下:

  

尝试保持良好/直观的有组织的文件夹/文件结构而不是   将所有内容放在一个文件中它将使发展和   保持更轻松。