小编jba*_*ros的帖子

Webpack无法解析html-loader

我正在使用requirejs将项目转换为webpack,并且遇到了"html-loader"加载器的问题.

的package.json:

"html-loader": "^0.3.0",
"webpack": "^1.11.0",
"webpack-dev-server": "^1.10.1"
Run Code Online (Sandbox Code Playgroud)

应用程序/ JS/webpack.config.js:

  // folder structure:
  // root
  //   app/js
  //   bower_components/
  //   dist/
  //   node_modules/

  entry: './app/js/main.js',
  output: {
    path: 'dist/js/',
    filename: 'bundle.js',
  },
  module: {
    loaders: [
      // Note, via requirejs's "text" plugin, I included templates
      // like this: var tpl = require('text!sample.html');
      // For webpack, I went through the codebase and cleaned up
      // every instance of "text!".
      {test: /\.html$/, loader: 'html'}
    ]
  },
  resolve: {
    root: ['app/js', 'bower_components'],
    alias: …
Run Code Online (Sandbox Code Playgroud)

javascript webpack

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

绑定到表单时的骨干模型状态

我正在使用Backbone构建一个表单,并希望在"模糊"事件中验证其字段.

连接到事件很容易,但我很好奇的是模型是否应该在模糊时更新或仅在表单提交时更新?

在模糊上更新模型

  • model.set({...}, {validate:true});
  • 如果您的模型具有多个属性,则每次都会对所有属性运行验证
  • 在创建新项目时,模型状态并不重要,因为它可能尚未与任何其他模块共享
  • 在编辑项目时,模型处于这种奇怪的过时/更新状态,具体取决于人员在表单中的位置.如果模型在多个模块之间共享怎么办?

在提交时更新模型

  • 不能model.set()用于验证,因此模型需要暴露一些验证方法(例如MyModel.validZip())
  • 在提交时,即使已经验证了所有字段,也set()需要调用以更新模型,这将导致验证再次发生(不完全确定这是坏事)

我已经通过了几个有关骨干GitHub的问题(读1,2,3)和骨干开发者似乎得出一个模型和形式之间的线路.

此外,Backbone.Form插件似乎保留内部fields属性以跟踪表单字段,完成后,调用.commit()以更新模型.

因此,似乎在提交时更新模型是更好的方法.那是你的体验吗?

javascript validation backbone.js backbone-views

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

添加参数到重写方法E_STRICT观察

看来(PHP 5.3),如果你重写了一个类方法, 没关系 您可以添加其他参数,只要它们具有默认值即可.

例如,考虑一下这个类:

class test1 {
  public function stuff() {
    echo "Hi";
  }
}
Run Code Online (Sandbox Code Playgroud)

以下类扩展"test1"并将生成E_STRICT警告.

class test2 extends test1 {
  public function stuff($name) {
    echo "Hi $name";
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,以下内容不会产生E_STRICT警告.

class test3 extends test1 {
  public function stuff($name = "") {
    echo "Hi $name";
  }
}
Run Code Online (Sandbox Code Playgroud)

虽然类"test3"没有产生E_STRICT警告,但我一直认为PHP不允许方法签名 超载覆盖.所以,我不得不问.我的观察是一个错误/缺陷还是实际上正确 预期的行为?

此外,如果默认参数参数可以,为什么非默认参数参数不正常?

php oop coding-style

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

在不丢失元素的默认输入过滤规范的情况下,不需要zend2设置字段

使用ZF2,我编写了一个自定义表单元素并将其包含在一堆表单中.问题是,如果我指定我不想要表单元素,我会丢失元素上的默认验证器.

class MyForm extends Zend\Form\Form implements Zend\InputFilter\InputFilterProviderInterface
{
    public function __construct()
    {
        parent::__construct("my-form");
        $this
        ->add(array(
            'type' => 'Me\Custom\EmailList',
            'name' => 'emails',
            'options' => array(
                'label' => _t('Email List'),
            ),
        ));
    }

    public function getInputFilterSpecification()
    {
        return array(
            'emails' => array(
                'required' => false,
             ),
        ));
    }
}
Run Code Online (Sandbox Code Playgroud)

"EmailList"元素是一个简单的文本字段,它接受以逗号分隔的电子邮件地址列表.

class EmailList extends \Zend\Form\Element\Email
{
    protected $attributes = array(
        'type' => 'email',
        'multiple' => true,
    );
    public function getInputSpecification()
    {
        $this->getEmailValidator()
            ->setMessage('"%value%" is not a valid email address');

        $validator = $this->getValidator();
        if …
Run Code Online (Sandbox Code Playgroud)

php zend-framework zend-framework2

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

版本控制:围绕功能开发移动bug修复/代码增强

我有一个与Mercurial相关的工作流程问题(可能适用于其他DVCS).

使用典型的默认/稳定设置设置repo.

您的任务是构建一个新功能,并期望它需要一些时间(月+).在处理此功能时,您会遇到一个错误,您认为应该修复并尽快应用于生产.或者,您可能会注意到一些可以更好地记录的代码.

我的假设是您在默认情况下进行修复,然后切换到稳定并再次进行修复(手动或应用补丁).这是正确的还是应该立即切换到稳定,在那里进行更改然后将stable合并为默认值?

使用补丁似乎对我更有意义.您可以专门针对错误修复进行提交,并在方便时应用该修补程序.我的意思是如果虫子不是太讨厌,就没有必要紧迫和打破你的流量.对?

那么,你如何处理这种情况呢?

谢谢

version-control workflow mercurial dvcs

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

使用"pastefromword"过滤CKEditor 3中的所有粘贴内容

CKEditor是一个很棒的编辑器,pastefromword插件非常好.我想将插件提供的过滤应用于所有粘贴的文本.例如,从单词粘贴时,将删除所有字体和大小.从电子邮件粘贴时不会发生这种情况.

也就是说,我提出了以下解决方案并将其发布在此处以获得一些反馈.我想知道我是否过于复杂,或者是否有更简单的方法.我只是从pastefromword/plugin.js中复制了代码.

通过我的自定义config.js

...
CKEDITOR.config.pasteFromWordCleanupFile = '/pastefromword.js';
...
CKEDITOR.on( 'instanceReady', function( ev ) {
    /**
     * Paste event to apply Paste From Word filtering on all text.
     *
     * The pastefromword plugin will only process text that has tell-tale signs
     * it is from Word. Use this hook to treat all pasted text as if
     * it is coming from Word.
     *
     * This method is a slightly modified version of code found in
     * plugins/pastefromword/plugin.js
     */
    ev.editor.on( 'paste', function( …
Run Code Online (Sandbox Code Playgroud)

javascript paste ckeditor

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

超过post_max_size时的php行为

我知道如果POST请求超过post_max_size,$ _POST和$ _FILES超全局变为空.

我已经看到很多关于如何检测这种情况的讨论,但从来没有解释为什么超级球体是空的.对我来说,消除POST数据似乎很奇怪,迫使用户重新输入他们的答案.这可能是安全预防措施吗?

对其他语言(java,.net)感到好奇.他们的行为是否相似?

谢谢

.net php java file-upload

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

带有闭包的php FILTER_CALLBACK

试图将一个闭包传递给filter_var_array(),但似乎无法使它工作.

$clean = function( $html ) {
    return HTML::sanitize( $html, array('p','ul','ol','li'), array('class','style') );
};
$args = array( 'filter' => FILTER_CALLBACK, 'options' => $clean );

$fields = filter_var_array(
    array( $_POST['field1'], $_POST['field2'], $_POST['field3'] ),
    array( 'field1' => $args, 'field2' => $args, 'field3' => $args )
);
Run Code Online (Sandbox Code Playgroud)

运行上面的操作后,$ fields是一个空数组.

注意,个别过滤工作正常:

$field1= filter_var( $_POST['field1'], FILTER_CALLBACK, array( 'options' => $clean ) );
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

php filter

5
推荐指数
1
解决办法
1275
查看次数