小编Tho*_*uer的帖子

在表单类型选项上检查Symfony设置值

我使用带有Symfony的FormBuilder创建一个表单,如:

$builder
            ->add('timeBarOpen', 'time', array('label' => 'Ouverture Bar', 'attr' => array('class' => 'form-control')))
            ->add('timeBarClose', 'time', array('label' => 'Fermeture Bar', 'attr' => array('class' => 'form-control')))
            ->add('timeStartHappyHour', 'time', array('label' => 'Début Happy Hour *', 'attr' => array('class' => 'form-control')))
            ->add('timeEndHappyHour', 'time', array('label' => 'Fin Happy Hour *', 'attr' => array('class' => 'form-control')))
            ->add('day', 'choice', [
                'choices' => $days,
                'multiple' => true,
                'expanded' => true,
                'label' => 'Jour(s) *',
            ])
        ;
Run Code Online (Sandbox Code Playgroud)

$ days是一个数组:

$days = array(
            'Monday'    => 'Lundi',
            'Tuesday'   => 'Mardi',
            'Wednesday' …
Run Code Online (Sandbox Code Playgroud)

forms symfony

7
推荐指数
1
解决办法
2万
查看次数

只需点击一下按钮即可自动发送电子邮件

我正在设计一个紧急响应页面,我们需要的一个功能就是能够点击一个按钮(例如"向大使馆发送详细信息"),然后将自动生成的电子邮件发送给预期的收件人($email_address),而不必进入Microsoft Outlook并单击"发送".有没有办法做到这一点?

我知道的唯一方法是<a href='mailto:example@test.com'>一个,但这会在Outlook中打开电子邮件,我真的需要它完全自动化.

php mailto email

6
推荐指数
1
解决办法
8万
查看次数

如何使用doctrine2锁定symfony2中的整个表?

我需要使用doctrine来锁定整个表(不是单行),如果可能的话,我希望在没有本机查询的情况下执行此操作.

悲观锁定的文档仅描述了如何通过以下方法锁定特定实体:

  • EntityManager的#发现
  • 的EntityManager#锁
  • 查询#setLockMode

我有一个需要插入行,其值取决于表中的行的其余部分的值的交易,所以我需要防止两个事务执行,同时该表.

我正在使用显式事务划分,这应该适用于锁定(根据上面的文档).

注意:在这种情况下乐观锁定不够好,我负担不起重试事务.此外,查询不应该很慢,因此性能不是问题.

编辑:我举个例子.想象一下,你想手工构建一个auto_increment,你必须从表中选择max()来获取前一个结果才能插入下一个结果.您必须确保没有两个事务尝试插入相同的值,以防它们同时选择max().

当auto_increment不好时,我正在寻找这个问题的一般解决方案,例如使用字符串,或多列,哈希或您必须在前一行集上进行的任何计算.

锁定是一个可靠的解决方案,与乐观锁定不同,您不必重试错误.

那么,有没有办法在学说中使用表锁定?

mysql locking symfony doctrine-orm

6
推荐指数
1
解决办法
9358
查看次数

Symfony2和Twig:显示所有字段和键

我有Symfony2和Twig的问题:我不知道如何显示动态加载的实体的所有字段.这是我的代码(什么都没显示!!)

控制器:

public function detailAction($id)
{
    $em = $this->container->get('doctrine')->getEntityManager();

    $node = 'testEntity'
    $Attributes = $em->getRepository('TestBetaBundle:'.$node)->findOneById($id);

    return $this->container->get('templating')->renderResponse('TestBetaBundle:test:detail.html.twig', 
    array(
    'attributes' => $Attributes
    ));

}
Run Code Online (Sandbox Code Playgroud)

detail.html.twig:

    {% for key in attributes %} 
        <p>{{ value }} : {{ key }}</p>
    {% endfor %}
Run Code Online (Sandbox Code Playgroud)

entity symfony twig

6
推荐指数
2
解决办法
1万
查看次数

给定一封电子邮件作为原始文本,如何使用PHP发送它?

我有一个PHP脚本,我的邮件服务器通过STDIN管道发送电子邮件.有一种简单/非复杂的方式来获取原始电子邮件字符串并将其发送/转发/转发到特定的电子邮件地址吗?

我不愿意使用PHP,mail()或者Pear::Mail因为据我所知,我不能只传递原始电子邮件.我必须解析标题,从而冒着剥离或更改原始电子邮件内容的风险.

在最小化"骚扰"原始电子邮件内容的情况下,建议的方法是什么?

注意:如果没有内置方法,是否有任何现有的库可以帮助我这样做?

php email smtp email-headers

4
推荐指数
1
解决办法
2811
查看次数

Symfony 4.3:不推荐使用的用户:自版本4.3起,不推荐使用Symfony \ Bundle \ TwigBundle \ Loader \ FilesystemLoader类,并将在5.0版中将其删除……

升级到Symfony 4.3之后,我收到以下22个弃用警告:

不推荐使用的用户:自版本4.3起,不推荐使用Symfony \ Bundle \ TwigBundle \ Loader \ FilesystemLoader类,并将在5.0版中将其删除。使用Twig表示法代替模板。

不推荐使用的用户:自Symfony 4.3起不推荐使用“ templating.locator”服务,该服务将在5.0中删除。

不推荐使用的用户:自版本4.3起不推荐使用Symfony \ Bundle \ FrameworkBundle \ Templating \ Loader \ TemplateLocator类,并将在5.0版中将其删除。改用Twig。

不推荐使用的用户:自Symfony 4.3起不推荐使用“ templating.name_parser”服务,该服务将在5.0中删除。

不推荐使用的用户:自版本4.3起,不推荐使用Symfony \ Bundle \ FrameworkBundle \ Templating \ TemplateNameParser类,并将在5.0版中删除该类。改用Twig。

不推荐使用的用户:自4.3版起不推荐使用“模板服务”,该服务将从5.0版中删除;改用Twig。

不推荐使用的用户:自版本4.3起不推荐使用Symfony \ Bridge \ Twig \ TwigEngine类,并将在5.0版中将其删除。使用\ Twig \ Environment代替。

不推荐使用的用户:自版本4.3起不推荐使用Symfony \ Bundle \ FrameworkBundle \ Templating \ EngineInterface接口,并将在5.0版中将其删除;改用Twig。

不推荐使用的用户:自版本4.3起不推荐使用Symfony \ Bundle \ TwigBundle \ TwigEngine类,并将在5.0版中将其删除。使用\ Twig \ Environment代替。

2次:从Symfony 4.3开始不推荐使用“ framework.templating”配置。配置由Twig捆绑包提供的 …

php symfony twig

4
推荐指数
1
解决办法
680
查看次数

使用 Symfony DomCrawler 获取元素的原始 HTML 代码

html结构:

   <div id="product">
     <p>some text</p>
     <p>some text2</p>
   </div>    
Run Code Online (Sandbox Code Playgroud)

我的PHP代码:

$client = new Client();
$crawler = $client->request('GET', $url);
echo $crawler->filter('#product')->text();
Run Code Online (Sandbox Code Playgroud)

返回:

some text some text2
Run Code Online (Sandbox Code Playgroud)

但是我需要:

<p>some text</p>
<p>some text2</p>
Run Code Online (Sandbox Code Playgroud)

php symfony goutte

3
推荐指数
1
解决办法
3658
查看次数

Axios:多个文件上传的上传进度

https://github.com/mzabriskie/axios/blob/master/examples/upload/index.html之后,我设置了带有进度条的文件上传。

但是,我有<input type="file" multiple>,所以上载在这样的循环中:

for (var i=0; i<files.length; i++)
{
    var config = {
        onUploadProgress: function(progressEvent) {
            var what = Math.round( (progressEvent.loaded * 100) / progressEvent.total );
        }
    };
    axios.post(url, data, config)
        .then(function (response) {
    });                            
}
Run Code Online (Sandbox Code Playgroud)

问题是:如何将上传进度(请参阅参考var what)分配给相应的文件?

我尝试过的所有方法均无效:

  • 回调函数onUploadProgress显然不需要第二个参数:https : //github.com/mzabriskie/axios#request-config

  • 注入的progressEvent对象不包含有关上载文件的任何信息。例:

    progress { target: XMLHttpRequestUpload, isTrusted: true, lengthComputable: true, loaded: 181914, total: 181914, currentTarget: XMLHttpRequestUpload, eventPhase: 2, bubbles: false, cancelable: false, defaultPrevented: false, composed: …
    Run Code Online (Sandbox Code Playgroud)

javascript file-upload axios

3
推荐指数
1
解决办法
3870
查看次数

PHP返回上一页时丢失会话变量

我网站上的主页有一个包含两个字段的表单:Make of the Car(carmake)和Car Model(carmodel).提交后,它会将用户带到第二页,显示有关用户在主页上输入的特定品牌和型号的信息.

我使用post-method将变量传递给第二页,在那里我用两个变量开始一个新的会话:

    <?php 
       session_start(); 
       $_SESSION['carmake']=$_POST['carmake'];
       $_SESSION['carmodel']=$_POST['carmodel'];
    ?>
Run Code Online (Sandbox Code Playgroud)

这很好用.在第2页,我有一个第3页的链接,它使用相同的两个会话变量.因此,在第3页,我使用会话功能启动页面,并且会话变量可供使用.到目前为止没问题.

从这一点开始,我遇到了两个问题:

问题1:我在第3页上有一个链接回第2页的按钮.当我使用此按钮返回第2页时,第2页不会回显会话变量.但是,如果我使用浏览器"后退"按钮返回第二页,我会被要求"确认重新提交",然后第二页正确回显会话变量.

我的问题1:如何在不丢失会话变量的情况下设计导航到以前访问过的页面?

问题2:有没有办法避免在先前访问过的使用会话变量的页面上"确认重新提交"(当使用浏览器后退按钮时)?

(我是这里的新手,并提前为长篇文章道歉,这可能是一个非常简单的问题.)

php session-variables

2
推荐指数
1
解决办法
3871
查看次数

Symfony 错误:属性“Symfony\Component\Routing\Annotation\Route”无法定位函数(允许的目标:类、方法)

从 Symfony 6.1 升级到 6.2 后,我收到此错误:

属性“Symfony\Component\Routing\Annotation\Route”无法定位函数(允许的目标:类、方法)

...在此控制器上:

final class HomepageController extends AbstractController
{
    #[Route(path: '/', name: 'homepage')]
    public function __invoke(): Response
    {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

php symfony

2
推荐指数
1
解决办法
908
查看次数