草庐IT

autoload_psr

全部标签

ruby - 何时在 Ruby 中使用 `require` 、 `load` 或 `autoload` ?

我理解Ruby中require、load和autoload之间的细微差别,但我的问题是,你怎么知道要加载哪一个利用?除了能够在匿名模块中“包装”load之外,require似乎是首选。但是autoload允许您延迟加载文件——这听起来很棒,但我不确定您实际上比require获得了什么一种方法优于另一种方法吗?是否存在一种方法脱颖而出的情况? 最佳答案 通常,您应该使用require。load每次都会重新加载代码,因此如果您从多个模块执行此操作,将会做很多额外的工作。autoload的惰性在理论上听起来不错,但许多Ruby模块会做一些

windows - 如何为非方法工作创建继承的 AUTOLOAD?

packageMy::Win32::Console;usewarnings;usestrict;useparentqw(Win32::Console);subnew{my($class,$param1,$param2)=@_;my$self={};if(defined($param1)and($param1==constant("STD_INPUT_HANDLE",0)or$param1==constant("STD_OUTPUT_HANDLE",0)or$param1==constant("STD_ERROR_HANDLE",0))){$self->{'handle'}=_GetSt

PHP - spl_autoload_register 不适用于 `namespace` 和 `use`

我正在学习并试图理解namespace和use在PHP中的使用。我还使用spl_autoload_register作为php.netdocumentation中提到的.我仍然对使用它感到困惑并收到错误。我的教程文件夹中有2个文件:php_oop.phptutor.phpphp_oop.phpname=$name;}publicfunctionget(){return$this->name;}}tutor.phpget();输出Warning:Theusestatementwithnon-compoundname'php_oop'hasnoeffectinC:\xampp\htdocs\

php - 与 src 处于同一级别的文件夹的 PSR-4 命名空间约定

PSR-4的当前约定是将src文件夹命名为Vendor\Package。然后使用目录结构对其中的任何文件进行命名空间。所以src/Model/MyModel.php使用namespaceVendor\Package\Model;classMyModel{...}这对于src文件夹中的任何文件夹来说都很直观,但是与src处于同一级别的文件夹的约定是什么?例如tests,public,configetcetc(我知道有些人会评论命名空间测试的意​​义,但想象一个大型项目有很多单独的包,每个包都有自己的测试,但有可以在包之间重用的通用测试。)我看到了使用Vendor\Package\Test

php - Composer psr-4 自动加载找不到文件

我还在学习使用phpcomposer我的目录结构是这样的:DirectoryStructure这是我的composer.json{"autoload":{"psr-4":{"Kct\\":"lib/"}}}现在在我的index.php文件中,我试图在tesdir.php中加载类testes());//output:'GET'我的tesdir.php:现在,如果我在我的本地主机中打开index.php,我会得到这样的错误:Fatalerror:UncaughtError:Class'Kct\Tesdir\Tes'notfoundin/var/www/html/tesComposer/in

php - 使用 ini_set() 的 PSR-1 兼容替代方案是什么?

我正在使我的代码库符合PSR-2标准(因此符合PSR-1标准),我遇到了以下代码:publicfunctioninit(){parent::init();//AllowALargerPHPMemoryLimitForThisScriptini_set("memory_limit","512M");//AllowALargerScriptExecutionLimitForThisScriptini_set('max_execution_time',300);}用于增加此特定脚本(仅供站点管理员访问且不经常运行)能够消耗的内存量和执行时间。在php.ini中设置默认的memory_limi

php - 在 Linux 中使用 PSR-4 自动加载时找不到类,在 Windows 中工作

简介您好,我将文件从运行WAMP的本地电脑移动到我的网络服务器,这是一台Linux机器。我与composer合作,使用其自动加载功能来加载我的MVC结构,稍后会详细介绍。我在网页上收到的错误如下:Fatalerror:UncaughtError:Class'App\Model\DB'notfoundin/config/_boot.php:15我的Windows机器上没有这个错误,代码在那里工作得很好。文件夹结构我使用相同的文件夹结构,(简化)如下:-config--_boot.php-dist--index.php--includes---header.php-src--app---M

php - 为 PHP 编写 Bulletproof __autoload 函数

我试图将我的PHP__autoload函数定义为尽可能可靠和灵活。这是我的应用程序结构的分解:/dev(root)/my_app/php/classes-Class1.php-Class2.php-Class3.php/scriptsmyscript.php(thefileIhavetoincludetheclassesin)这很简单。我的问题是:我如何编写我的__autoload函数,以便我可以包含我想要的任何类,而不管调用文件在目录结构中的嵌套深度如何。我知道它与__FILE__、realpath和dirname函数有关,但我不确定适当的组合方式他们实现我所追求的灵active。这

phpunit 和 yii - (PHPUnit/Autoload.php) : failed to open stream:

用Yii安装phpunit时遇到很多问题。我跑:$phpunitunit/dbTest.php但结果是这个错误:PHPWarning:require_once(PHPUnit/Autoload.php):failedtoopenstream:Nosuchfileordirectoryin/opt/yii-1.1.10.r3566/framework/test/CTestCase.phponline12(include_path='.:/usr/bin:/usr/share/php:/usr/bin/pear:/usr/share/php/Zend/:/opt/php5.3.10/lib

php - 非破坏性的 spl_autoload_register

我想在我正在开发的wordpress插件中通过spl_autoload_register使用类的动态加载,但问题是它不能干扰此功能的预先存在的实现。在我最初的尝试中://registeranautoloaderfunctionfortemplateclassesspl_autoload_register('template_autoloader');functiontemplate_autoloader($class){includeLG_FE_DIR."/includes/chart_templates/class.{$class}.php";}似乎可以加载我自己的类,但同时会导致其