小编Ale*_*tau的帖子

将错误添加到Symfony 2表单元素

我在我的控制器中检查了一些验证.而且我想在失败时将错误添加到表单的特定元素中.我的表格:

use Symfony\Component\Form\FormError;

// ...

$config = new Config();
$form = $this->createFormBuilder($config)
        ->add('googleMapKey', 'text', array('label' => 'Google Map key'))
        ->add('locationRadius', 'text', array('label' => 'Location radius (km)'))
        ->getForm();

// ...

$form->addError(new FormError('error message'));
Run Code Online (Sandbox Code Playgroud)

addError()方法向表单添加错误,而不是元素.如何向locationRadius元素添加错误?

php validation symfony-forms symfony

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

在这种情况下PHP切换案例超过1个值

我有另一种情况.我有一个包含值的变量('Weekly','Monthly','Quarterly','Annual'),我有另一个变量,它保存从1到10的值.

switch ($var2) {
       case 1:
          $var3 = 'Weekly';
          break;
       case 2:
          $var3 = 'Weekly';
          break;
       case 3:
          $var3 = 'Monthly';
          break;
       case 4:
          $var3 = 'Quarterly';
          break;
       case 5:
          $var3 = 'Quarterly';
          break;
       // etc.
}
Run Code Online (Sandbox Code Playgroud)

它不漂亮,因为我的代码有很多重复.我想要的是:

switch ($var2) {
       case 1, 2:
          $var3 = 'Weekly';
          break;
       case 3:
          $var3 = 'Monthly';
          break;
       case 4, 5:
          $var3 = 'Quarterly';
          break;
}
Run Code Online (Sandbox Code Playgroud)

我怎么能在PHP中做到这一点?先感谢您.对不起我的英语不好.

php case switch-statement

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

如何在Symfony2中向实体表单添加其他非实体字段

我用Entity中的一个元素创建了表单:

$promo = new Promo();

$form = $this->createFormBuilder($promo)
        ->add('code', 'text')
        ->getForm();
Run Code Online (Sandbox Code Playgroud)

我想添加文件元素(实体中不存在此字段).当我做:

$form = $this->createFormBuilder($promo)
        ->add('code', 'text')
        ->add('image', 'file')
        ->getForm();
Run Code Online (Sandbox Code Playgroud)

我有一个错误:属性"image"和方法"getImage()"都没有.如何添加此字段?

php symfony

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

PHP获取前一个数组元素知道当前数组键

我有一个具有特定键的数组:

array(
    420 => array(...), 
    430 => array(...), 
    555 => array(...)
)
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,我知道当前的密钥(例如555).我想获得前面的数组元素.在这个例子中,它是带键的数组元素430.我怎么能用PHP做到这一点?我尝试过prev(),但是对于这个函数,我们应该知道当前的数组元素.我没找到函数,设置当前数组元素是什么.

php arrays

29
推荐指数
4
解决办法
4万
查看次数

更改Zend Framework 2.0控制器中的布局

我正在学习ZF2.0测试版.在ZF1中,我们可以在控制器中动态更改布局:

Zend_Layout::getMvcInstance()->setLayout('layoutname');
Run Code Online (Sandbox Code Playgroud)

但是在ZF2.0中, Zend\Layout类没有方法getMvcInstance().我认为它可以使用依赖注入但不确定.

php zend-framework zend-framework2

26
推荐指数
3
解决办法
3万
查看次数

html表格单元格组合

我有一个3行3列的表.如何组合最后一行?我的HTML:

<table>
  <tr><td></td><td></td><td></td></tr>
  <tr><td></td><td></td><td></td></tr>
  <tr><td>Here I need a cell by all width</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

html css html-table

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

PHP从数组中提取部分保留以前的键

我有特定键的数组.我想获得前5个数组元素.我用array_splice().一切正常,但新阵列中的键是0,1,2,3,4.我想保留以前的数组键.我可以做到foreach,但我找到了优雅的方法.
我的代码:

$levels = array('a' => 1, 'b' =>2, 'c' => 3, 'd' => 4, 'f' => 5, 'g' => 6);
$levels = array_splice($levels, 5);
Run Code Online (Sandbox Code Playgroud)

先感谢您.对不起我的英语不好.

php arrays slice

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

如何在golang中删除循环中struct数组的元素

问题

我有一些结构:

type Config struct {
  Applications []Application
}
Run Code Online (Sandbox Code Playgroud)

注意:Config - 是json.Decode的结构.

config = new(Config)
_ = decoder.Decode(&config)
Run Code Online (Sandbox Code Playgroud)

在循环中,我有一些条件和按键删除元素.

for i, application := range config.Applications {
  if i == 1 {
    config.Applications = _removeApplication(i, config.Applications)
  }
}

func _removeApplication(i int, list []Application) []Application {
  if i < len(list)-1 {
    list = append(list[:i], list[i+1:]...)
  } else {
    log.Print(list[i].Name)
    list = list[:i]
  }

  return list
}
Run Code Online (Sandbox Code Playgroud)

但总是我有"超出范围"的错误.从结构数组中按键删除元素的最佳方法是什么?

arrays struct go slice

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

使用JavaScript变量作为函数名?

我在Javascript中有以下代码:

jQuery(document).ready(function(){
    var actions = new Object();
    var actions;
    actions[0] = 'create';
    actions[1] = 'update';
    for (key in actions) {
        // Dialogs
        var actions[key]+Dialog = function(){
            $('#'+actions[key]+'dialog').dialog('destroy');
            $('#'+actions[key]+'dialog').dialog({
                resizable: false,
                height:600,
                width:400,
                modal: true,
                buttons: {
                    Cancel: function() {
                        $(this).dialog('close');
                    }
                }
            });
        };
    }
});
Run Code Online (Sandbox Code Playgroud)

我想在循环中创建2个函数(createDialog和updateDialog).我怎样才能做到这一点?在PHP中有非常简单的$$ var.但是如何在JS中使用变量变量我不知道.

谢谢

javascript variables function

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

Zend Framework 2.0中的自动加载自定义库

我需要在Zend Framework 2.0中为自定义类使用自动加载.我的自定义库位于/vendor/Garvey/library/Garvey.我有一个简单的扩展AbstractTable类/vendor/Garvey/library/Garvey/Db/Table/AbstractTable.php:

<?php

namespace Garvey\Db\Table;

use Zend\Db\Table\AbstractTable;

abstract class AbstractTable extends AbstractTable
{
    public function getItemById($id)
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

在index.php中,我有以下代码:

require_once 'vendor/ZendFramework/library/Zend/Loader/AutoloaderFactory.php';
Zend\Loader\AutoloaderFactory::factory(array('Zend\Loader\StandardAutoloader' => array(
    'prefixes' => array(
        'Garvey' => 'vendor/Garvey/library/Garvey',
    )
)));
Run Code Online (Sandbox Code Playgroud)

但是我有以下错误.我错过了什么?

Fatal error: Class 'Garvey\Db\Table\AbstractTable' not found
Run Code Online (Sandbox Code Playgroud)

先感谢您.

php zend-framework autoload zend-framework2

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