草庐IT

static_event

全部标签

php - ZF3/2 - 如何捕获在 EVENT_DISPATCH 监听器中抛出的异常?

有什么方法可以处理在EVENT_DISPATCH监听器中抛出的异常?classModule{publicfunctiononBootstrap(EventInterface$event){$application=$event->getTarget();$eventManager=$application->getEventManager();$eventManager->attach(MvcEvent::EVENT_DISPATCH,function(MvcEvent$event){thrownewForbiddenException("403-Fobidden");});}}我有一

php - laravel 模型 $events 没有被触发

我正在创建一个新应用程序,当创建文章时,将在其上显示通知。我尝试过使用事件和监听器。我的App\Article.php...protected$events=['created'=>Events\ArticleWasPublished::class];...我的App\Providers\EventServiceProvider.phpprotected$listen=['App\Events\ArticleWasPublished'=>['App\Listeners\NotifyUsers',],];我的App\Events\ArticleWasPublished.php...use

php - 是否可以通过 "statically"检查 FQCN 是否属于 PHP 中的给定类型?

如果字符串包含像$fqcn这样的FQCN,则可以静态地(意思是不创建实例)检查:functioncheckCreatingInstance($fqcn){//Createanewinstance$instance=new$fqcn;return($instanceinstanceof'MyNamespace\Entity\SendMessage');}functioncheckStatically($fqcn){/*TODO*/}$fqcn='MyNamespace\Entity\SendSmallTextMessage';var_dump(checkCreatingInstance(

php - Symfony2 PRE_SET_DATA $event->getData() 返回错误的对象

当我尝试从事件PRE_SET_DATA中获取数据时,我得到了具有良好值(value)的对象,但我无法使用它。这是我的测试代码:$builder->addEventListener(FormEvents::PRE_SET_DATA,function(FormEvent$event)use($factory){$data=$event->getData();print_r($data);});这会返回一个长文本:"YOU\CommercantBundle\Entity\LivraisonChoixObject([id:YOU\CommercantBundle\Entity\Livraiso

PhpStorm - 如何检测 PHP 错误 "Non-static method should not be called statically"?

在PHP中,静态方法既可以在静态方法中使用,也可以在非静态方法中使用,非静态方法只能在非静态方法中使用。这就是静态调用动态方法会生成E_STRICT错误的原因。例如:bar();//Staticcallonanon-staticmethod//PHPError"Strictstandards:Non-staticmethodshouldnotbecalledstatically"//ERRORNOTDETECTEDBYPHPSTORM!echoExample::foo();最后一行将生成此PHP错误(这是逻辑):我目前正在开发一个大型PHP应用程序,该应用程序在某些PHP文件中静态调用

父类不能在静态上下文中使用 PHP const/static 变量

出于某种原因(哪个?),子类中定义的PHP常量/静态变量在父类的静态上下文中不可用。为什么?示例1:classModel{functiongetAll(){$query="SELECT*FROM".self::DATABASE_TABLE_NAME;//...}}classPostextendsModel{constDATABASE_TABLE_NAME='post';}$p=Post::getAll();当我运行时,我得到:Fatalerror:Undefinedclassconstant'DATABASE_TABLE_NAME'online3($query=...的行)示例2:cl

php - "static::function()"是什么意思?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:static::staticFunctionName()将关键字static放在函数调用之前意味着什么?代替类名。像这样:static::createKernel();

php - 用PHP学习OO编码,static != 表达式,但是PHP手册上说凡是有值的都是表达式,一头雾水

几天前我开始学习面向对象,我对过程编码还算可以,但显然这还不够,我想成为一个有很多经验和知识的精通编码器,所以首先要完全学习必须是OO,然后是我认为正确的设计模式。无论如何,有一件事我卡住了,我不太明白......静态变量...我知道静态变量不会丢失它的值,即使包含的函数已完成执行,并且如果再次执行相同的函数将保持它的值,等等。但我不明白的是,您现在究竟可以将什么分配给静态变量?关于stackoverflow状态的手册和无数问题您不能将表达式分配给静态变量。所以我阅读了PHP手册,以找出究竟什么才算是表达式?手册答案是(我引用):“在PHP中,您编写的几乎所有内容都是表达式。定义表达式

PHP 5.5 : accessing a static class member of a dynamic class stored in an object

我们假设如下:classa{publicstatic$foo='bar';}classb{public$classname='a';}$b=newb();是否可以通过某种方式(大括号等)直接访问$foo而不会生成“意外的::(T_PAAMAYIM_NEKUDOTAYIM)”:$b->classname::$foo//shouldresultin"bar"notinan"unexpected::(T_PAAMAYIM_NEKUDOTAYIM)"我知道并使用以下解决方法:$c=$b->classname;$c::$foo;但我想知道是否存在另一种直接访问$foo的好方法。

php - 仅在 Laravel Events 中返回时间戳

当我监听一个事件时,laravel返回的时间戳格式如下:created_at:{date:"2018-03-0405:24:25.000000",timezone:"UTC"timezone_type:3}我怎样才能只在laravel事件中返回时间戳或像这样:2018-03-0405:24:25.000000 最佳答案 只需这样做:$dateTime=$object->created_at->toDateTimeString();或createanaccessor在您使用的模型中:publicfunctiongetCreatedAt