symfony 相关问题

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

Symfony - 运行命令“lexik:jwt:generate-keypair”时抛出错误

我正在尝试生成一组密钥对,用于对要生成的 JSON Web 令牌进行编码。 但我收到这个错误: php bin/console lexik:jwt:生成密钥对 [严重] 抛出错误...

回答 2 投票 0

如何使用 Symfony 命令行工具在内置 Web 服务器的 PHPStorm 中进行调试

我能够在 PHPStorm 中设置一个 php Web 应用程序调试器,只需将其绑定到我的本地主机的特定端口,一切工作正常。然而,为了使其工作,我需要首先运行此命令...

回答 3 投票 0

像 artisan 一样为我自己的自定义 php 框架创建自定义

我正在开发一个用于学习建议的客户 PHP 框架, 现在我需要为我的框架创建自定义 cli,并且我想将其放在不同的 Composer 包中以便单独使用和更新。 ...

回答 1 投票 0

维护 symfony2 选择输入字段中的发布顺序(带有选择列表)

我在项目中使用Symfony2框架并使用Form组件来创建表单。我正在使用选择输入字段类型来使用户能够多重选择选项,并且我正在使用插件来en...

回答 1 投票 0

Symfony2 创建具有继承属性的表单类型

我正在尝试创建一种具有继承属性的表单类型,我有一个实体(候选人)具有两个属性(字符串 dni 和用户 user)。 是否可以从用户添加属性(user.user...

回答 1 投票 0

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

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