草庐IT

property-injection

全部标签

php - Symfony 2.8 注入(inject) Twig

预注:我正在从Drupal7背景学习Symfony。我已经创建了一个自定义模型(虽然我认为它们在Symfony中被称为服务,据我所知),并希望它通过twig将数组呈现为变量。我找到了这个链接,并认为这种注入(inject)方法可以解决问题:http://symfony.com/doc/2.8/service_container.html可悲的是,我遇到了以下错误:Typeerror:Argument1passedtoAppBundle\Model\Newsletter::__construct()mustbeaninstanceofAppBundle\Model\Twig_Enviro

php - Laravel Queue - 记住属性(property)状态?

如果作业失败,它将被推回队列。有没有办法在再次处理作业时记住作业类中属性的值?例如:classMailJobextendsJob{public$tries=3;public$status;publicfunction__construct(){$this->status=false;//settofalse}/***Executethejob.*/publicfunctionhandle(){$this->status=true;//Assumejobhasfailed,itwentbacktotheQueue.//statusshouldbetruewhenthisjobstartp

php - 通过可迭代注入(inject)的标记服务中的类名获取服务

我正在努力通过类名从一组注入(inject)的标记服务中获取特定服务。举个例子:我将所有实现DriverInterface的服务标记为app.driver并将其绑定(bind)到$drivers变量。在其他一些服务中,我需要获取所有标记为app.driver的驱动程序,然后实例化并仅使用其中的少数驱动程序。但需要的驱动程序是动态的。服务.yml_defaults:autowire:trueautoconfigure:truepublic:falsebind:$drivers:[!taggedapp.driver]_instanceof:DriverInterface:tags:['ap

php - TYPO3 扩展库 : How to access "modified" flag of my object property?

我经常使用ExtbaseDebugUtility(Tx_Extbase_Utility_Debugger::var_dump($object))。它显示每个属性的附加数据,尤其是“已修改”标志-请参见屏幕截图。如何从我的Controller(updateAction)中访问这个“元属性”?我尝试了$object->getProperty->isModified和其他组合,但无济于事。 最佳答案 有一个方法$yourObject->_isDirty("propertyName")如果它被修改则返回true(参见documentatio

php - 依赖注入(inject)太多?

我目前正在将一个包含大量意大利面条式遗留代码的大型应用程序重构为更结构化、更易于维护且最重要的是可测试的应用程序。我可以看到,显然将类依赖项注入(inject)其中,而不是将对象创建与业务逻辑混合,这使得编写单元测试更加容易。我读过这样的评论:“不正确地使用依赖注入(inject)导致的问题多于它解决的问题。”这到底是什么意思呢?对于如此复杂的措辞,依赖注入(inject)似乎是一个非常简单的概念。您如何滥用通过构造函数发送依赖项而不是在依赖类中实例化它们的想法?为什么后者会更可取?我现在所能看到的是,它使编写测试和模拟对象的隔离功能变得非常容易。当一个类有太多职责并直接指向需要重构的

php - Symfony 2 依赖注入(inject)到 Controller 结构中

我曾尝试将许多服务添加到Controller的结构中,但均未成功。classPersonControllerextendsController{  publicfunction__construct(UtilityService$Utils)  {    $this->util=$Utils;  }  publicfunctionindexAction()  {    ...  }}我必须走的路是什么? 最佳答案 您需要在services.yml中将您的PersonControllerController定义为服务,并向其注入(in

php - CakePHP 编码指南 : Why are some properties camelCased instead of CamelCased?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion只是一个简单的问题:寻找Controller.php时:属性名称的基本编码约定是什么?我一直认为,引用对象的属性以大写字母开头,而引用bool值/字符串/整数的基本属性以小写字母开头。但是,在Controller.php中,有:公共(public)$请求;//引用CakeRequest对象的实例公共(public)$View;//引用一个View的实例那么,区别在哪里呢?

php - 规避用于 HTML/JavaScript 注入(inject)的 htmlspecialchars(addslashes(input))

假设一些PHP代码回显通过首先将addslashes()然后htmlspecialchars()应用到HTML文档而净化的输入。我听说这是一种不安全的方法,但不知道为什么。对于可以将哪种格式应用于危险输入(例如脚本标记中的JavaScript)以绕过这两个函数强加的安全措施的任何建议,我们将不胜感激。 最佳答案 addslashes与XSS无关(并且在实际有用的地方几乎总是有更好的东西)。htmlspecialchars不是不安全的方法。它本身是不够的。htmlspecialchars如果您将内容作为“安全”元素的主体,将会保护您。

php - 将 Laravel 5 方法注入(inject)与其他参数一起使用

所以我正在开发一个管理界面。我有一条这样设置的路线:Route::controllers(['admin'=>'AdminController',]);然后我有一个带有一些方法的Controller:publicfunctiongetEditUser($user_id=null){//Getuserfromdatabaseandreturnview}publicfunctionpostEditUser($user_id=0,EditUserRequest$request){//Processanychangesmade}如您所见,我正在使用方法注入(inject)来验证用户输入,因此U

带工厂的 PHP 依赖注入(inject)容器

我正在使用silexphp/Pimple依赖注入(inject)容器(DIC),但不确定如何处理经典工厂模式。例子:父类Animal.php有两个子类,分别是DogAnimal.php和CatAnimal.php。子类的数量可以增长。在这种情况下,我想创建一个工厂来创建新的动物对象或动物类的子对象。Pimple允许为每个服务创建工厂方法。在使用PimpleDIC时,我认为我不想将每个子类(狗、猫等)添加为服务。特别是随着列表的增长。在我看来,这似乎是对DIC的误用,但也许我错了。我是否正确地假设我应该创建动物工厂服务并使用Pimple将依赖项注入(inject)工厂,而工厂又被用来创建