问题标签 [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.
java - PHP 类似于 Java 中的 Autoloader
Java解释器是否支持自动加载功能或扩展他的“寻找类”功能的可能性?
在 PHP 中有一个名为 spl_autoload_register 的函数(有关详细信息,请参见http://www.php.net/manual/en/function.spl-autoload-register.php),它强制解释器执行我自己的回调函数。寻找缺课。在我的回调函数中,我可以将文件包含在预期的类中。
背景想法是我想在软件层之间动态切换。
例如:
如果第 2 层中存在类 x_L2,则应忽略底层第 1 层中的类 x_L1。实际上我用一个通用的镜像类 x 解决了这个问题,它必须从最高可用层中的类继承。但是当您必须维护数百个类时,这种方式很容易出错。
提前致谢。
php - Cake PHP - 为应用程序创建某种模式
我正在从事用 CakePHP 编写的即将离任的专用项目,该项目变得相当大。该架构也使用了一堆插件。从项目一开始,这个应用程序只有一个实例。然而,客户发现该应用程序可以工作的另一个领域。它将使用相同的代码库但单独的数据库。问题是代码库实际上适用于大约 90%,这意味着在大多数情况下它会完成它的工作,但需要进行一些细微的更改。经过一些小的改进后,很明显这些修改将继续用于这个新实例。但同时会有适用于这两种情况的更改。对于在整个应用程序中创建一堆条件并检查哪个实例实际正在运行,这不是一个非常干净的解决方案。
所以我的想法是:
- 将项目保存在一个存储库中,并在一个代码库中进行适用于所有实例的更改和修复
- 制作某种“mod”,其中包含仅在需要时重载项目默认类的类,并且仅适用于特定实例
- 为了更清楚,最好对包含这些新类的应用程序目录具有并行文件结构(当然只有那些需要的)
- 很重要的一点是根本不碰蛋糕芯,我希望可以随时升级没有问题
例子:
什么时候我们要去:
系统会自动调用NewbusinessInvoicesController->generateInvoice()
,因为存在这样的子控制器和方法。否则它将调用默认控制器和方法。
那么有可能为 CakePHP 创建这样的模式,也许是在低级别的加载类上?例如,我不想使用runkit_method_redefine()
和替换该App::import()
方法,只要runkit_method_redefine()
标记为“实验性”即可。有什么建议或想法吗?
php - PHP“助手类” - 找不到类
我遇到了一个问题,即从 PHP 5.3.2 到 5.3.3 的代码不再能找到“I2A2”类。
这是一些信息:
错误: ErrorException [错误]:找不到类“I2A2”
致命错误:在第 6 行的 /var/www/html/root/sandbox/lpolicin/t6/fuel/app/classes/observer/selectcustomer.php 中找不到类“I2A2”
$directory_listing = \I2A2::get_customer_info("puid",$customer->puid);
代码:
“类/观察者/selectcustomer.php”
“类/I2A2.php”
自动加载器(这是插入一个巨大的数组然后自动加载everyting)......
如果您需要更多信息,请告诉我!
ruby-on-rails-3 - 如何在rails应用程序根目录下的文件夹中自动加载文件
我正在尝试将文件放在myapplication/somefolder
. 谷歌和 Stackoverflow 说我应该添加这个:
在我的config/application.rb
,所以我做到了。
但是文件没有被加载。
somefolder/myclass.rb
我都尝试了 namig class Myclass
,class Somefolder::Myclass
但仍然没有运气。
我可以看到Rails.application.config.autoload_paths
在控制台中找到的目录确实包含我的/path/to/myapplication/somefolder
目录,所以应该没问题。
围绕这个主题的所有其他问题都使用theapp/app/somefolder
ortheapp/lib/somefolder
但不是theapp/somefolder
所以也许这就是它变得腐烂的地方。
所以我尝试引用这个类,::Somefolder::MyClass
但没有帮助。
我正在使用 Rails 3.2.1
zend-framework - Zend_AutoLoader 路径错误(仅在线)
我用 Zend 做了一个测试应用程序并试图把它放到网上(在一个 ovh 共享服务器上)
离线运行(使用 WampServer),但不在线。这是我无法解决的错误:
这是 index.php 的一部分,它位于服务器上的 www/files/project 中:
.htaccess 启用 PHP5 和 UrlRewriting,但无事可做...
有没有人有办法解决这个问题?我想这很明显,但我探索了很多在网上找到的方法,但都没有成功。
谢谢
php - 使用 zend 自动加载器加载其他类
如何使用自动加载器找到与 Zend 目录位于同一目录中的类文件“模板”?
我已将 Zend 文件夹和 smarty 文件夹以及其他类存储在根目录之外的 de include 文件夹中。
我终于弄清楚了 Zend 如何通过将它的位置添加到 include_path 来定位它的类。
现在我被 smarty 使用的 templaterclass 卡住了。
如何让自动加载器知道 templaterclass 以及以后 smarty 文件夹中的 smarty 类?
annotations - 带有 cli 的学说 2 自动加载器必须使用 AnnotationRegistry
我必须使用\Doctrine\Common\Annotations\AnnotationRegistry::registerFile
来访问实体文件中的注释注册表。
这部分是使用驱动链和使用 orm:schema-tool:creator 所必需的。但我不能通过添加来添加我需要的每个类AnnotationRegistry::registerFile
。
当我想将 Gedmo 添加到我的 Doctrine 2.2.2 时,就会看到这个问题。
我的实体文件在这里
错误是:
php - Zend 自动加载器
我正在尝试自动加载在 application/forms/*.php 下的项目中找到的表单(在本例中为 LoginForm.php )。
如何配置 Zends 自动加载器以自动加载此表单?因为我不想使用丑陋的命名空间,所以我在我的引导程序中启用了后备。我没有任何与我的 application.ini 中配置的表单相关的内容
谢谢!
php - 使用 spl_autoload_register 的自动加载问题
首先,我想告诉你我的目录结构
在我的 index.php 中,我包含 application/framework.php 这是我的 framework.php 代码
现在使用上面的代码,自动加载我的类工作正常。如果您想知道 $method 和 $controller 来自 index.php,具体取决于 URI。
现在我的一个朋友告诉我这是错误的做法,所以我将代码更改为
现在我在下面收到此错误
我该如何解决这个问题,我已经在这几个小时了,如果可能的话,请告诉我如何使用自动加载从控制器类内部的模型目录中调用模型谢谢
php - 使用 PHP 从数组中调用类后自动加载类
我一直在研究不同的框架以及它们如何实现类的自动加载,但我是 PHP 新手,所以不确定我是否正确解释了它的函数。我试图创建自己的类,仅使用它来自动加载我的所有类,无法访问这些类。这是我的代码的样子:
我像这样从我的引导文件中加载类
然后我尝试实例化已映射的类之一
我所做的有什么问题,我做对了吗?我基本上希望自动加载类从引导文件映射一组类,并在它们被调用/实例化时包含这些文件,并在它们不再使用时停止包含它们。