【问题标题】:PHP extending requires on filesPHP 扩展文件要求
【发布时间】:2012-11-26 22:06:37
【问题描述】:

我有一个问题需要帮助。

目前正在为自己开发一个新项目,我正在努力从一个良好的基础开始。

我已经构建了以下文件结构(相关部分):

  • 类/
  • 类/class.filename.php
  • 类/class.etc.php
  • 功能/
  • Func/func.filename.php
  • Func/func.etc.php
  • 配置/config.php
  • index.php

在我的配置文件中,所有类和函数都包含在 require_once 函数中(我在 func 和类中循环所有文件和目录)。在文件夹类中,firePHP 的文件位于我包含然后设置在 config.php 中。

在我的 config.php 和 index.php 中,我可以完美地调用这个日志函数,但是当我在 func.filename.php 或 class.filename.php 之一中使用它时,它会出错。子 (func/class) 看不到 config.php 中包含的其他函数。

希望有人能帮我解决这个问题。

【问题讨论】:

  • 您应该使用自动加载器,只在需要时才包含必要的文件。

标签: php parent-child parent require


【解决方案1】:

您的func.filename.php 文件需要“require_once”包含日志功能的文件。

【讨论】:

    【解决方案2】:

    另一个可能对您有用的解决方案(因为您有这种结构)是将所有需要的文件放在config.php 中(包含在require_once(<file>) 中)。这似乎有效。然后,当其他文件需要其他文件的任何其他功能时,只需require_once('config.php')

    【讨论】:

      【解决方案3】:

      最好只在需要时才包含您需要的内容。当您手头的脚本可能只需要 2 或 3 个时,为什么还要花时间加载 50 个不同的类/函数/sn-ps?删除不必要的包含语句可以显着提高脚本的性能。

      1. 对类使用__autoload() 函数。简直太棒了。
      2. include_once()require_once() 链接到您的各种文件中,以便获取给定作业所需的一个文件会自动获得其自己的依赖项。

      【讨论】:

        猜你喜欢
        • 2013-09-15
        • 1970-01-01
        • 1970-01-01
        • 2013-04-14
        • 1970-01-01
        • 2014-09-26
        • 2017-10-28
        • 1970-01-01
        • 2017-05-11
        相关资源
        最近更新 更多