问题标签 [spl-autoloader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
42 浏览

php - 无法让 Zend 在 Windows 7 上使用 PHP

我无法让 Zend 在使用 IIS 7.5 的 Windows 7 上正常工作。

我设置了 PHP 和 MySQL。这是有效的。

我使用各种语言(ColdFusion、HTML、JSP 等)在各种网站上工作。这些网站都位于文件夹 E:/working 在我的系统上的子文件夹中。然后将 IIS 配置为指向每个网站的相应 subu 文件夹。例如,如果我有文件夹 E:/working/mysite 我将配置 IIS,以便http://127.0.0.1/mysite与该目录相关联并显示主页(index.cfm、index.html或不管它是什么)。

所以对于这个项目,它是 PHP。我有一个 E:/working/myphpsite 目录。这是有效的, http: //127.0.0.1/myphpsite显示位于该目录中的 index.php 文件。

问题是,如果我将 Zend 相关代码放入 index.php 文件中,我会收到以下消息:PHP Fatal error: Class 'Zend\Form\Form' not found in E:\working\myphpsite\index.php on line 8

index.php 文件以这种方式开始:

我的 PHP 目录是 E:/PHP。在那个目录中,我将 zend 文件放在 E:\PHP\includes\ZendFramework\Library\Zend 中。我还更新了 phi.ini 文件部分,如下所示:

我想我一定遗漏了一些非常明显的东西,但是花了几个小时在互联网上搜索并没有找到任何解决这个问题的方法。

非常感激任何的帮助!

0 投票
1 回答
104 浏览

php - 使用和不使用 composer 的 PHP 自动加载调试

花了 2 个多小时尝试在 PHP 中调试由拼写错误引起的自动加载问题。

有没有办法显示 PHP 在尝试加载特定类时会查找什么文件?寻找将考虑当前文件的命名空间和任何 spl_autoload / composer 设置的东西。

因此,可以将以下内容插入脚本中以帮助调试:

并获得如下输出:

允许我运行:

从上面可以看出,PHP 正在寻找一个文件夹“Controller”,但该文件夹实际上名为“Controllers”!

我试图解释 spl_autoload_functions() 的输出,但我无法弄清楚文件中的内容。对现有/内置解决方案的任何建议都会很棒,但如果不存在,任何关于解码 spl_autoload_functions 输出的提示,这样我就可以自己写一些东西。

0 投票
2 回答
290 浏览

php - PHP - 仅自动加载需要的类

我有一个自动加载器,它作为 php 文件放置在我项目中所有其他子目录的上方。

它的作用是为任何特定的服务器请求一次加载所有可能的类。经过进一步思考,我得出结论,我只需要自动加载所需的类。

我需要做些什么来避免加载其他不需要的类?
如果我需要在我的子目录中发布类文件的相关代码片段,我可以。