在 PHP 中使用自动加载类时是否存在性能下降?

2024-03-27

目前,我通过在网站的每个页面上包含“all.inc.php”文件来加载所有类,然后该文件继续包含我将在整个网站上使用的所有配置、类、函数等。

我的问题是,我经常使用仅与网站的某些页面/部分相关的类,因此我经常在页面开头包含一堆不会使用的类。

显然,自动加载类可以解决这个问题,所以我的问题是,自动加载类是否会给我带来性能下降,因为服务器必须检查文件是否存在?如果有一个缺点,那么这个缺点是否比必须包含许多可能不会在页面上使用的类更糟糕?或者说差异是可以否定的吗?


本文有一些信息和基准:PHP 自动加载性能(已存档) https://web.archive.org/web/20160610044931/https://athos.blogs.balabit.com/2011/03/php-autoload-performance/。结论:

自动加载不会显着降低性能。 Include_path 查找、从磁盘读取和解析 PHP 脚本所花费的时间比单纯的自动加载逻辑成本要长得多。

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

在 PHP 中使用自动加载类时是否存在性能下降? 的相关文章

  • PHP7下如何安装mcrypt? Laravel 需要它

    由于 Laravel4 需要mcrypt扩展名 而PHP7好像没有mcrypt扩展 有什么解决方法可以解决这个问题吗 有同样的问题 PHP7 缺少 mcrypt 这对我有用 当询问时 保留本地 PHP 配置文件 sudo apt get u
  • PHPUnit:我如何模拟这个文件系统?

    考虑以下场景 这不是生产代码 class MyClass public function myMethod create a directory path sys get temp dir md5 rand if mkdir path th
  • 查找字符串中只出现一次的字符

    我正在用 PHP 编写一个算法来解决给定的数独难题 我已经设置了一个带有两个类的面向对象的实现 Square9x9 棋盘上每个单独图块的类 以及Sudoku类 其矩阵为Squares 代表董事会 我正在使用的算法的实现是一种三层方法 第一步
  • Codeigniter 活动记录选择、左连接、计数

    我有一个显示数据库查询结果的表单 这些结果可以有许多其他资产与之相连 我想找到一种方法来显示每个元素有多少资产 例如 我的表是英格兰地区 另一个表是用户居住的地方 我当前有这个代码 this gt db gt select this gt
  • 如何在 http POST 请求中发送 HTML 代码?

    我正在从 Google Web Toolkit 应用程序向 php 脚本发送 HTTP POST 请求 内容类型现在是 application x www form urlencoded 所以我可以将变量发送到 php 并使用 POST 在
  • 正则表达式删除外括号

    我一直在用这个 s s 正则表达式使用 PHP preg replace 函数删除外括号 在我上一个问题中了解更多信息正则表达式匹配除尾随空格之外的任何字符 https stackoverflow com questions 1076569
  • 将我的数据库类与项目中的其他类一起使用

    我有一个自己编写的自定义数据库类 还有一个用户类和一个站点类 MySQL 类有这样的方法 connect query clean fetch 用户等级 register login logout resetPass 站点类别 updateT
  • 使用 6.0 API (Android) 从服务器发送和接收数据

    我真的很困惑 我正在尝试开发一个简单的功能 允许我从服务器发送和接收数据 操作如下 在一个活动中 我对服务器上的 PHP 文件执行 HTTP POST PHP 文件 获取我发送的数据 通常是字符串 并使用通过 http 发送的参数执行查询
  • 被黑了!这段 PHP 代码的作用是什么?我应该如何避免? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 询问代码的问题必须对所解决的问题表现出最低限度的了解 包括尝试的解决方案 为什么不起作用以及预期结果 也可以看看 Stack Overfl
  • PHP:删除任何扩展名的文件?

    当用户上传照片时 它会检查他们是否已经拥有一张照片 如果他们这样做 我希望它删除旧的 可以有任何扩展名 然后放入新的 有没有办法在不从数据库获取旧扩展的情况下做到这一点 目前的代码 del members gt prepare insert
  • Woocommerce 根据购物车中的商品总数累进额外费用

    我正在寻找一些代码 可以根据购物车中的商品总数收取额外费用 例如 如果购物车中的商品数量 gt 6 gt 额外费用 5 如果购物车中的商品数量 gt 12 gt 额外费用 10 我努力了这段代码 https stackoverflow co
  • 获取 UNIX 时间戳的正确小时

    我认为这是一个愚蠢的问题 但似乎我找不到答案 我有这个时间戳 1295598602 在我的 php 脚本中我有 date date 年月日 1295598602 小时 日期 H 1295598602 00 这将返回 日期 2011 01 2
  • Android文件上传器与服务器端php

    我几个小时以来一直在寻找解决方案 但找不到任何解决方案 基本上 我想从我的 Android 设备上传文件到 http 网站 但是 我不知道如何做到这一点 我在设备上使用java 并且我想在服务器端使用PHP 我只想上传文件 而不是在服务器上
  • 在 Javascript 中获取类的所有实例

    我以为这个问题已经有了答案 但我似乎找不到答案 如何在 Javascript 中的此类的所有实例上运行特定的类方法 这必须在我不知道实例名称的情况下完成 我想我可以在类中使用某种静态变量来存储所有实例 但这在 JS 中似乎不存在 那么如何在
  • Symfony 4 和 Doctrine 2 从集合中删除(第一个)项目后序列化导致转换为 JSON 对象而不是数组

    我在序列化已删除第一个元素的集合时遇到很多麻烦 我有 CompaniesCollection 实体 与 Company 实体有 Many2Many 关系 ORM ManyToMany targetEntity App Entity Comp
  • 将 laravel 从 5.5 更新到 5.7 时出现错误(未定义的类常量 'HEADER_CLIENT_IP')

    我收到这个错误 未定义的类常量 HEADER CLIENT IP 脚本 php artisan package discover 处理返回的 post autoload dump 事件 错误代码1 我变了 app Http Middlewa
  • Laravel 工厂关联仅关联最后的数据。如何解决这个问题?

    我有两个模型需要在创建数据后关联 我已经问过了here https stackoverflow com questions 58742894 how to associate data from a different factory并得到
  • jQuery mobile 在 Opera Mini 浏览器中失败。如何获得错误输出?

    I have a jQuery Mobile http en wikipedia org wiki JQuery Mobile website that works great on normal browsers but it fails
  • PHP客户端验证https证书

    我需要创建一个 php 来充当客户端并使用 https 下的一些 Web 服务 我的问题是我还想验证服务器证书 我需要知道我有正确的服务器并且中间没有人充当服务器 有人能帮助我吗 Thanks 如果您有curl 扩展 则可以将其配置为验证连
  • 如何捕获 PHP 中的 cURL 错误

    我在用PHP curl功能 https php net manual en ref curl php将数据从我的本地计算机发布到网络服务器 我的代码如下 c curl init curl setopt c CURLOPT URL url c

随机推荐

  • 在 JQueryUI 选项卡选择上加载 ASP.NET MVC 部分视图

    我一直在寻找最后一天 找不到在过去一两年内提出的关于这个特定主题的任何内容 并且由于 JQuery 似乎相当多地弃用了一些东西 因此就当前的情况提出这个问题似乎是公平的jQuery API 对 JQuery 有点陌生 我想知道这一点 如果我
  • 具有动态宽度的居中固定 div (CSS)

    我有一个 div 具有以下 CSS some kind of popup position fixed top 100px min height 300px width 90 max width 900px 现在 我怎样才能让这个div居中
  • 高阶函数和柯里化函数之间的区别

    我在读一本书 使用 F 进行函数式编程 https rads stackoverflow com amzn click com 1107684064 which 第 33 页 在 部分高阶函数的声明 我们已经看到了高阶内置函数 例如 和 并
  • 跨多个工作表的 VBA 宏

    我正在尝试运行一个在多个工作表上执行功能的宏 假设我已经在工作表 4 上分配了宏按钮 我已经列出了我希望它逐步执行的功能 1 选择工作表 4 中的某些单元格并复制到工作表 4 中的相邻单元格 2 删除工作表 3 中的单元格区域 3 剪切工作
  • 根据语言重定向用户

    我有以下代码
  • 捕获右键单击 AS3

    是否可以在Flash AS3 中捕获右键单击 没有 JQuery JavaScript 当右键单击被捕获时 我需要暂停游戏 所以我不太想禁用上下文菜单 因为我只是想告诉发生了右键单击 我可以添加一个 EventListener 吗 还有其他
  • 具有多个参数的复杂排序?

    我有一个元组列表 li fink 3 flip 3 flock 4 foo 12 foot 20 football 20 futz 10 flip 3 flank 3 flop 3 如何首先按血统编号对列表进行排序 然后按字母顺序降序排序
  • 耙子中止! nil:NilClass 的未定义方法“先决条件”

    剧透 这是一个过时的版本rspec rails gem 在将我的 sqlite3 gem 移动到开发块中 然后运行 rake db migrate 以确保一切仍然有效之后 我在从 Rails 项目目录发出的任何 rake 命令中都遇到了此错
  • 如何使用poco实体生成器

    我用的是VS2010 下载了C POCO 实体生成器 http visualstudiogallery msdn microsoft com en us 23df0450 5677 4926 96cc 173d02752313并安装了它 现
  • GetProcAddress 以及所有已加载的库

    With dlopen你可以提供NULL作为库名称并获取一个句柄 使您可以在其中查找符号any加载的库的数量 如果文件名是 NULL 指针 则返回的句柄是 主程序 当赋予 dlsym 时 该句柄会导致搜索 主程序中的符号 后面是加载的所有共
  • Node.JS 中的基本 HTTP 身份验证?

    我正在尝试使用 NodeJS 编写一个 REST API 服务器 就像使用的那样Joyent http api no de 一切都很好 除了我无法验证普通用户的身份验证 如果我跳到终端并执行curl u username password
  • 如何获取 IShellItem 的系统图像列表图标索引?

    给定 Windows Vista 或更高版本IShellItem 如何获取与该项目关联的系统图像列表图标索引 例如 伪代码 IShellItem networkFolder SHGetKnownFolderItem FOLDERID Net
  • 引起原因:java.sql.SQLException:不支持的字符编码“utf8mb4”

    我正在编写一个将大量使用 utf 8 编码的应用程序 对于服务器 我使用 java servlet 对于 UI 我使用带有 jsp 和 javascript 的 Java Servlet 因此 在忽略乱码一段时间后 我决定解决 utf 8
  • 在 WPF DataGrid 中显示“显示名称”而不是字段名称

    这是我的类定义 public class Customer Display Name Customer ID public int ID get set Display Name Customer Name public string Cu
  • django Rest框架的控制流程是什么

    我正在为 web 应用程序开发 api 我最初使用的是 tastypie 后来改用了django rest framework drf Drf 对我来说似乎很容易 我打算做的是创建嵌套的用户配置文件对象 我的模型如下 from django
  • QGridLayout 与 PlotWidget-pyqtgraph

    我有 3 个PlotWidget http www pyqtgraph org documentation widgets plotwidget html 来自pyqtgraph图书馆 obj1 obj2 and obj3 我尝试将其插入到
  • ember-simple-auth,验收测试和等待异步操作

    努力应对验收测试 从基本登录测试开始 import test from qunit import moduleForAcceptance from static tests helpers module for acceptance mod
  • 如何在 python selenium 中通过类名及其文本定位元素

    您好 我正在尝试通过元素的类名及其包含的文本来定位元素 div class fc day number 15 div 有一堆fc day number在具有不同值的页面上 我需要具有例如 15 的那个 I do driver find el
  • 将 numpy ndarray 写入图像

    我正在尝试在 Python 中读取二进制文件 8 位 RGB 元组 对其进行一些转换 然后将其写入为 png 图像 我正在执行以下操作 typeinfo np dtype gt i1 read single bytes data np fr
  • 在 PHP 中使用自动加载类时是否存在性能下降?

    目前 我通过在网站的每个页面上包含 all inc php 文件来加载所有类 然后该文件继续包含我将在整个网站上使用的所有配置 类 函数等 我的问题是 我经常使用仅与网站的某些页面 部分相关的类 因此我经常在页面开头包含一堆不会使用的类 显