草庐IT

Symfony3

全部标签

php - symfony2 中没有数据库访问权限的模型

我目前正在学习如何使用symfony2框架。遍历cookbook,我开始对一切如何组合在一起有一个基本的了解。但是,我有2个关于实体的问题,我认为它们是MVC模式中的模型:在文档中,似乎有很多关于使用原则作为ORM的实体的讨论。如果我有一个不需要任何ORM的实体/模型,这仍然被视为“实体”吗?在我看到的大多数教程中,实体通常都被扔到应用程序包下一个名为“entities”的文件夹中。应用程序中有许多实体,我觉得这会变得非常困惑和无组织。如何对实体进行分组和组织?干杯:) 最佳答案 关于如何组织模型类的问题:您可以将子文件夹添加到“实

php - 在 Symfony2 中包含用户自定义函数的最佳实践

我是Symfony2的新手,我不明白我应该在哪里使用我的自定义跨项目函数(例如array_merge_overwrite、array_last等)?我使用两种类型的应用程序:网络(MVC)和控制台(扩展ContainerAwareCommand)。或者还有另一种“正确的方法”? 最佳答案 创建一个service并将您的常用功能放入其中。例如,您可以将其命名为ArrayService,并在容器中将其注册为array.service。然后,您可以通过以下方式从Controller访问此服务$this->get('array.servic

php - 带有 PHP 5.4 内置服务器的 Symfony2

我正在尝试将Symfony2与新的PHP5.4及其内置服务器一起使用。我下载了Symfony2并将其解压缩到我的服务器上并添加了这个router.php文件,如提到的here:网络服务器本身可以工作,因为如果我将router.php替换为phpinfo();之类的简单内容,它会输出正确的内容,但使用提到的router.php脚本站点保持白色/空白。如果我打开开发人员工具,它会返回500服务器错误。我这样启动服务器:/home/php54/php-S0.0.0.0:88router.php在我的shell上我没有错误消息的输出。 最佳答案

php - InvalidArgumentException Composer 安装symfony

我正在尝试使用以下命令从composer.json文件安装symfony2.4.1:phpcomposer.pharinstall我从包含composer.json文件(var/www/projectname/)的根目录运行此命令一些软件包已正确安装。安装Doctrine包时,出现以下错误:InvalidArgumentException$from(/var/www/projectname/bin/doctrine)and$to()mustbeabsolutepaths.这是我已经尝试过的:运行phpcomposer.pharselfupdate(现在是最新版本)运行phpcompos

php - symfony/console 组件的可变数量的选项

如何配置symfony/console来接受动态选项列表?也就是说-选项的名称在开发步骤中是未知的,所以我需要一个应用程序来接受所有内容并使用标准$input->getOption公开它。有没有可能轻松完成(无需在数百万个地方破解码件)?我的尝试包括扩展ArgvInput和InputDefinition类,但由于各种原因(它们是客观的和symfony/console组件实现)而失败了-具体的)。简而言之:前者需要多次调用parsing;后者-在多个地方实例化,所以我找不到合适的方法来注入(inject)它。 最佳答案 您可以创建自己

php - 使用 Symfony Process 控制与 PHP 的交互过程

我正在尝试控制系统ssh-agent通过使用ssh-add向其添加新key.为此,我使用SymfonyProcess组件。当我从网站运行这段代码时,它运行得非常好,但是当我在shell/控制台中运行相同的代码时,ssh-add进程挂起Enterpassphrasefor:代码的简化版本看起来像这样useSymfony\Component\Process\Process;$keyPath='';$keyPassword='';$socketPath='';$sshAdd=newProcess("ssh-add{$keyPath}",null,['SSH_AUTH_SOCK'=>$sock

php - Symfony2 路由 : Method Not Allowed (Allow: {Method})

所以在routing.yml中我定义了以下路由,以便编辑和删除特定设置:路由.yml:settings.editDefaults:path:settings/{id}/defaults/edit/{widgetType}defaults:{_controller:AppBundle:Settings:editDefaults}methods:[POST,PUT]settings.deleteDefaults:path:settings/{id}/defaults/delete/{widgetType}defaults:{_controller:AppBundle:Settings:de

php - 在生产环境中处理 Symfony 的缓存

我有一个正在生产中测试的Symfony2网站。我继续并清除了它的缓存,因为我已经并且可能会进行更多修改,但是有一个小问题:当正在清除缓存并说,之后我想预热它时,访问该网站的人会重建缓存。这会产生一个小问题,因为缓存正在构建,但还没有完全构建,而其中一半被删除,因为删除仍在进行中。之后发生的事情是,缓存已构建,但只是其中的一部分。Symfony认为缓存是完全构建的,并且运行时不再尝试构建它,但它运行在半构建的缓存上。删除过程有点长(~15秒),因此在此时间范围内,没有人必须尝试通过访问网站来创建缓存。要么,要么缓存完全建好,覆盖掉旧的缓存,系统把这些新文件当作旧文件,删除一部分,还有一部

php - Symfony 服务注入(inject)语法

我正在开发由另一家公司实现的Symfony2应用程序,遇到了以下服务定义:service_id:class:'path\to\class'calls:-[setRequest,['@?request=']]我知道@?request=中的问号是什么意思(如果服务不存在,setRequest不会被调用),但是等号是什么意思在平均值的末尾?谢谢! 最佳答案 等号用于告诉容器忽略范围违规。request处于特殊范围内,如果您在不同的范围内使用它,容器将抛出异常。作用域在Sf2.8中被弃用并在Sf3.0中被移除。参见https://symfo

php - Symfony 网页包 : Could not find the entrypoints file from Webpack

一个比较新的Symfony4.1.7项目安装WebpackEncore后报错Anexceptionhasbeenthrownduringtherenderingofatemplate("CouldnotfindtheentrypointsfilefromWebpack:thefile".../public/build/entrypoints.json"doesnotexist.")模板包含的地方{{encore_entry_link_tags('app')}}启动时http://127.0.0.1:8000/我错过了什么?$yarnencoredevRunningwebpack...D