jjzjj

autoload

全部标签

php - 关于一个简单的 PHP Autoloader 的问题

我刚开始学习PHP命名空间并开始创建一个简单的自动加载函数。O所做的是:function__autoload($name){echo$name."";require_once$name.".php";}因此,如果我不使用任何别名或导入语句(例如,这会起作用)。使用MainNamespace\Subnamespace因为如果我这样做,假设我有:\GreatApp\Models\User.php\GreatApp\Models\Project.php\GreatApp\Util\Util.php\GreatApp\Util\Test\Test.php如果我尝试这样做:newGreatApp

php - 使用 SPL_AUTOLOAD_REGISTER 时命名空间如何工作?

我今天正在学习如何在PHP中使用命名空间和自动加载,但我似乎遇到了障碍。当我不使用spl_autoload_register而是使用require_once时,事情似乎有效。我的文件夹结构非常简单:-index.php-class/-Users.php在我的index.php文件中我有:在我的class/Users.php文件中我有:这绝对没问题,返回了1的ID理想情况下,我想使用自动加载功能,我发现了spl_autoload_*,这就是我尝试做的,但没有成功:在我的class/Users.php文件中我有:在我的index.php文件中我有:但是我得到一个错误:`Class'User

PHP:自动加载有问题

我正在创建一个网站,我使用Apache作为我的网络服务器。我创建了一个没有使用类的网站。我的所有功能都位于一个文件中,我只在需要使用某些功能的每个页面上包含此文件。我现在想切换到OOP方法,但我无法理解如何自动加载我的类。我已经浏览了许多相关页面,例如;PSR-4Example,spl_autoload_register(),RelatedQuestion我似乎无法理解这个问题。因此,由于我使用的是Apache,我网站的根路径是C:\Apache\htdocs。我的目录如下;+htdocs+Lib+Base-User.php-Device.php-Company.php-Databas

php - 有什么方法可以避免为非面向对象的应用程序加载未使用的类?

我的应用程序使用一个“中央”页面Controller,它在获取请求之前使用require_once抓取一堆文件(我不愿说是库),每个文件都包含一些相关的类。如:require_once(dir_lib.'db.php');require_once(dir_lib.'uuid.php');require_once(dir_lib.'data.php');require_once(dir_lib.'token.php');require_once(dir_lib.'logs.php');require_once(dir_lib.'time.php');等...直到最近安装(很棒,但巨大的)

php - 如何检查函数是否已存在于 SPL 堆栈中?

我正在尝试使用spl_autoload_register并且我想创建一个if()语句来检查类方法是否已经注册。例如:if(spl_autoload_function(array($this,'_loadClass'))//Thendonothingelse//Thenrunspl_autoload_register(array($this,'_loadClass));类似上面的代码/方法是否可行? 最佳答案 IamtryingtodoanautoloaderandIwanttocreateanifstatementthatwillc

php - 未声明 HTML 文档的字符编码 codeigniter

我的CodeIgniter应用开始出现异常错误:ThecharacterencodingoftheHTMLdocumentwasnotdeclared.ThedocumentwillrenderwithgarbledtextinsomebrowserconfigurationsifthedocumentcontainscharactersfromoutsidetheUS-ASCIIrange.Thecharacterencodingofthepagemustbedeclaredinthedocumentorinthetransferprotocol.在第一次访问时,页面显示正常,只是一

php - 需要时自动加载函数/类库

首先,介绍一下背景。我工作的公司使用海量函数/类库,每个页面都包含它。成千上万行函数,其中90%可能甚至不会在页面上调用。为了稍微减轻服务器负载,我一直在试验更智能的库设置。为此,我将整个文件拆分为分类库文件(即sql.functions.php、date.functions.php等。)不幸的是,在每个页面上包含每个文件根本没有帮助,有选择地包含文件几乎是不可能的,而且很容易出错。我正在寻找的是类似于PHP的___autoload()函数的设置,它会在启动未知类时自动搜索特定命名的文件,以尝试找到它。但是,此函数不适用于函数调用,仅适用于类。有没有办法指示PHP在调用未定义函数(即h

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

我将set_error_handler()函数设置为在出现错误时调用函数。在那个函数中我有自己的异常类实现:functionacs_error_handler($errno,$errstr,$errfile,$errline){thrownewacs_exception($errstr,$errno);}这给了我以下错误:Fatalerror:Class'acs_exception'notfound出于某种原因,这个函数没有调用我设置的自动加载函数:spl_autoload_register('__autoload');如果我添加一行:__autoload('acs_exception

php - 脱脂框架 : the F3 Autoloader

我正在学习fatfree框架,但我遇到了一个问题。我试用了F3Autoloader并得到了这个:InternalServerErrorFatalerror:Class'Gadgets\iPad'notfound在index.php我写了:$f3->set('AUTOLOAD','autoload/');$obj=newGadgets\iPad;并创建了一个名为Gadgets的文件夹,里面有一个文件,名为ipad.php在文件中我放了一个类 最佳答案 对于AUTOLOAD中的每个路径,F3正常检查类名,然后再次检查小写。该行为在3.1

php - 在 Symfony2 项目上使用外部非 PSR-0 库的正确方法

我正在开发一个应用程序,它将通过他们的RESTPHPSDK连接到IntuitQuickbooksAPI。在基本的PHP中,我可以正常工作,因为我按如下方式加载文件:require_once('../api/config.php');//DefaultV3PHPSDK(v2.0.1)fromIPPrequire_once(PATH_SDK_ROOT.'Core/ServiceContext.php');require_once(PATH_SDK_ROOT.'DataService/DataService.php');require_once(PATH_SDK_ROOT.'Platform