问题标签 [zend-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 投票
2 回答
900 浏览

php - 在(基于zend的)include_path中找不到php类

我有一个类,它位于 zend 项目中我的库文件夹的子目录中。所以假设我的应用程序在 /Library/WebServer/Foo/ 中,那么 php 的包含路径是:

/Library/WebServer/Foo/application/../library:/Library/WebServer/Foo/library:/usr/share/zend-framework/library/

所以现在我想创建这个类,忽略随机逻辑,我应该能够通过说“new MyValidator_Usernameunique()”或类似的话来达到它:

/Library/WebServer/Foo/library/MyValidator/Usernameunique.php

所以我就是这样做的:

/Library/WebServer/Foo/library/Form/Register.php

这使:-

[Wed Jul 11​​ 14:07:41 2012] [error] [client 127.0.0.1] PHP Fatal error: Class 'MyValidator_Usernameunique' not found in /Library/WebServer/Foo/library/Form/Register.php on line 14, referer :http://foo/

忽略行号,因为我稍微简化了代码。

当然,这很自然,因为 /Library/WebServer/Foo/library/MyValidator/ 不在我的 php include_path 中,而且我没有“要求”或“包含”或“要求一次”文件。然而,据我了解,zend 框架应该通过将 _ 替换为 / 并搜索 include_path 来自动加载文件。这似乎适用于注册表单,但对于验证器失败。现在,这是为什么呢?这几乎是相同的场景。此外,当我尝试直接在具有相同错误消息的控制器类中创建 MyValidator_Usernameunique 时,它​​也会失败。

任何关于为什么会发生这种情况的想法或指示都非常感谢。此外,请注意,我并不是要修复这个错误,而是要更好地理解 zend 中的自动加载。所以请不要提出使用我的验证器多余的解决方案。

0 投票
1 回答
1007 浏览

zend-framework - Zend autoloadernamespaces[] 和 autoloadernamespaces 的区别

在 Zend Framework 中设置自定义库时和和有什么区别autoloadernamepaces[] = "foo"autoloadernamespaces.foo = "foo"

0 投票
3 回答
3863 浏览

zend-framework - 如何在zend框架中使用phpexcel

我需要从 excel 导入数据,我决定使用 PHPExcel,但是当我在我的网络中需要它时,出现了一些警告:

这是我的代码。:

我的 webapp structre 是:

库 Zend Excel 其他-第三方库

自动加载器似乎有问题。

我阅读了几篇文章但没有找到解决方案。

我的最终目标是从 excel 文件中读取日期:有人可以给我一些关于 ether 如何在 zend 中使用 phpexcel 或如何使用 zend 本身从 excel 导入数据的建议。

谢谢

0 投票
2 回答
559 浏览

zend-framework - zend 1.11.12 + 模块化结构 + 类 'Users_Form_Login' 未找到

我正在制作我的第一个 zend 应用程序,但我遇到了自动加载模块的问题。此时我加载了一个表单,该表单保存在“用户”表单的“表单”中,但出现“致命错误”。这是我的配置:

应用程序.ini:

目录树:

. . .

在 Users_IndexController 的 indexAction() 中,我写道:

我得到这个错误:

编辑

@Tim Fountain 的补充课程内容:

引导文件:

在 Bootstrap.php 中:

在 /Users/Bootstrap.php 中:

0 投票
2 回答
641 浏览

php - 实现 Zend Framework 2 自动加载器

是否可以用 ZF2 Autoloader 替换 ZF1 Autoloader,因为它似乎可以显着提高性能?

我没有找到任何教程,也没有太多关于这方面的材料——我刚刚听说 ZF2 的 Autoloader 会快得多。

0 投票
1 回答
62 浏览

zend-framework - zendframework 自动加载查询

我正在基于 zendframework 的应用程序中编写自己的日志类。我想知道,因为它是我自己的库类,将它保存在应用程序中。我决定让这个类与 /library 文件夹中的“Zend”文件夹平行

在 bootstrap.php 我有 _initAutoload 函数,我在其中添加了以下内容

但我收到错误 Demo_Helper_Logger 类未找到。

这里有什么问题?任何想法?

谢谢

0 投票
3 回答
12779 浏览

php - Zend Framework 2 自动加载

我刚开始研究 Zend Framework 2(一般来说是 ZF 的新手),在用户指南中,他们在添加新模块时使用自动加载。然而,我发现这个解释对于一个菜鸟来说是相当具有挑战性的。他们正在Module.php模块目录中添加一个文件,其中包含以下代码:

现在我做了一些挖掘,试图弄清楚这个自动加载是怎么回事。据我了解,自动加载使用spl_autoload_register()并且是一种避免require_once()在代码中无处不在的方法。因此,当尝试使用未定义的类时,autoload()将运行已注册的方法,该方法仅进行数组查找并包含如下所示的文件(如果已添加)。

由于性能,这似乎很聪明。我希望我刚才写的是正确的。基于此,我试图从第一个代码片段中弄清楚发生了什么getAutoloaderConfig(),但我很困惑。似乎此方法返回的数组用于AutoloaderFactory::factory(),但我不确定用于什么目的。似乎用选项实例化自动加载器,但具体是做什么的,我不确定。我猜数组的第二个条目指定了在哪里可以找到模块名称空间的源文件——至少这是我的猜测。然而,我不确定的第一个条目。在用户指南中,它说明了以下内容:

由于我们正在开发中,我们不需要通过类映射加载文件,因此我们为类映射自动加载器提供了一个空数组。

该文件只返回一个空数组。我不确定这个 ClassMapAutoloader 的目的是什么。

对不起,如果我的观点不清楚;基本上我试图弄清楚发生了什么getAutoloaderConfig()以及mymodule/autoload_classmap.php用于什么。如果有人可以对此有所了解,那将不胜感激!

0 投票
1 回答
202 浏览

php - zend 自动加载器...自定义类。我如何让它工作?

我希望在 library/common 文件夹中创建自己的类文件集合

在文件夹中,我将有各种我想要提供的类文件

代码示例如下所示?

我的问题是如何让 zend 应用程序自动加载公共文件夹中前缀为 Common_ 的任何内容

我尝试将以下内容添加到引导程序中,但它没有用

0 投票
2 回答
1167 浏览

php - zend 自动加载器找不到文件

我想将 Uploader 类添加到我的 zend 应用程序中

在库文件夹中,我添加了 uploder.php,在 Uploder.php 中,我使用类 Amjad_Uploder {...}

在 application.ini 我添加以下几行

includePaths.library = APPLICATION_PATH "/../library"

appnamespace=“应用程序”

autoloaderNamespaces[] ="Amjad_"

在控制器中,我通过编写来调用类

$uploder=新 Amjad_Uploder();

我仍然有这些错误

警告:include_once(Amjad\Uploader.php):无法打开流:第 134 行的 C:\wamp\www\amjad\library\Zend\Loader.php 中没有这样的文件或目录

警告:include_once():无法打开“Amjad\Uploader.php”以包含(include_path='C:\wamp\www\amjad\application/../library;C:\wamp\www\amjad/library;.; c:\php\includes;D:\Zend Library\') 在 C:\wamp\www\amjad\library\Zend\Loader.php 第 134 行

致命错误:第 34 行的 C:\wamp\www\amjad\application\modules\admin\controllers\scincetificController.php 中找不到类“Amjad_Uploader”

0 投票
2 回答
1382 浏览

php - Zend PDF 和 Zend Guard Loader 入门

我正在尝试安装 Zend PDF,以便在我客户的共享主机帐户(媒体殿堂)上填写可编辑的 PDF。我现在启用了它,在 phpinfo http://i.imgur.com/lDiLk.png中确认,但在那之后,我找不到我需要开始的东西。如果我尝试加载 Zend_Pdf 类,我会收到“致命错误:未找到 Class 'Zend_Loader'”消息。