草庐IT

symfony-dependency-injection

全部标签

php - Symfony 如何在我的服务中获取容器

我有symfony项目和在这个项目中,我有自己的服务,这个服务又大又复杂,有自己的依赖关系等……我想创建facade对于此服务,目的是在controllers中使用我的服务,例如:$myService=$this->container->get('service_from_my_domain');我的问题-是如何在我的门面内部访问container以访问服务的依赖项。我只知道一种方法——在yaml配置中将依赖项注入(inject)服务。但是还有别的办法吗?喜欢:$dependency=Container::getInstance()->get('my_dependency_servic

php - Symfony3 中的 SonataAdmin - 没有注册模型管理器

我想使用命令sonata:admin:generate从实体生成管理员,但每次都会出现以下错误:[RuntimeException]没有模型经理注册。知道为什么会这样吗? 最佳答案 我会猜测,但您是否按照描述安装了SonataDoctrineORMAdminBundlehere? 关于php-Symfony3中的SonataAdmin-没有注册模型管理器,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

php - Laravel _ 如何将查询注入(inject) Auth::user()

我正在用laravel写博客。当我查看用户身份验证时,我遇到了一些问题。我有2个表,一个是users:id,name,...另一个是role:user_id,privilege..我需要检查用户是否是管理员,我需要一个像isAdmin()这样的函数或$isAdmin属性。这是我放在app/providers/AuthServiceProvider.php中的函数:privatestatic$isAdmin;publicstaticfunctionisAdmin(){if(isset(self::$isAdmin)){returnself::$isAdmin;}$user_privile

php - 如何从 symfony Controller 抛出 400 错误请求?

我设置了一个非常简单的Symfony3.3Controllerstub,其主要操作如下所示:/***@Route("/pair-gallery/{id}")*/publicfunctionindexAction(Int$id){$output=[];returnnewJsonResponse($output);}当我给它一个字符串作为url中的参数(而不是整数)时,我目前收到500错误。这并不可怕,但这并不是我想要的。我如何告诉Symfony发回400(“错误请求”)响应代码? 最佳答案 您可以简单地抛出一个自动转换为HTTP400

php - Symfony 手动连接参数 - 'arguments' 与 'bind'

我试图弄清楚如何手动将参数注入(inject)DefaultController(无需Autowiring)。我发现有两种方法可以实现这一目标。我可以使用参数:services:_defaults:autowire:falseautoconfigure:truepublic:trueApp\Service\SomeService:~App\Controller\DefaultController:arguments:#!$service:'@App\Service\SomeService'$scalar:22除此之外,我还可以使用bind键:services:_defaults:aut

php - Symfony 4 - 类的对象无法转换为字符串

在浏览互联网和此处后,我没有找到对我有用的东西。我目前正在创建一个CRUD。每个“企业”都有一个或多个“站点”,我目前正在为站点做CRUD。我是通过执行make:form命令来实现的。当我要创建一个站点时出现以下错误:CatchableFatalError:ObjectofclassApp\Entity\Entreprisecouldnotbeconvertedtostring如我所见,我已尝试添加函数__toString()。但也许我没有正确地添加它,它没有任何改变,所以我删除了它。我创建网站的Controller如下所示:/***@Route("admin/sites/new",n

php - 在 Symfony 的选择选项中设置默认值?

我正在使用小部件sfWidgetFormChoice(array('choices'=>CountryPeer::getAllCountry(),))和验证器作为sfValidatorChoice(array('choices'=>array_keys(CountryPeer::getAllCountry()),))我得到一个选择元素作为IndiaSrilanka我想添加一个选项--SelectCountries--作为默认选项:--SelectCountries--如果我没有选择任何国家,它应该会抛出一个必需的错误。 最佳答案 首

php - 如何将数据库中的php代码注入(inject)到php脚本中?

我想将php代码存储在我的数据库中,然后在我的脚本中使用它。classA{publicfunctiongetName(){return"lux";}}//instantiatesanewA$a=newA();在我的数据库中有这样的数据"hello{$a->getName()},howareyou?"在我的php代码中,我将数据加载到变量$string$string=load_data_from_db();echo$string;//echoeshello{$a->getName()},howareyou?现在$string包含“你好{$a->getName()},你好吗?”{$a->g

php - 准备好的语句会完全保护我的网站免受 MySQL 注入(inject)吗?

我在查询中使用准备好的语句和MySQLi来防止注入(inject)攻击。准备好的语句会完全消除对mysql_real_escape_string的需要吗?在保护我的网站时,还有什么我应该考虑的吗? 最佳答案 只要您正确使用准备好的语句,它们就可以。您必须确保绑定(bind)所有外部变量,而不是将它们直接放在查询中。例如$stmt=$mysqli->prepare("SELECTDistrictFROMCityWHEREName=".$name);正在准备此语句,但它没有使用任何一种绑定(bind)方法,因此没有任何用处。它仍然容易受

php - 是否安全 :cipher encrypted result depend on the server?

我在一个cakephp应用程序中工作,我在其中使用Security::cipher来加密一些数据。它工作得很好,但我已经将文件和数据库移动到另一台服务器,现在加密结果不同了。我试过一些简单的线条:$security=newSecurity;$code=$security->cipher('1234',Configure::read('Security.cipherSeed'));当我打印$code时,两个服务器中的值不同。我在两个core.php文件中配置了相同的Security.cipherSeed。Security::cipher函数是否使用某些服务器值进行加密?谢谢。