加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – require()不好的做法?如何不重用代码

发布时间:2020-12-13 17:40:37 所属栏目:PHP教程 来源:网络整理
导读:使用require()是不是很糟糕?大多数网站都有一个页眉和页脚,无论您在页面上导航,它们看起来都是一样的.但主要内容因页面而异.既然我不想重用代码,在两个地方使用相同的代码,我认为require()非常好.但是可以像我一样使用它吗? 这是我的例子: div class="con
使用require()是不是很糟糕?大多数网站都有一个页眉和页脚,无论您在页面上导航,它们看起来都是一样的.但主要内容因页面而异.既然我不想重用代码,在两个地方使用相同的代码,我认为require()非常好.但是可以像我一样使用它吗?

这是我的例子:

<div class="content">
    <section>
        <?php require('mainpage.php'); ?>
    </section>
    <aside class="sidebar">
        <div class="sidebar-box">
            <?php require('sidebar/box1.php'); ?>
        </div>
        <div class="sidebar-box">
            <?php require('sidebar/box2.php'); ?>
        </div>
    </aside>
</div>

侧边栏框是一个包含“最新新闻”等内容的框.由于我可能希望在许多页面上都有“最新消息”框,我需要()它以便在两个地方没有相同的代码.

我应该解决它吗?

谢谢你的帮助!

解决方法

完全没有错,重用代码块是非常好的做法.它还使HTML结构更具可读性,并为您提供HTML表示和PHP业务逻辑之间的基本分离.查看 MVC pattern了解为什么这是一件好事.

要记住一些要点:

>您可能需要考虑使用具有完整服务器文件路径的$docroot变量,因为相关文件路径在某些PHP安装上偶尔会变得不稳定,并且如果您从其他文件中包含上述代码本身.相对文件路径看起来更容易移动整个代码库,但是如果你这样做就可以改变$docroot并且没关系.您还可以使用$librarydir变量,以便可以移动HTML模板而无需移动PHP文件的位置.
>有些文件应该带有require_once(),这样你就不会弄得一团糟HTML标题,页脚等可能听起来很明显,但很容易将页脚放入两个文件中,然后从其他地方包含这些文件,这样可以通过提供更详细的错误消息来简化调试.
>您可能会发现,以更加正式的灵活方式执行MVC方法的模板引擎可以帮助您.查看其他人提到的Smarty,或Dwoo,这是PHP5的重写.>如果包含的文件中的代码使用全局范围内的变量,并且随着程序变得更加复杂,可能会发生奇怪的事情,这可能导致难以确定的错误,其中一个包含通过改变变量来巧妙地破坏另一个同名.考虑将sideblock的代码放入函数或类中,以便变量在它们自己的范围内,并且可以将它们分开.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读