草庐IT

local-class

全部标签

php - ZF2 : how do I get ServiceManager instance from inside the custom class

我无法弄清楚如何从自定义类中获取ServiceManager实例。在Controller内部很简单:$this->getServiceLocator()->get('My\CustomLogger')->log(5,'mymessage');现在,我创建了几个独立的类,我需要在该类中检索Zend\Log实例。在zendframeworkv.1中,我通过静态调用完成了它:Zend_Registry::get('myCustomLogger');如何在ZF2中检索My\CustomLogger? 最佳答案 让您的自定义类实现Servic

php - 拉维尔 5 : How can I add seeder class to autoload?

我遵循文档:http://laravel.com/docs/master/migrations#database-seeding我将UserTableSeeder文件放在DatabaseSeeder附近。在resources/database/seeds/文件夹中。这些文件没有命名空间(只有app/中的类有命名空间)。当然有一个异常(exception):exception'ReflectionException'withmessage'ClassUserTableSeederdoesnotexist'解决这个问题的最佳方法是什么? 最佳答案

php - 如何启用 PHP Locale 类

我正在使用PHP5.4.18并尝试使用Locale对象。我尝试了以下调用:$locale=locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);$locale=Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);我分别收到“调用未定义函数”和“ClassLocalenotfund”错误。我在某处发现需要启用php_intl扩展。我这样做了。我也看过语言环境手册(http://www.php.net/manual/en/class.locale.php),但没有提到

php - 我可以在构建时更改 Form Class 操作吗?

在表单类的buildForm方法(AbstractType派生的)上,我可以设置该表单的操作吗?我想做的类似于构建嵌入式表单时可以使用的setAction方法:$form=$this->createFormBuilder()->setAction($this->generateUrl('my_action'))->add('field','text')->add('button','submit');我的意思是,setAction是否等同于表单类? 最佳答案 您可以在buildForm方法中访问相同的表单生成器,因此只需调用setA

PHP 5.4 与 5.3 : Autoloading multiple classes in the same file

首先,本文有点长,感谢您的阅读。我的问题与此类似:Classnotfoundinthesamefile我有一个定制框架,最初是在2008年为PHP5编写的,多年来已经升级到可以与PHP5.3一起使用。我一直在研究5.4兼容性并遇到了一个严重的问题。ORM层自动为每个数据库表生成类。这些类都位于每个表的一个文件中,我们的自动加载器会在需要时加载该文件。例如,“公共(public)”模式(postgresql)中的“客户”表将具有以下类:PublicCustomer、PublicCustomerDBReader、PublicCustomerDBWriter。现在这可能不是理想的设置,但这是

php - class_alias() 可以撤销吗?

假设在单元测试中,我想使用class_alias()将通常使用的假类替换为假类:class_alias('MyFakeTestingClass','Some\Real\Class\Somewhere');有什么方法可以撤消此操作,以便Some\Real\Class\Somewhere之后可以恢复正常使用?这不起作用:class_alias('Some\Real\Class\Somewhere','Some\Real\Class\Somewhere'); 最佳答案 序号‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

php - `QuickPDFAX0726.PDFLibrary' : Class not registered ' Error

我正在使用QuickPdf库,成功安装QuickPDF7.26。然后我使用sysWOW64/cmd.exe注册QuickPDFAX0726.dll然后显示DLLRegistered成功消息。当我尝试使用以下代码创建com对象时$a=newCOM('QuickPDFAX0726.PDFLibrary');错误显示“fatalerror:未捕获的异常com_exception和消息FailedtocreateCOMobjectQuickPDFAX0726.PDFLibrary:Classnotregistered请帮忙 最佳答案 请检查

php - Yii2 中::class 与::className() 之间的区别?

我知道两者的结果相同,但我期待听到有关性能的信息。我不确定,但我认为.."MyClass::className()"导致该类文件也被加载(它的Yii函数body只是简单的get_called_class())"MyClass::class"我认为这个php的native类属性不会加载类php文件,只是根据当前命名空间或use返回其名称>.让我知道我是否正确?或请突出显示您的知识。有很多地方我们只需要完整的限定类名,即使那时不会使用它。但我也不喜欢放置硬编码字符串(由于硬重构) 最佳答案 是的,我刚刚发现我是对的。PHP的原生类属性是

php - 区别 static::class vs get_called_class() 和 __CLASS__ vs get_class() vs self::class

我见过几个线程,人们在其中询问如何在PHP中获取类或对象的名称。但是,我在任何地方都看不到所解释的各种可能性之间的区别。我希望这里有人可以帮助我。所以为了得到被调用类的类名,我知道两种可能:get_called_class()static::class(非静态类的get_class($this))为了获取放置代码的类的类名,我知道这三种可能性:get_class()__CLASS__self::class是否有任何我现在可以忽略的差异?一种方式相对于另一种方式的潜在优势和劣势是什么? 最佳答案 之间的差异get_class()ret

PHP Cast 到我的类(class)

为什么这是不可能的:$user=(User)$u[0];但这是可能的$bool=(boolean)$res['success'];我使用PHP7.0。 最佳答案 据我所知,在PHP中您只能转换为某些类型:(int),(integer)-casttointeger(bool),(boolean)-casttoboolean(float),(double),(real)-casttofloat(realdeprecatedinPHP8.0)(string)-casttostring(binary)-casttobinarystring(