小编Jos*_*osh的帖子

是否有在Symfony2应用程序中生成脚手架的工具?

我一直在对Symfony 2中的脚手架进行搜索,并继续寻找"发电机"的引用,但到目前为止还没有能够得到脚手架和工作.

通过"scaffolding",我指的是一种将工具指向数据库并让它生成视图/表单以执行CRUD操作的方法.

这对于快速构建原型,和/或为某些数据库表构建粗略的管理工具非常有用.

它还可以为您正在构建的某种形式提供起点.

这在Symfony2中可能吗?

php symfony-forms symfony

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

phpMyAdmin在版本4中的"显示方向"下拉列表中发生了什么?

我最近从phpMyAdmin 3升级到4."显示方向"选项已消失.这是查询结果页面上的选项,允许您控制结果集是每行显示一个(水平)还是每列显示一个(垂直).

我看到仍然有一个配置选项来设置"默认显示方向":http: //docs.phpmyadmin.net/en/latest/config.html#cfg_DefaultDisplay

但是,我希望能够在每个查询结果的基础上更改方向,就像我能够在v3中一样.有没有办法重新启用此功能?我搜索了文档但没有找到任何内容.

-Josh

php mysql phpmyadmin

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

KnockoutJS验证:修改单选按钮验证消息显示位置

我正在使用Knockout Validation,当我用它来验证单选按钮组时,每个单选按钮旁边都会显示验证错误消息.我希望它只显示在一个位置.据推测,我将不得不"关闭"单选按钮组的验证消息的自动显示,然后在特定位置手动显示验证消息.但是......我还没有找到办法做到这一点.

这是一个演示我正在谈论的内容的小提琴:http: //jsfiddle.net/jbeall/tD4nU/2/

我希望其他输入类型(例如,文本输入)保留自动向右显示消息的行为.

我怎么设置它?

谢谢!

ps对于后代,jsfiddle代码如下:

// HTML

<div>
    <div>First name: <input type='text' data-bind='value: firstname'/></div>
    <div>Last name: <input type='text' data-bind='value: lastname'/></div>
</div>
<div>
    Question Type:
    <div>
        <label>
            <input type='radio' value='sales' name='questionType' data-bind="checked: questionType"/>
            Sales
        </label>
    </div>
    <div>
        <label>
            <input type='radio' value='support' name='questionType' data-bind="checked: questionType"/>
            Support
        </label>
    </div>
    <div>
        <label>
            <input type='radio' value='other' name='questionType' data-bind="checked: questionType"/>
            Other
        </label>
    </div>
</div>

<div>
    <input type='button' data-bind='click: triggerGroupValidation' value='Trigger validation via group() function'/>
</div>

<div data-bind='text: ko.toJSON(questionType)'></div>


<div>
    Click button …
Run Code Online (Sandbox Code Playgroud)

knockout.js knockout-validation

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

SQL.js(SQLite JavaScript实现)能否立即自动写入磁盘?

我正在为Chrome扩展程序(以及该扩展程序的打包应用程序变体)创建一个想法,其中一个小而轻量级的SQL数据库(如SQLite)将是理想的.但是,Chrome Apps无法使用Web SQL.

我一直在尝试SQL.js,一个SQLite的JavaScript实现,但似乎我需要在我想保存的任何时候手动将整个数据库写入磁盘.这意味着每次SQL写入(例如,UPDATE,INSERT,DELETE)都需要手动将整个数据库写入磁盘,如果我想将更改保留在当前会话之后.正确?我错过了什么吗?

这是我使用SQL.js(或SQLite的任何其他JavaScript实现)的唯一选择吗?如果数据在数据发生变化时自动写入磁盘会更容易.

如果SQLite实现足够智能,只更新实际更改的数据文件部分,那就更好了.因此,如果你有一个20兆的数据库,并且你做了一个从0到1翻转一点标志的更新,它可能只改变那一位,而不是必须将整个20兆位写入磁盘.

我知道IndexedDB是另一种选择,我正在单独调查它.这个问题是关于我的SQL.js/SQLite选项.我想确定我是否了解SQLite是否以及如何使其工作.

确实有一个特定Cordova的插件可以提供SQLite支持,但这在Chrome扩展程序和应用程序中不起作用(至少,不能没有自定义).

javascript sql sqlite google-chrome-extension google-chrome-app

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

为什么Durandal应用程序中没有建议的"模型"文件夹?

我正在开发Durandal SPA,我已经设置了一些视图和视图模型.但是,我认为MVVM架构还涉及"模型"段(Model,View,ViewModel - 对吧?).

但是,Durandal入门页面在"组织"部分下说明了这一点:

如果展开App文件夹,您将找到整个SPA示例的来源.这是您将找到的高级组织:

  • 应用
    • 迪朗达尔/
    • 的ViewModels /
    • 意见/
    • main.js

缺少此结构是"模型"文件夹.你应该把你的模型放在Durandal应用程序中的哪个位置?

我查看了其他一些示例应用程序,我找不到我所评论的任何示例应用程序的"模型"文件夹(或模型所在的任何位置).

在我看来,"models"文件夹(不存在)是Durandal应用程序的关键部分.但是,它不存在 - 因此,我质疑我对Durandal(和MVVM应用程序)的设计理解.肯定有一些我不理解的东西......有人可以填写Durandal应用程序的预期结构,以及放置模型对象的位置吗?

mvvm durandal

3
推荐指数
2
解决办法
398
查看次数

除了定义__toString()之外,如何定义要在CRUD表单中使用的getter?

如果你使用Symfony2的生成器从数据库实体创建CRUD表单,你可能会在"创建新记录"屏幕上出现这样的错误:

StringCastException: A "__toString()" method was not found on the objects of type
"ScrumBoard\ServiceBundle\Entity\Users" passed to the choice field. To read a
custom getter instead, set the option "property" to the desired property path.
Run Code Online (Sandbox Code Playgroud)

如果我正确地读到这个,问题是它需要显示我正在创建的记录的用户下拉列表,但它不知道如何将"用户"实体变成字符串.

在我的Users实体类上定义__toString()方法可以解决问题.但是,我可以从错误消息的文本中看到有一个替代方案:改为读取一个客户获取器,这是通过"[设置]选项"属性"到所需的属性路径"来完成的.

这听起来像某种注释.但在我的搜索中,我无法弄清楚那是什么.因为我想彻底了解Symfony2 - 有人可以帮助我吗?

谢谢!

scaffolding symfony

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

处理Durandal应用程序中视图的加载超时

我有一个Durandal应用程序,在尝试加载视图时会定期超时.这是一个示例超时错误:

Error: Load timeout for modules: text!views/primaryapplicants.html
http://requirejs.org/docs/errors.html#timeout
Run Code Online (Sandbox Code Playgroud)

如果您查找提供的URL,则会显示一些可能的问题:

  • 列出的模块中的脚本错误
  • 路径配置不正确
  • 多个模块ID映射到同一文件

这些都不是我的问题.这是一个真实的,真正的超时.由于某种原因,它无法加载视图文件.

有一些关于处理错误的RequireJS文档 ......但是在读了很多次之后,我仍然无法弄清楚如何在我的视图模块上捕获加载超时.

理想情况下,我想要做的是a)延长超时或b)给用户一个通知,并允许他们再次尝试加载视图.

现在发生的事情是视图无法加载,用户得不到有错误的反馈 - "请等待,加载"对话框消失,因为AJAX请求已完成,但视图不会更改.

javascript requirejs knockout.js durandal durandal-navigation

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

在Knockout可观察数组订阅函数中,您可以确定添加或删除了哪些元素吗?

Knockout的Observable Arrays使您能够"订阅"数组的更改,就像任何其他可观察的一样."subscribe"回调函数接收一个参数,它是数组的值.这是一个例子(和小提琴):

var oa = ko.observableArray(['some','initial','data']);

oa.subscribe(function(newValue){
    console.log("Array was updated! Now it's:");
    console.log(newValue);
    // But which item was added?
});

oa.push("more data!");
setTimeout(function(){
    oa.remove("some");
},1500);
Run Code Online (Sandbox Code Playgroud)

但是,我想知道哪些元素被添加到observable数组中.有没有办法做到这一点?如果我可以将旧数组与新数组进行比较,那么我可以确定添加或删除了哪些项目.但似乎在调用"subscribe"函数回调时,无法访问"previous"数组值.在那儿?

javascript arrays knockout.js

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

Durandal Routing无法正常工作 - 我是否缺少配置设置?

我正在尝试使用Durandal应用程序设置,我开始时只使用两个视图进行了非常简单的配置.

发生的事情是当我调用router.navigateTo('#/ welcome')或router.navigateTo('#/ primaryapplicants')时,视图不会改变.但是,地址栏中的URL会发生变化,如果我重新加载页面,我会看到我尝试导航到的视图.

我究竟做错了什么?

这是一段视频,展示了我正在经历的行为.我在视频中引用的代码包含在下面.

main.js

require.config({
    paths: { "text": "durandal/amd/text" }
});

define(function (require) {
    var system = require('durandal/system'),
        app = require('durandal/app'),
        router = require('durandal/plugins/router'),
        viewLocator = require('durandal/viewLocator'),
        logger = require('services/logger');

    system.debug(true);

    app.start().then(function () {
        // route will use conventions for modules
        // assuming viewmodels/views folder structure
        router.useConvention();

        // When finding a module, replace the viewmodel string 
        // with view to find it partner view.
        // [viewmodel]s/sessions --> [view]s/sessions.html
        // Otherwise you can pass paths for …
Run Code Online (Sandbox Code Playgroud)

javascript url-routing single-page-application durandal

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

如何创建一个jQuery UI可放置列表,其中添加到列表中的元素也是放置目标

我正试图围绕正确使用jQuery UI的droppable工具.我正在研究一个最终将作为队列运行的列表.这是一个图书俱乐部,顾客可以选择他们想要运送给他们的书籍,以及订购的顺序.它类似于Netflix的原始商业模式(流媒体之前),用户可以在其中设置他们想要感兴趣的DVD队列.

因此,将有两个列表,一个表示用户的队列,另一个表示符合条件的项目.他们可以将符合条件的项目列表中的项目拖动到其队列中.在这种情况下,该项目将保留在"符合条件的项目"列表中,并将克隆添加到其队列中(因为它们可以添加多个相同的项目).

队列应该可以通过拖放重新排序,但我还没有那么远.一步一步来.

在处理"从符合条件的项目列表拖到队列列表"步骤时,我遇到了以下问题:添加到列表中的新项目不是放置目标.看看代码,这是有道理的:

<ul id='list1'>
    <li>Some</li>
    <li>Thing</li>
</ul>

<ul id='list2'>
    <li>Red</li>
    <li>Green</li>
    <li>Blue</li>
    <li>Electric Banana</li>
    <li>Flamingo Pink</li>
</ul>

jQuery(document).ready(function($) {
    $('#list2 li').draggable( {
        cursor: 'move',
        helper: 'clone',
    });
    $('#list1 li').droppable({
        drop: function(event, ui){
            console.log(event);
            console.log(ui);

            var dropElement = jQuery.clone(ui.draggable[0]);
            // Get rid of the inline styles that jQuery has put on the element.
            jQuery(event.target).before(dropElement);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

您可以看到droppable侦听器仅用于初始化期间#list1中的项目.所以当你从#list2中拖动它时,它会被添加到列表中,但是没有drop事件的监听器.

我通过向每个添加到列表中的项添加一个drop listener来修复此问题(请参阅小提琴):

jQuery(document).ready(function($) {
    $('#list2 li').draggable( {
        cursor: 'move',
        helper: 'clone',
    });
    $('#list1 li').droppable({ drop: dropHandler });

    function …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-ui jquery-ui-draggable jquery-ui-droppable

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