问题标签 [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 投票
3 回答
4162 浏览

forms - Zend 模块中的自动加载器找不到表单?

我已经厌倦了 Zend 的自动加载器。

我正在尝试EditPasswordPasswordController模块结构内部加载,如下所示。

项目结构

应用程序.ini

引导程序.php:

我正在像这样在控制器中加载表单:

错误本身是:

我究竟做错了什么?Zend 中的其他所有内容似乎都使用了相当合理的默认值——考虑到它们遵循默认的 Zend 结构并在默认的模块目录中,我真的必须为每个模块声明表单/模型/视图助手的所有路径吗?

0 投票
2 回答
606 浏览

php - Zend Autoloader - 从目录加载文件

我想知道是否有任何方法可以使用 Zend Autoloader 从特定目录和子目录加载所有文件?
我正在尝试包含 Zend 之外的其他库,例如 JSTree。

0 投票
2 回答
1777 浏览

php - 如果存在不存在的类,为什么 zend 自动加载器测试会导致错误?

假设我已经在配置文件中为我编写的一些类注册了额外的命名空间“Tracker_”,使用

除了我在测试错误处理时,这个命名空间和自动加载器的东西按预期工作。当我测试一个不存在的类是否存在时,使用

它抛出一个异常

同时,相同的 class_exists 函数适用于我测试过的所有其他案例,即

难道我做错了什么?

0 投票
1 回答
236 浏览

zend-framework - zend 自动加载器错误消息

我正在使用这个自动加载器在我的 zend 应用程序中加载多个外部库。这些类已正确加载并且工作正常。但是我在使用多个此类自动加载器加载类时似乎遇到了问题。问题是,在其中一个自动加载器中找到类后,zend 继续在其他加载器中搜索,因此从自动加载器中生成以下错误消息,但定义它们的除外。

注意:未定义索引:第 21 行 /var/www/myApp/application/loaders/Autoloader/PhpThumb.php 中的 myClassFile

myClassFile 在另一个加载器中定义并且加载/工作正常,但它仍然继续在第二个未定义的自动加载器中搜索。

知道我缺少什么吗?


更新:我的引导文件:

稍后使用它:

这似乎工作正常,但会引发错误。

0 投票
2 回答
131 浏览

php - Zend_Loader_Autoload_Module 不加载模块类

我的错误-我没有正确阅读错误消息-我仍在var_dump引导Zend_Loader_Autoload程序中,这导致“标头已发送”异常。记得在不调试输出的情况下尝试!

我有一个在 ZF 1.11.11 上运行的模块化应用程序,具有以下目录结构:

相关application.ini声明:

本质上我的问题是管理器模块中的控制器无法在forms/管理器目录的目录中加载表单。var_dumpingZend_Loader_Autoloader::getInstance()表明所有的Application_地图都被定义了,(尽管到了错误的地方,/application而不是/default)并且没有为 定义地图Manager_

让我困惑的是,里面的Bootstrap.phpmanager/被加载了,这意味着模块已经被检测到了。这个引导程序只是扩展了Zend_Application_Module_Bootstrap.

我在这里缺少一些神秘的配置值吗?文档似乎对此非常稀疏(也希望对此进行一些深入的解释)。

0 投票
1 回答
756 浏览

zend-framework - 教义 2 自动加载

如何使用 Doctrine 2 和 Zend 设置自动加载以在以下目录结构中加载实体:

我希望能够使用 {ModuleName}\Entities{EntityName} 加载类。例如,我希望能够这样做来加载“用户”实体:

或类似“页面”实体的内容:

我可以将其设置为加载“CMS\Models\Entities\Pages”,但我希望能够知道如何执行此操作,而无需直接映射到目录结构。这可能吗?

0 投票
2 回答
3624 浏览

php - 从 Zend Framework 中的现有控制器类扩展控制器

早上好,我有经典应用程序,我想从 UserController 扩展 ArticleController,但是当我尝试

或者

我收到致命错误:类...未找到...如何在 Zend 框架中从另一个控制器扩展一个控制器?

0 投票
2 回答
418 浏览

php - 如何有效地替换 Zend_Loader_Autoloader?

由于性能问题(基准测试),我尝试使用另一个自动加载器,而不是默认的 Zend_Loader_Autoloader。

我尝试了不同的方法,使用:

由于 Autoloader 与 Zend Framework 的大多数组件密切相关,因此我无法“删除它”。

我做了一个 Xdebug 一步一步调试,看起来 Autoloader 是这样工作的:

1) getInstance 2) 检查被调用的类根是否是已知的命名空间,以及是否存在自动加载器为其命名空间 3) 将非命名空间的自动加载器放入堆栈 4) 在每个自动加载器上尝试自动加载器,直到找到有效的。

但是,在我的情况下,我的自动加载器已经这样做了(我正在使用带有 classMap 策略的 Opl Autoloader),我已经用它们各自的路径注册了 namspace。

所以它看起来对我来说有点开销,因为我希望在绕过所有 Zend 检查的查找的非常乞求时使用我的自动加载器。

你有什么改进的想法吗?我如何在 Zend Framework 项目中有效地使用自定义(和高性能)自动加载器并使用 Zend_Loader_Autoloader

0 投票
3 回答
447 浏览

zend-framework - 如何在 zend 控制器中自动加载单例类(私有构造函数)?

我的模型目录中有一个单例类,我必须在 Controller 类中使用它的功能。通过 require_once('file path'); 并调用函数作为 ClassName::FunctionName() 工作正常,但我需要使用 Zend Autoloader 而不是通过 require_once 包含类。我在 stackoverflow 上遇到了许多解决方案,这些解决方案使用 bootstrap.php 来添加以下代码,它似乎与 require_once('file path'); 一样。在控制器中做了

这样做我得到致命错误:在 {line no.} 上的 {path}\controllers\SampleController.php 中找不到 Class 'ClassName' 我确定我遗漏了一些东西,但无法弄清楚到底是什么。

0 投票
1 回答
479 浏览

php - Zend Framework 与 PHP 作为 CGI 共享主机

在遇到这种寻求帮助的情况之前,我已经阅读了很多内容。我也一直在与托管公司讨论获得一些帮助,但他们的技术支持和我一样知识渊博。

正如周围的许多人在共享主机上安装 Zend Framework 时所写的那样,我在自动加载和类查找方面存在严重问题。

我可以访问 php.ini、.htaccess(很明显)、根目录和公共目录(当然)。

我的安装结构如下:

简而言之,我使用标准的 Zend 布局(根据 Zend Tools)。所以我把public区域上面的东西都安装好了,public的所有内容都在publicy可访问的服务器上。

在我的本地服务器上,一切正常。它从 webroot 内的文件夹运行,一切正常。

在生产服务器上,PHP 安装为 CGI,可能存在问题。首先 SetEnv 不再起作用。无论我对 index.php 中的路径做什么,自动加载器都不起作用。

当您启动应用程序时,必须出现登录表单。由于自动加载器不起作用,表单无法找到在自定义类中创建的元素,因此出现以下消息:

致命错误:在第 32 行的 /home/sites/ttonline.com/application/forms/Login.php 中找不到类“Model_Utils_FormElements”

如果我要放置一个 require_once (我不想要那个解决方案),然后我会收到一个错误,即找不到复合装饰器。

整个系统在我的本地主机上运行良好......

如果有人能给我一个关于这种情况的可能解决方案的意见/想法,我将不胜感激。

谢谢