草庐IT

code-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 和 Eclipse : How to avoid errors in default code of Laravel 5. 5?

我在Laravel中创建了一个新项目,并使用EclipseIDE(适用于PHP)将其打开,但Laravel为路由生成的默认代码出现错误。我怎样才能防止这种情况发生?我只创建了项目并用Eclipse打开了它,但出现了该错误。 最佳答案 在文件顶部导入Route门面,如Request。useIlluminate\Support\Facades\Route;我推荐使用这个包,barrydvh/ide-helper,在你的项目中。它会生成Laravel外观和其他静态方法的映射,而IDE在开箱即用时会遇到问题。您还需要安装EclipsePHP

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

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

php - libcurl 的 CURLINFO_RESPONSE_CODE 和 PHP 的 curl_getinfo() 用于 FTP 传输

是否可以安全地假设PHP的curl_getinfo()为数组键“http_code”返回的值是libcurl的CURLINFO_RESPONSE_CODE的值?换句话说:在PHP中使用curl_getinfo()的CURLINFO_HTTP_CODE的值是否对应于使用curl_easy_getinfo的CURLINFO_RESPONSE_CODE的值()在libcurl中?因此它对FTP传输也有意义吗?FTP传输后的值是FTPreplycode? 最佳答案 实际常量名称是CURLINFO_HTTP_CODE(不是CURLINFO_R

php - 试图避免 "spaghetti code",为什么多个 if-else 不好?

我刚刚在读top100signsofspaghetticode我遇到了数字4,它简单地说明:if($status=="awake"){$actitivity="Writingspaghetticode";}elseif($healthstatus=="OK"){$activity="Sleep";}else{print"CALL911IMMEDIATELY!";}我在otherspaghettidiscussions中看到过这种多重if-else模式.我有点困惑为什么会这样,即使它适用于这个例子。上面的例子不好是因为第一个变量是activity,它表示编码器需要一些sleep,所以这是

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 - 规避用于 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)工厂,而工厂又被用来创建