symfony 相关问题

Symfony既指用于构建Web应用程序的PHP框架,也指构建框架的一组组件。此标记指的是当前支持的主要版本2.x,3.x和4.x.或者,您可以使用相应的标记指定确切的版本。此标记不应用于有关Symfony 1.x的问题。请改用Symfony1标签。

Symfony3 Doctrine 选择多对多

我有 3 个实体:用户、类别(帖子)和组。类别具有与组具有多对多关系的 allowedGroups 字段。用户也有组。我正在寻找最简单的方式显示当前

回答 1 投票 0

错误:未为 SQL 查询定义类“App:User”

我正在尝试在 Symfony 7 中运行我的旧脚本。我的 SQL 查询收到消息“错误:类‘App:User’未定义”。 当我将“App:User”更改为“App\Entity\User”时...

回答 1 投票 0

如何使 Twig 日期可翻译

我在树枝中显示一个 DateTime 对象,如下所示: {{ transaction.getDate|date("F - d - Y") }} 现在我希望月份可以翻译, 例如 2012 年 4 月 - 20 日应该...

回答 3 投票 0

Symfony 如何找到 AsEventListener 类?

我在这里找到了一个 $container->registerAttributeForAutoconfiguration 调用,但据我所知,这不会向容器添加类。然而文档说 另一种方法...

回答 1 投票 0

将多个集合合并到一个 symfony 中

(使用 Symfony 3.4) 我试图通过合并(仅获取对象)多个集合来创建数组集合。听起来很奇怪,让我解释一下。 我从数据库中获取所有用户......

回答 1 投票 0

如何使用 Symfony Forms 设置 API 的默认值?

我有一个非常简单的API。您可以将价格(价值和货币)发布到 API。默认货币为欧元,因此可以省略该货币。 API 返回完整价格对象: $curl -d '{"va...

回答 1 投票 0

从 Symfony 中的事件侦听器捕获异常,以便它们不会阻止其他侦听器

我在 Symfony 4.4 应用程序中遇到问题,其中有十几个侦听器侦听扩展 Symfony\Contracts\EventDispatcher\Event 的单个事件。问题是,如果其中之一

回答 2 投票 0

如何创建不基于实体API平台的资源API?

我需要创建一个 GET 端点来返回通过 http 客户端从另一个应用程序获取的资源,而不是基于实体。我获取的资源是一个数组: [ “id”=> 1...

回答 2 投票 0

实现查询日志框架记录器,以便在正确的事务中回滚(跟踪事件)

这篇文章不是在寻找建议,而是在寻找本机框架中是否存在用于跟踪/记录查询执行的功能或方法。 我有几个数据库,我需要汽车...

回答 1 投票 0

Symfony 中可选属性的验证

我喜欢将 Symfony 中的验证注释与我庞大的实体模型一起使用,如下所示: /** * @var 字符串 * @ORM\Column(类型=“字符串”,长度= 255,可空= false,名称=“名称”) * * @Assert\NotBl...

回答 2 投票 0

如果 twig 中为 null,则设置默认值

我正在树枝视图中循环我的结果.. {% 表示项目中的项目 %} {{ item.userId.firstName }} {{ item.userId.lastName }} {% 结束 %} 我想设置默认值'User unk...

回答 3 投票 0

为什么turbo使用http而不是https?

我有 symfony 登录。我的页面使用 Turbo 并由终止 https 的 ngninx 反向代理提供服务。球童与 Frankenphp 通过 http:80 提供页面。 问题是在本地当...

回答 1 投票 0

自定义用户类的 Symfony 类型提示

我正在尝试获取类型提示以与 Symfony 5.4 Security 捆绑包和 PHP 7.4 中的自定义 User 类一起使用。所以我有这个用户类: // src/Security/User.php 我正在尝试获取类型提示以与 Symfony 5.4 安全包和 PHP 7.4 中的自定义 User 类一起使用。所以我有这个User课程: // src/Security/User.php <?php namespace App\Security; class User implements JWTUserInterface { private int $customProp public function getCustomProp() { return $this->customProp; } ... } 但是每当我尝试访问某些服务中的用户时,我都没有得到 customProp 的类型提示 // src/Service/MyService.php <?php namespace App\Service; use Symfony\Component\Security\Core\Security; class MyService { private int $customProp; public function __construct(Security $security) { $this->myCustomProp = $security->getUser()->getCustomProp(); } ~~~~~~~~~~~~~ } 我收到的消息是 未定义方法“getCustomProp”。 但是值就在那里并且代码可以工作,我根本无法让 IDE 理解我的自定义 User 类提供了此方法。 您遇到这个问题是因为 Security::getUser() 是一个原生 Symfony 函数,它返回原生 Symfony UserInterface,并且 UserInterface 没有定义 getCustomProp()。 IDE 不知道返回的对象是自定义 User 类的实例。你可以像这样明确地告诉它: public function __construct(Security $security) { /** @var \App\Security\User $user */ $user = $security->getUser(); $this->myCustomProp = $user->getCustomProp(); }

回答 1 投票 0

在 APi 平台中关闭端点的复数形式

在 Symfony 5 项目中,我们使用 APi 平台生成 REST API。 其中一个实体类称为 FarmMetadata。 在 Symfony 5 项目中,我们使用 APi 平台生成 REST API。 其中一个实体类称为 FarmMetadata。 <?php namespace App\Entity; use ApiPlatform\Core\Annotation\ApiResource; use Doctrine\ORM\Mapping as ORM; /** * @ApiResource() * @ORM\Table(... some settings ...) * @ORM\Entity */ class FarmMetadata { // properties and methods } 当我运行 php bin/console debug:router 时,它会显示此资源的以下路线: api_farm_metadatas_get_collection GET ANY ANY /api/farm_metadatas.{_format} api_farm_metadatas_post_collection POST ANY ANY /api/farm_metadatas.{_format} api_farm_metadatas_get_item GET ANY ANY /api/farm_metadatas/{id}.{_format} api_farm_metadatas_delete_item DELETE ANY ANY /api/farm_metadatas/{id}.{_format} api_farm_metadatas_put_item PUT ANY ANY /api/farm_metadatas/{id}.{_format} api_farm_metadatas_patch_item PATCH ANY ANY /api/farm_metadatas/{id}.{_format} 但是“元数据”这个词已经是复数了。不存在元数据这样的东西。如何关闭此端点的复数形式? 我尝试使用shortName: * @ApiResource( * shortName="FarmMetadata" // also "farm_metadata" * ) 但它不会改变输出。 如果我使用: * @ApiResource( * shortName="Metadata" * ) 然后更改路线名称和路径: api_metadata_get_collection GET ANY ANY /api/metadata.{_format} api_metadata_post_collection POST ANY ANY /api/metadata.{_format} api_metadata_get_item GET ANY ANY /api/metadata/{id}.{_format} api_metadata_delete_item DELETE ANY ANY /api/metadata/{id}.{_format} api_metadata_put_item PUT ANY ANY /api/metadata/{id}.{_format} api_metadata_patch_item PATCH ANY ANY /api/metadata/{id}.{_format} 但这不是我想要的。 我知道我可以为每个操作声明一条路径,但这会损害 DRY 原则。 我怎样才能达到预期的行为? 您可以在每个操作中使用“路径”选项。 参见 https://api-platform.com/docs/core/operations/#configuring-operations 例如 * shortName="Metadata", * itemOperations={ * "get"={ * "path"="/metadata/{id}" 通过操作路径命名,您可以轻松地随心所欲。 将配置添加到config/packages/api_platform.yaml,将类和路径更改为您想要的名称和位置: api_platform: ... path_segment_name_generator: App\InfraStructure\ApiPlatform\Core\SingularPathSegmentNameGenerator 创建实现PathSegmentNameGeneratorInterface的必要类: <?php declare(strict_types=1); namespace App\InfraStructure\ApiPlatform\Core; use ApiPlatform\Core\Operation\PathSegmentNameGeneratorInterface; use ApiPlatform\Core\Util\Inflector; final class SingularPathSegmentNameGenerator implements PathSegmentNameGeneratorInterface { public function getSegmentName(string $name, bool $collection = true): string { return Inflector::tableize($name); } } 请参阅链接文档了解另一个示例,例如 return strtolower(preg_replace('~(?<=\\w)([A-Z])~', '-$1', $string)); 我认为这不可能通过配置实现:这些路由是在私有方法ApiPlatform\Core\Bridge\Symfony\Routing\ApiLoader::addRoute中构建的(至少在我正在使用的 v2.6 中),并且这使用对复数器的静态调用 - 所以:装饰ApiLoader 不容易实现(因为 addRoute 方法是私有的),并且不可能交换生成路由的方式(由于使用静态方法调用)。 看起来您需要在他们的错误跟踪器中打开功能请求票...

回答 3 投票 0

Symfony 7:在属性路径“Title”处给出的预期参数类型为“string”,“null”

主要是理解问题,因为我已经找到了解决方案,但我不太相信。 我有两种方法,新建和编辑,如下所示: #[路线('电影/新',名称:'app_film_new',

回答 1 投票 0

symfony 更新 2.6 到 3.4 后奏鸣曲/twig 错误

我正在将项目从 sf2.6(php5.6) 更新到 sf3.4(php7.1)...进展顺利,但现在我遇到了一个错误,我不知道如何解决修理它。 错误输出: PHP 消息:PHP 致命错误:未捕获

回答 1 投票 0

Doctrine2 ORM 不会刷新在脚本之外更改的对象

我真的不知道如何给这个标题或搜索一个已经发布的问题,所以如果以前在这里见过这个问题,我很抱歉。 我使用以下代码得到了一些不需要的结果: ...

回答 2 投票 0

Symfony2 在自定义文件夹中生成控制器

Symfony2 有一个用于生成控制器的命令 http://symfony.com/doc/current/bundles/SensioGeneratorBundle/commands/generate_controller.html 命令的默认行为是生成给定的

回答 3 投票 0

如何使用 Doctrine ORM 和迁移修复 Symfony 中的“元数据存储不是最新的”错误?

使用 Doctrine ORM 和迁移时,如何解决 Symfony 中的“元数据存储不是最新的”错误?我向我的 Symfony 应用程序添加了一个新实体,当我运行 'php bin/console

回答 1 投票 0

预期响应代码“250/251/252”,但收到代码“550”,消息为“550 5.7.27 <[email protected]>:发件人地址被拒绝:域示例

我正在尝试使用邮件服务通过 Symfony 发送电子邮件。由于我的网站托管在托管商以及我的域上,因此我在 .env 文件中遵循以下模式 ###> symfony/

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.