问题标签 [autoload]

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 回答
3316 浏览

php - set_error_handler 函数不调用自动加载

我将set_error_handler()函数设置为在出现错误时调用函数。

在该函数中,我有自己的异常类实现:

这给了我以下错误:

致命错误:找不到类“acs_exception”

出于某种原因,此函数不会调用我使用以下设置的自动加载函数:

如果我添加该行:

在错误函数中调用类之前,一切正常。

我的问题是:__autoload()当我在错误触发函数中调用 acs_exception 类时,函数不应该触发吗?

0 投票
4 回答
464 浏览

php - 如何以这样的方式利用 PHP 的自动加载器功能,它通过一组定义的路径进行搜索?

使用自动装载机的一件坏事是,它不知道在哪里看。我的框架已经在大约 15 个不同的目录中有大约 70 个类。正因为如此,我没有去自动加载,而是在生成路径方面挣扎。所以我有一个关联路径数组,它给我从根文件到我想去的地方的路径。它有效,但它真的变得很痛苦。

首先,我的框架的用户很可能不知道类所在的位置。所以创建一个 FormViewController 已经很痛苦了,因为你需要包含它的路径。

一开始,我认为如果 PHP 在要自动加载文件时必须通过多个目录“搜索”文件,那会很好。所以呢?PHP是否应该这样做并为我们节省很多痛苦。但我怎样才能最有效地做到这一点?

我从全局上下文对象中得到了一个名为 $paths 的数组。路径可以以最合理的顺序在数组中定义:从最常用的路径开始。

我知道 PEAR 库有一个有趣的命名约定,例如 system_views_specialviews_SpecialView.php,它在 Autoloader 中转换为 system/views/specialviews/SpecialView.php ...但老实说,这太可怕了。不想像这样弄乱我的文件名。对于创建自己的类的开发人员来说,这会立即变得很糟糕。

在我为这项任务重新发明轮子之前,也许有人知道这个解决方案?

0 投票
3 回答
22601 浏览

php - 将自定义表单元素添加到 Adminhtml 表单

有没有办法将自定义表单元素添加到 Magento Adminhtml 表单而不将自定义元素放在lib/Varian文件夹中?

我找到了本质上是Varian_Data_Form_Element_工厂的代码

因此,如果我没看错的话,我会确保 EAV 属性的前端返回一个特定的 fieldType(例如),并且系统会在显示该属性的编辑表单时supertextfield实例化/渲染 a 。Varien_Data_Form_Element_Supertextfield

这很好,但这意味着我需要在lib/Varian文件夹层次结构中包含我的自定义表单元素。鉴于 Magento 是如何面向模块的,这似乎是错误的。

我意识到我可以在 lib 中使用 custo 自动加载器或符号链接,但我主要有兴趣了解是否有

  1. 为属性添加自定义表单元素的规范方法

  2. 自定义 Magento 自动加载器的规范方法。

0 投票
3 回答
2542 浏览

jquery - 如何使用 Google 自动加载来加载 JQuery?

如何使用 Google 自动加载功能自动加载 JQuery?

http://code.google.com/apis/ajax/documentation/autoloader-wizard.html

阅读文档,我认为以下内容可行,但没有。

但是,上面的代码不起作用,即使我将 URL 编码为:

0 投票
1 回答
101 浏览

ruby - 为什么我在线程中时无法访问某些库类?

为什么会出现以下

给出这个错误信息?

0 投票
2 回答
122 浏览

ruby - What work-arounds can be applied to thread-unsafe autoload in ruby?

As mentioned in this question, autoloading within a thread can cause problems. What work-arounds can be applied?

0 投票
2 回答
3642 浏览

php - 在 PHP 中自动加载常量?

我希望如果我要在单独的命名空间中定义常量,例如:

我可以__autoload用来自动包含它们:

但是,这不起作用。不会像类一样调用常量,这__autoload给我留下了一个Undefined constant错误。

某种方式可以模拟__autoload常量类?

0 投票
4 回答
17557 浏览

php - Zend 框架:自动加载类库

我在这里定义了一个类库 .../projectname/library/Me/Myclass.php 定义如下:

我有以下引导程序:

在我的控制器中,我尝试像这样实例化类:

当我直接导航到 http:/something.com/projectname/some?id=1 时,我收到以下错误:

致命错误:在第 x 行的 /home/myuser/work/projectname/application/controllers/SomeController.php 中找不到类“Me_Myclass”

有任何想法吗?

可能相关的杂项:

当我使用我在应用程序/库下的其他文件夹中定义的类扩展模型时,自动加载器似乎工作。

有人建议更改我尝试过的“默认”,但它似乎并没有解决问题,并且使用此命名空间破坏模型的功能产生了额外的负面影响。

0 投票
2 回答
2100 浏览

autoload - symfony 的自动加载器是否足够聪明,只能加载必要的文件?

我知道 symfony 可以自动加载文件spl_auto_register,但它足够聪明吗?

如果只需要加载a.php,它还会加载b.php吗?

0 投票
1 回答
1554 浏览

php - 设置 Zend_Loader_Autoloader 时遇到问题。很简单的问题,但我是 Zend 框架的新手

阅读代码中的注释以获取说明:

我正在尝试遵循一个教程,该教程希望我配置我的 Zend 应用程序以使用它提供的自动加载功能。

使用 registerAutoLoad() 方法时,我收到一个不推荐使用的警告,它告诉我使用另一种方法,即我的代码中它下面的方法。

我能做些什么?

编辑:为什么我使用不推荐使用的方法:

原始 Hello World 中的引导文件不太理想的一个方面是,在我们使用它们之前,有很多 Zend_Loader::loadClass() 调用来加载我们需要的类。

在较大的应用程序中,使用的类甚至更多,导致整个应用程序混乱,只是为了确保在正确的时间包含正确的类。

对于我们的 Places 网站,我们使用 PHP 的 __autoload() 功能,以便 PHP 会自动为我们加载我们的类。PHP5 引入了 __autoload() 魔术函数,每当您尝试实例化尚未定义的类时都会调用该函数。

Zend_Loader 类有一个特殊的 registerAutoload() 方法,专门用于 __autoload(),如清单 3.1 b 所示。此方法将自动使用 PHP5 的标准 PHP 库 (SPL) spl_autoload_register() 函数,以便可以使用多个自动加载器。

在 Zend_Loader::registerAutoload() 被调用之后,每当一个尚未定义的类被实例化时,包含该类的文件就会被包含进来。这解决了 Zend_Loader::loadClass() 混乱的问题,并确保只为任何给定请求加载所需的文件。