在 PHP 中包含文件的最佳方式?

2023-11-21

我目前正在开发一个 PHP Web 应用程序,我想知道以代码仍然可维护的方式包含文件 (include_once) 的最佳方式是什么。通过可维护,我的意思是,如果我想移动文件,很容易重构我的应用程序以使其正常工作。

我有很多文件,因为我尝试拥有良好的 OOP 实践(一个类 = 一个文件)。

这是我的应用程序的典型类结构:

namespace Controls
{
use Drawing\Color;

include_once '/../Control.php';

class GridView extends Control
{
    public $evenRowColor;

    public $oddRowColor;

    public function __construct()
    {
    }

    public function draw()
    {
    }

    protected function generateStyle()
    {
    }

    private function drawColumns()
    {
    }
}
}

我曾经用以下命令启动我的所有 php 文件:

include_once('init.php');

然后在该文件中,我将 require_once 所有其他需要的文件,例如,functions.php 或 globals.php,其中我将声明所有全局变量或常量。这样您只需在一处编辑所有设置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PHP 中包含文件的最佳方式? 的相关文章

  • 如何在 Zend Framework 3 中注册自定义表单视图助手

    我正在将继承的 Zend Framework 2 应用程序迁移到 Zend Framework 3 并且在注册自定义表单视图助手时遇到了一些困难 这些助手在应用程序使用版本 2 时起作用 主要用于添加标签属性以实现可访问性 例如 这是一个自
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入
  • 为什么我的会话仍然存在?

    我一定很愚蠢 因为似乎一件相当明显的事情现在让我完全困惑 我有一个会议 ie SESSION handbag id 在某个时刻 我需要彻底终止这个会话 ie at the start of the page session start el
  • 一种无需 JavaScript 即可在 PHP 中确定浏览器宽度的方法?

    首先有吗 或者我必须使用javascript 我希望能够更改使用的 CSS 因此 frex 我可以为移动设备或其他设备加载较小的字体 不幸的是 仅使用 PHP 无法检测用户分辨率 如果您使用 Javascript 则可以在 cookie 中
  • CodeIgniter 自定义库未加载

    我是 CodeIgniter 的新手 并尝试用它开发一个相当简单的应用程序 只是一个用于处理想要娱乐中心通行证的员工的注册的表单 我正在尝试将事物分开以使它们更清晰 这是代码 应用程序 控制器 reccenter php class Rec
  • 图像随机损坏(但刷新后加载)并显示“资源解释为图像但使用 MIME 类型 text/html 传输”

    我目前正在开发一个简单的 php 网站 问题是 我的整个网站中的图像 发生在所有 php 文件中 随机损坏并显示错误资源解释为图像 但以 MIME 类型 text html 传输但是 如果我尝试多次刷新页面 可以再次加载图像并且错误消失 我
  • 按文件名对 $_FILES 进行排序 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 他俩 如您所知 在新的 HTML5 中 您可以非常轻松地上传多个文件 但我这里的问题是如何按列 名称 对 FILES 数组进行排序 这是
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 PHP 构建正确的 SOAP 请求

    我需要格式化 构建此 SOAP 服务 的请求 http api notificationmessaging com NMSOAP NotificationService wsdl http api notificationmessaging
  • 如何在 PHP 的 HTML 页面中显示错误消息?

    我有以下登录表单 login php 其中要求输入用户名和密码
  • 将 cookie 设置为在当天结束时过期

    我想设置一个 cookie 并让它在一天结束时过期 这有效 但 24 小时后过期 setcookie route upgrade voted true time 86400 这不起作用 setcookie route upgrade vot
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • 如何在 Windows 上安装 Zend 框架

    安装 Zend Framework 就是这么简单 是的 对 好吧 我正在写一本初学者的书 有一件不太详细的事情是最重要的部分 安装该死的东西 浏览了几个小时的快速入门指南后 它只说 下载 Zend 添加包含目录 bla bla 然后就完成了
  • 如何使用更新资源控制器 laravel 4?

    我有带有索引 编辑 更新方法的客户控制器 Route resource customer CustomerController 控制器方法更新 public function update id echo id 我的 HTML 表单
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • PHP 接口有属性吗?

    PHP 中的接口有属性 还是只有方法 您可以在 DocBlock 中为接口声明属性 然后 IDE 将提示接口的这些属性 PhpStorm 会这样做 但这不会强制在实现类中实际实现这些字段 例如 property string passwor
  • PHP 表单 - 带验证蜜罐

    我有以下内容 效果很好 但对垃圾邮件机器人开放 我想放入蜜罐 而不是验证码 下面的代码适用于验证姓名 电子邮件 消息 但我无法让它与蜜罐一起工作 任何人都可以查看 蜜罐 代码并告诉我如何修复它吗 我希望表单给出 success2 不允许垃圾
  • Laravel 搜索关系

    我有两个相关的模型 我正在尝试在产品中进行搜索 并且仅显示实际搜索结果 而不是找到该产品的类别的所有产品 我不想搜索任何类别 因为无论搜索什么或找到什么 类别都会始终显示 Example I have the following categ

随机推荐

  • 如何使用 python nltk 加速 stanford NER 的 NE 识别

    首先 我将文件内容标记为句子 然后对每个句子调用斯坦福 NER 但这个过程确实很慢 我知道如果我在整个文件内容上调用它会更快 但是我在每个句子上调用它 因为我想在 NE 识别之前和之后索引每个句子 st NERTagger stanford
  • 我可以更改 UISearchBar 清除按钮的颜色/图像吗?

    我想将清除按钮颜色更改为白色 我尝试了很多方法但没有运气 我还参考了以下内容link 但这对我不起作用 请找到我尝试过的以下代码 我正在开发最新的 ios 11 感谢任何帮助 class SearchBar UISearchBar over
  • 如何解析气流模板中的json字符串

    是否可以在气流模板中解析 JSON 字符串 我有一个 HttpSensor 它通过 REST API 监视作业 但作业 ID 位于上游任务的响应中 该任务具有xcom push marked True 我想做类似下面的事情 但是 这段代码给
  • 有时 console.log 在 log-ios 中显示,有时则不显示

    我跑了react native start在一个终端中 然后react native ios run在另一个 我的初始console log很少表现出来 但有时会表现出来 很多时候 我随机地看到 超出日志消息配额 此进程中的一些消息已被丢弃
  • 如何从监控摄像头录制的视频中读取时间?

    我有一个问题 我必须从监控摄像头录制的视频中读取录制时间 时间显示在视频的左上角区域 下面是显示时间的区域屏幕截图的链接 此外 数字颜色 白色 黑色 在视频播放期间不断变化 http i55 tinypic com 2j5gca8 png
  • 更新 .dbml 文件

    在数据库中进行一些更改后如何更新 dbml 文件 进行更改后没有内置方法可以将 dbml 文件 数据上下文与数据库同步 除了通过删除所有或部分实体并重新拖动它们来重新生成整个 dbml 文件之外 或者按照其他回复的建议使用 sqlmetal
  • Python - 找到最近的时间戳

    我有一个 Python 日期时间时间戳和一个大字典 索引 其中键是时间戳 值是我感兴趣的其他一些信息 我需要尽可能高效地找到索引中最接近时间戳的日期时间 键 目前我正在做类似的事情 for timestamp in timestamps c
  • .net MAUI 背景 vs 背景颜色 - 有什么区别?

    使用 Visual Studio Community Edition 2022 构建 Net MAUI 项目 我尝试搜索官方文档 但没有找到答案 有人可以解释以下内容吗 问题 有什么区别Background and BackgroundCo
  • SQL表连接中ON和WHERE子句的区别

    select e last name e hire date from employees e join employees m on m last name Davies and e hire date gt m hire date se
  • ActionFilterAttribute ninject 注入 - DbContext 已被处置

    我的项目使用通常的存储库模式以及服务和工作单元 所有这些都使用 Ninject 从 NinjectModule 注入依赖项 但我正在尝试从ActionFilterAttribute在我显示的页面布局中注入一些信息 来自数据库 这样我就不需要
  • 使用 JavascriptExecutor 的 Selenium Datepicker

    请告知是否接受使用 Selenium 的取货日期这种方法 WebDriver driver new ChromeDriver driver manage window maximize driver get https www spicej
  • 熊猫的重采样从几个月到几周

    我正在尝试将每月数据下采样为每周数据 并拥有如下所示的月份时间序列数据框 qty PERIOD NAME 2017 09 01 49842 0 2017 10 01 27275 0 2017 11 01 29159 0 2017 12 01
  • 在 Asio 中异步等待,直到套接字可用于读/写

    我想用 Boost Asio 执行以下操作 我有一个套接字 我想注册一个回调 当数据可用于在套接字上读取 写入时调用 但我不希望它实际执行读取 写入操作 基本上 我需要的类似于async read some async write some
  • 尝试在地图函数中添加字段时出现“对象不可扩展”错误

    我尝试使用地图向数组中的项目添加新字段 const newArray oldArray map item gt return item newField Something 我已经尝试过 const newArray oldArray ma
  • Maven:Surefire——干运行?

    有什么办法可以保证干运行吗 会列出哪些测试的东西would运行 而不运行它们 目标是了解在特定配置下哪些测试将在 JBoss AS7 测试套件中运行 Janinko 进行了更改 位于https github com janinko mave
  • Command.ExecuteScalar 始终返回 null,而 Management Studio 中的存储过程运行良好

    我有以下 SQL 存储过程 其中包含一个输入参数和一个输出参数 CREATE PROCEDURE dbo spCanUserEdit username nvarchar 255 AS BEGIN SET NOCOUNT ON DECLARE
  • 垂直居中 UILabel 时忽略上升和下降?

    我使用自动布局将一些标签放置在单元格的垂直中心 文本全部大写 但UILabel有问题时 即使sizeToFit应用后 会在文本下方留下空格 这看起来很像小写 y p 和 q 等字母的尾部 由于我垂直居中 这会导致偏移 意味着文本显示比应有的
  • 如何在 Laravel 中读取 FormData 对象

    我正在尝试将 ajax 提交表单到 Laravel 5 控制器方法 据我所知 在 php 中 您可以定义一个 FormData 对象 将输入字段附加到该对象并将其发送到服务器 您现在可以在其中使用输入字段名称提取值 Like so var
  • 在回溯中没有“引发”的情况下引发异常? [复制]

    这个问题在这里已经有答案了 可能的重复 不要在异常堆栈中显示 Python raise line 内置异常 例如NameError等给我一个回溯到我的代码中发生异常的点 我正在开发一个实用程序模块 它让我感到烦恼 如果使用我的模块的代码引发
  • 在 PHP 中包含文件的最佳方式?

    我目前正在开发一个 PHP Web 应用程序 我想知道以代码仍然可维护的方式包含文件 include once 的最佳方式是什么 通过可维护 我的意思是 如果我想移动文件 很容易重构我的应用程序以使其正常工作 我有很多文件 因为我尝试拥有良