草庐IT

SPL_Types

全部标签

php - 加载类时 spl_autoload_register 问题

所以我之前已经在这里问过这个问题,但是提供的解决方案对我不起作用。这是我的设置:/mylib/Vendor/Module/MyClass.php/document_rootindex.php这是我的index.php这是我的MyClass.php我的echo没有显示任何东西。显然我的课也没有加载。相反,我得到了这个错误。Fatalerror:CalltoundefinedmethodMyClass::test()in//index.phponline29请帮忙。我已经坚持了很长一段时间,而我的其余发展都在受苦。我尝试移动到spl_autoload_register()只是因为这是推荐的

php - 在流程之前验证集数据时,我应该使用哪个 SPL 异常?

我正在努力思考何时使用两个PHPSPLExceptions,具体在以下场景中,classMyClass{protected$data1;protected$data2;publicfunctionsetData1($data1){$this->data1=$data1;}publicfunctionsetData2($data2){$this->data2=$data2;}publicfunctioninvokeProcess(){$this->validateData();}protectedfunctionvalidateData(){if(!$this->data1){//Whi

php - spl_autoload_register 在包含的文件中不起作用

我正在使用spl_autoload_register为了加载类。我有一个index.php文件,其中包含一个init.php文件。spl_autoload_register函数在init.php文件中调用。在index.php文件中,它正常工作:我可以创建类和东西,它们的名称已解析。但后来,在index.php中,我包含了另一个文件work.php来完成一些特定的任务。奇怪的是,在work.php中,找不到我正在使用的类。如果我在work.php中再次调用spl_autoload_register,类就可以解析了。真正奇怪的是这种行为并不一致:在我的测试服务器上,我不必复制spl_au

php - 在没有服务器权限的情况下安装 PECL-Extension "SPL-Types"

我想在我的Web应用程序中使用SPLEnum,它是PECL扩展SPL类型的一部分。现在,我从未使用过扩展,所以我不知道它们是如何工作的。我已要求我的托管商安装该软件包,但由于服务器的安全原因,他们无法安装。是否有可能以某种方式手动包含文件,就像在Java中一样(手动将文件复制到网络服务器并包含它们)?感谢您的回答问候,弗洛 最佳答案 PECL包含用于编译成PHP的C扩展。因此,您需要在运行PHP的服务器上拥有适当的权限,而您永远无法在共享主机上获得这些权限。尝试找到一个类似的PEAR扩展,它们是用PHP编写的,并且与任何其他PHP文

php - 多个连接无法识别选项 "mapping_types"

我正在尝试将“枚举”类型添加到我的symfony2dbal连接中,但我找不到实现它的方法。doctrine:dbal:mapping_types:enum:stringdefault_connection:defaultconnections:default:driver:"%database_driver%"host:"%database_host%"port:"%database_port%"dbname:"%database_name%"user:"%database_user%"password:"%database_password%"charset:UTF8connecti

php - 标准 PHP 库 (SPL) 函数的时间复杂度

在谷歌搜索了一下后,似乎没有关于每个SPL函数的复杂性的文档。有没有人遇到过这方面的一些信息? 最佳答案 PHPArchitect有一本书叫MasteringtheSPLLIbrary数据结构部分有一个表,其中包含以下操作的所有数据结构的代码复杂度:在开头插入元素I在末尾插入元素在中间插入元素从头删除元素从末尾删除元素从中间删除元素顺序阅读随机阅读您会惊讶于其中有多少操作是O(1),但实际速度可能会有所不同,因为某些数据结构可以更好地利用内存。我绝对建议您购买这本书,因为它提供了一些有用的信息。

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 7 - 不支持声明 'strict_types'

我在一个小项目中使用PHP7,也在我的本地和生产服务器中使用相同的配置。一切都在我的本地服务器上工作,但在为LAMP设置后在生产服务器上,我无法在/etc/php/7.0/apache下找到apache文件夹,所以我遇到了内部服务器错误,所以我在apache中添加了.confPHPINIDir/path/to/new/php_ini然后内部服务器错误消失了,现在我得到了这个:Warning:Unsupporteddeclare'strict_types'in/var/www/html/index.phponline2知道为什么!!提前致谢 最佳答案

PHP 7 | chr() + strict_types === 错误?

我尝试将我的工作PHP5.x代码转换为更现代的PHP7.x代码库,因此我添加了“declare(strict_types=1);”在第一步中,但它没有按预期工作。代码:ord(chr(ord("\xE9")/64)|"\xC0");演示:https://3v4l.org/680tsgithub:https://github.com/voku/portable-utf8/blob/master/src/voku/helper/UTF8.php#L6613PHP7.0(没有strict_types=1)===195PHP>7.0(strict_types=1)===192也许有人可以给我解

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

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