symfony 相关问题

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

在 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

Symfony Forms 手动提交 GET 和 POST 请求

有没有办法从Request类中获取合并数据?因为目前我们正在为接受 POST 和 GET 查询的 API 控制器手动提交表单(这不是 REST API,因为......

回答 1 投票 0

检查 PHP Symfony 中的请求要求:我必须使用服务吗? (OOP 与 Symfony 中的服务)

我正在开发我的第二个 Symfony 项目并尝试遵循最佳实践。我已从静态方法切换到服务,以提高可读性和潜在的性能提升。比如说我...

回答 1 投票 0

获取我的 Symfony API 需要近 2 秒

我在 React 上获取 Symfony API,尽管只有 3 行,但获取和显示数据需要 2 秒。 我怎样才能优化时间? 视频:https://imgur.com/a/iGaFW0L 视频期间

回答 1 投票 0

我应该为 Symfony 6.4 使用哪个 cron?我已经尝试了一切,但版本不起作用

Symphony 6.4 应该使用哪个 cron? 我已经尝试了一切,但版本不起作用 作曲家.json { “类型”:“项目”, “许可证”:“专有...

回答 1 投票 0

Symfony、Messenger、Kubernetes 和 Messenger:stop-workers

我的问题如下,我有一个symfony应用程序。它在 Kubernetes 中进行了 docker 化。第一个容器是 Web 服务器,第二个是 symfony Messenger 的使用者,第三个是 symfony Messenger

回答 1 投票 0

尝试使用 Symfony 提交带有 ChoiceType 的表单时出现问题

我有以下代码,在尝试提交表单时不起作用: 命名空间App\Form; 使用应用程序\实体\状态; 使用App\Entity\Signal; 使用 Symfony\Component\Form\AbstractType; 使用 Do...

回答 1 投票 0

如何在 symfony 2.3 中获取当前语言环境?

如何获取 Symfony 2.3 中的当前语言环境? 我有一个像这样的网址: /{_locale}/blog/article 以 FR 作为默认参数。 我尝试以下操作: $this->get('request')->getLocale() 乙...

回答 4 投票 0

Symfony 表单生成非预期的占位符元素

通常,应该有两个输出都填充了分类ID - 不知何故,有一个“占位符”元素会导致错误。我真的不明白它从哪里来,任何想法......

回答 1 投票 0

Symfony4 UserInterface 缺失 ->getId() 如何访问用户 id

为什么 Symfony 4 的 UserInterface 中没有 getId() 方法?我尝试将 UserInterface $user 传递给我的 Controller 方法,以使用 $user->g 实际访问当前登录用户的 id...

回答 2 投票 0

Symfony 表单:如何根据实体的其他属性设置动态选择?

我有一个表单类型 类 ArticleTranslationType 扩展 AbstractType { 公共函数 buildForm(FormBuilderInterface $builder, array $options): void { $builder ->添加('

回答 1 投票 0

ApiPlatform 出现 NotFoundHttpException:自定义 URL 参数被视为标识符

我在使用 ApiPlatform 的 Symfony 项目中遇到了问题。每当我在 URL 中包含自定义参数时,我都会遇到 NotFoundHttpException 并显示消息“无效的 URI

回答 1 投票 0

Symfony SassBundle 无法识别 .yaml 配置

我正在使用 AssetMapper 和 ux-twig-component 开发 Symfony 应用程序。 为了优化加载时的资源,我制作了不同的样式表。我的主要样式表是一个 .ccs 模板文件,我重复使用它...

回答 1 投票 0

SSL 连接 mysql symfony 7

升级到 symfony 7 后,我无法使用 SSL 连接到我的 azure mysql 数据库。 升级之前,在 symfony 5.4 中此连接正常。 我的 5.4doctrine.yaml 看起来像并且工作正常: ...

回答 1 投票 0

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