Symfony形式:自定义调用的setter

2023-11-23

我有一个实体的 Symfony 表单自定义类型。

我想自定义提交表单时执行的代码,但仅限于字段。

例如,Symfony 默认会这样调用:

$entity->setFoo($value);

我想做这样的调用:

$entity->doSomething($value, true);

如何在不影响与表单正确映射的所有其他属性的情况下做到这一点?


您可以定义您的foo字段的形式为not mapped然后添加监听器POST_SUBMIT那会打电话给你doSomething() method:

$builder->add('foo', null, array('mapped' => false))
    ;

    $builder->addEventListener(
        FormEvents::POST_SUBMIT,
        function(FormEvent $event) {
            $entity = $event->getForm()->getData();
            $entity->doSomething($event->getForm()->get('foo')->getData(), true);
        }
    );

它不会调用$entity->setFoo($value)。相反,它会调用$entity->doSomething($value, true)如你所愿。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Symfony形式:自定义调用的setter 的相关文章

  • 在 CentOS 中安装 PHP Zip 扩展

    我正在尝试在 CentOS 中安装 PHP Zip 扩展 我的服务器没有外部互联网访问权限 所以我自己从 PECL 下载了它 http pecl php net package zip http pecl php net package z
  • 将字符串的第一个字母大写(前面带有特殊字符) - PHP

    我想将字符串大写 例如 hello 我希望我的函数返回 Hello 我尝试过使用 regex 和 preg match 但没有运气 这是我之前的问题 与此相关 preg match 正在匹配两个字符 而它应该只匹配一个字符 https st
  • 如何让 Laravel“确认”验证器将错误添加到确认字段?

    默认情况下 Laravel 确认 验证器将错误消息添加到原始字段 而不是通常包含确认值的字段 password gt required confirmed min 8 是否有任何简单的方法来扩展验证器或使用一些技巧来强制它始终在确认字段而不
  • php 中 php.ini 的 log_errors 和 error_log

    我正在尝试通过 php ini 更改 php ini 中的设置 我的问题是 当出现错误时 它不会放入文件 error log txt 中 那么我做错了什么 这是我的代码 Settings for php ini ini set sessio
  • CodeIgniter/PHP - 从视图内调用视图

    基本上 对于我的网络应用程序 我正在尝试更好地组织它 目前 每次我想加载页面时 我都必须从控制器中执行此操作 如下所示 this gt load gt view subviews template headerview this gt lo
  • WooCommerce 自定义字段 - 多选

    我在 WooCommerce 的结账页面添加额外的字段 我可以添加文本框等基本字段 但需要添加一个 多 选择框 用户可以在其中选择多个项目 我已经弄清楚如何通过代码添加选择框 如下所示 add action woocommerce afte
  • 提交简单 PHP 表单时出现禁止错误

    我有一个不复杂的问题 这似乎比应有的更复杂 我有一个简单的表单 用于向网站添加内容 有些字段需要输入html 然而 当您在表单的不同部分输入某些 html 元素时 它会认为它讨厌您并抛出禁止的 403 错误 这是下面的表格
  • 与 PHP 相比,Python 与 HTML 的“流畅”程度如何?

    我正在考虑从使用 PHP 切换到使用 Python 来开发 Web 应用程序 但我想知道 Python 是否像 PHP 一样擅长在 HTML 中穿插 本质上 我发现它使用起来非常简单 直观将 PHP 放在我想要的位置 然后可以随意安排 组织
  • 带摘要的 php curl 返回两个响应

    我发现了一个 奇怪 的 php CURL 行为 这让我抓狂 基本上我正在做的是使用curl 进行摘要身份验证的调用 这是我的代码的摘录 curl setopt this gt c CURLOPT HTTPAUTH CURLAUTH DIGE
  • phpenmod 显示其他 php 版本的路径

    我的 Ubuntu 机器上安装了 php 7 0 和 7 2 当我执行时php v 它告诉我我正在使用 php 7 2 在 Apache 上我还启用了 php 7 2 当我跑步时phpenmode zip 我明白了 WARNING Modu
  • json_decode 到自定义类

    是否可以将 json 字符串解码为 stdClass 以外的对象 不是自动的 但你可以按照老式的路线来做 data json decode json true class new Whatever foreach data as key g
  • 我应该在 Symfony 中哪里放置既不是控制器也不是模型的类?

    对于我的应用程序包 我需要一些既不是控制器也不是模型的类 例如 我想要一个scorecard具有诸如 技能 效率 美丽 等成员的类 此外 它可能具有诸如 meanScore 之类的成员方法 getters 这样的类在 Symfony 框架中
  • PHP 何时实现了函数使用闭包? [复制]

    这个问题在这里已经有答案了 我在 PHP 手册中找不到解释的部分use 我有代码 num 0 array walk recursive REQUEST function mValue use num num 我的 Eclipse 抱怨 Pa
  • PHP 中正确的存储库模式设计?

    前言 我尝试在具有关系数据库的 MVC 架构中使用存储库模式 我最近开始学习 PHP 中的 TDD 并且我意识到我的数据库与应用程序的其余部分耦合得太紧密 我读过有关存储库并使用国际奥委会容器 http laravel com docs 4
  • Google Drive V3、Google API 客户端 2.0 - 批量上传失败

    使用 Google Drive V3 和 API v2 0 主分支进行批量上传失败 我已经修改了https github com google google api php client blob master examples batch
  • Laravel 5 Eloquent 在多个级别上将关系附加到 JSON

    因此 在模型中包含关系非常容易 例如 class User extends Model protected with roles class Role extends Model protected with permissions 当有对
  • 将 docker-compose.yml 中的包安装到 docker 容器中

    我是 docker 和 docker compose 的初学者 我需要你的帮助 我正在使用 docker compose 制作 PHP NGINX PostgresQL symfony 开发环境 这里是 web image nginx 1
  • Yii2 无效调用:设置只读属性

    我有一个Post具有多对多关系的模型Tags 在 Post 模型中定义 public function getTags return this gt hasMany Tags className id gt tag id gt viaTab
  • 如何强制下载图片?

    我的页面上有一个动态生成的图像 如下所示 img src 我不想告诉我的用户右键单击图像并点击保存 而是想公开一个下载链接 单击该链接将提示下载图像 如何实现这一目标 最初我在 js 中尝试这样做 var path my image att
  • jQuery appendTo(), json 在 IE 6,7,8 中不起作用

    我这两天绞尽脑汁想找到解决办法 我使用 jQuery ajax 从数据库中获取值 以便在另一个框发生更改时更新一个框 php 脚本从数据库中获取值 然后输出 json 它在 FF 中工作正常 但在所有版本的 IE 中 选择框都不会更新 我已

随机推荐

  • 当内容类型为“application/xml”时,如何使用 httplib 发布非 ASCII 字符

    我已经在 Python 2 7 中实现了 Pivotal Tracker API 模块 这关键跟踪器 API期望 POST 数据是 XML 文档 并且 application xml 是内容类型 我的代码使用 urlib httplib 来
  • Windows 和 Linux 之间的行结束符有区别吗? [关闭]

    Closed 这个问题是无关 目前不接受答案 我正在尝试解析Linux etc passwdJava 中的文件 我目前正在阅读每一行java util Scanner类 然后使用java lang String split String 来
  • 使用包含数字的字符串对 NSMutableArray 进行排序?

    我有一个 NSMutableArray 它保存了用户的高分 我想按数字排列项目 数字存储在 NSStrings 中 Example 4 2 7 8To2 4 7 8如果数据存储在 NSString 中 最简单的方法是什么 这段代码会做到这一
  • 如何访问 NAT 后面的 Web 服务?

    我们有一个产品正在部署到一些小型企业 它基本上是一个使用 Tomcat 的基于 SSL 的 RESTful API 它安装在小型企业的服务器上 并通过 iPhone 或其他便携式设备进行访问 因此 连接到服务器的设备可以来自任意数量的 IP
  • 从詹金斯管道执行脚本

    我有一个构建 java 工件的 jenkins 管道 将其复制到目录 然后尝试执行外部脚本 我在管道脚本中使用此语法来执行外部脚本 dir opt script directory sh run sh 该脚本只是一个简单的docker构建脚
  • 向 glutDisplayFunc 传递 1 个参数(指针)?

    我创建了一个带有基本draw 方法的虚拟类 该方法不执行任何操作 这样做的目的是其他类 形状和其他能够在 OpenGL 中绘制自身的东西将继承这个虚拟类 从而允许我创建指向许多不同类的指针数组 这背后的想法是我希望能够将指向该数组的指针传递
  • 如何在 Yii 框架中使用 mysql_escape_string() ?

    众所周知 我们不能在 Yii 等框架中使用原始 MySQL 查询 我想用mysql escape string在我的项目中 该项目在 Yii 框架中运行 以避免用户输入中的 SQL 注入 我知道mysql escape string在 PH
  • 使用字典替换 pandas 数据帧上给定索引号上的列值

    考虑以下数据框 df test pd DataFrame a 1 2 8 b np nan np nan 5 c np nan np nan 4 df test index one two three 这使 a b c one 1 NaN
  • 仅向网站用户显示 YouTube 私人视频

    我有使用 YouTube API 的经验 但我总是用它来拍摄公共视频 现在 我想要实现的是 使我的 YouTube 频道上的视频完全不可见 换句话说 是私有的 并且仅向网站用户显示该视频 这可能吗 如何实现 这是来自Google 产品论坛
  • ios 中检测 SIM 卡的可能方法?

    我有一个能够发送消息的 iPhone 应用程序 我想在 iPhone 中没有 SIM 卡时提醒用户 所以我尝试了以下三个功能来检查SIM卡可用性 Class messageClass NSClassFromString MFMessageC
  • style 属性不使用 android: 命名空间前缀的原因

    在Android中 style属性不使用android 命名空间前缀的原因是什么 See how style不开始于android 有人知道为什么吗
  • 用于编译node_modules中模块的Webpack配置

    我的 webpack babel 配置有问题 我已经将我的组件存储库 内部没有 webpack 配置的 es6 模块 安装为 node module 在这种情况下它不起作用 我收到 意外的令牌导入 错误 babel 不转译 es6 代码 但
  • 在 android 中扩展简单的 xml 布局时出现内存不足错误

    我在 google play 上遇到了一些用户报告的内存错误 无论我如何努力 我似乎 都无法重现该错误 该错误显示在我尝试设置文件布局的 java 文件行上 这是 logcat 的完整转储 java lang RuntimeExceptio
  • 交互式变基后代码镜头无法正常工作

    在 VS2015 中 在我执行 git rebase i 并修改提交以更正作者姓名 我的一台机器中 git 配置中的拼写错误 后 通过 CodeLens 功能在代码中显示的关于作者和更改的所有来自 git 的代码元数据都消失了 在强制推送更
  • Zend Framework 1.9 和 Doctrine 集成

    我正在尝试设置 Zend Framework 和 Doctrine 之前有与 ZF 1 8 的讨论 将 Doctrine 与 Zend Framework 1 8 应用程序集成 该讨论没有考虑 AutoLoader Bootstrap 系统
  • ADB 服务器版本 (36) 与此客户端 (39) 不匹配;杀戮[重复]

    这个问题在这里已经有答案了 在测试设备上安装 Android O 预览版后 我的 ADB 停止工作并开始出现此错误 adb server version 36 doesn t match this client 39 killing adb
  • Matplotlib - 更改线条上方/下方的线条颜色

    I have a line plot and 2 hlines all using different colors and I m filling the areas where the main line crosses the hli
  • 根据长度将数据帧分割成相对均匀的块

    我必须创建一个函数 将提供的数据帧分割成所需大小的块 例如 如果数据帧包含 1111 行 我希望能够指定 400 行的块大小 并获得大小分别为 400 400 和 311 的三个较小的数据帧 是否有方便的函数来完成这项工作 存储和迭代切片数
  • C++ tokenize std string [重复]

    这个问题在这里已经有答案了 可能的重复 如何在 C 中标记字符串 您好 我想知道如何使用 strtok 标记 std 字符串 string line hello world bye char pch strtok line c str 我收
  • Symfony形式:自定义调用的setter

    我有一个实体的 Symfony 表单自定义类型 我想自定义提交表单时执行的代码 但仅限于字段 例如 Symfony 默认会这样调用 entity gt setFoo value 我想做这样的调用 entity gt doSomething