小编Ste*_*eve的帖子

PHP代码部署技巧

在过去,我一直在以非常业余的方式开发,这意味着我有一个本地机器,我开发和测试代码和生产机器,我在完成后复制代码.最近我把它稍微修改到我在本地开发的地方,检查代码到SVN然后通过SVN更新生产机器.

现在我想开始一个新项目并改进我的工作流程.理想情况下,我有以下几点:

  • 拥有一个或多个本地开发环境
  • 开发和测试本地机器
  • 使用SVN(或Git)作为代码存储库
  • 使用构建工具设置新环境(dev,staging或production)和部署代码

由于我不熟悉这个过程,我正在寻找有关如何最好地设置这个想法和使用工具的建议,特别是在构建工具方面.我正在研究Ant和Phing(可能是make),但我对此很新,我真的想得到一些指导.有没有关于PHP部署的好的教程或书籍,特别是对于初学者?我特别感兴趣的是以下主题:

  • 部署到具有不同设置的不同类型的服务器(例如,dev使用不同的db,db密码,PHP错误报告而不是生产或暂存).
  • 部署,自动从SVN中提取代码.
  • 临时为生产环境设置"维护"页面的部署.
  • 一旦掌握了上述内容,甚至可以在构建过程中进行一些测试.

我知道我的问题可能听起来很混乱......我承认,我是新手,并且可能在我真正需要的时候有点偏离目标.这就是为什么我们非常感谢任何帮助.

php svn deployment build-process

25
推荐指数
1
解决办法
2002
查看次数

如何处理两个重叠的Twitter Bootstrap模式

我的页面上有一个标准的Twitter Bootstrap模式:

<div class="modal hide fade">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
    <h3>Comments</h3>
  </div>
  <div class="modal-body">
    <p>Please provide a comment:</p>
    <textarea id="comment"></textarea>
  </div>
  <div class="modal-footer">
    <a href="#" class="btn btn-primary">Save comment</a>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

现在,我通过AJAX保存评论,并在成功保存时关闭模式.但是,我有一个全局的AJAX错误处理程序,当任何AJAX调用遇到错误时,它本身会打开一个模态(不仅仅是对AJAX调用的注释):

<div id="error-modal" class="modal hide" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h3>Error</h3>
    </div>
    <div class="modal-body">
    </div>
    <div class="modal-footer">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

模态体由错误处理程序填充,默认情况下,新模态放在现有模态的顶部.然而,新模态的模态背景是原始模态的背后,它仍然允许与它进行交互.

有没有办法给错误模态背景一个不同的z-index?现在,模态背景是模态不可知的,并且没有模态特定的id/class.

或者是否有任何好的插件可以处理多个Twitter Bootstrap模式?

jquery modal-dialog twitter-bootstrap

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

如何将对象与DOM元素关联

我的JS设置中有一个主对象,即:

var myGarage = {
    cars: [
        {
            make: "Ford",
            model: "Escape",
            color: "Green",
            inuse: false
        },
        {
            make: "Dodge",
            model: "Viper"
            color: "Red",
            inuse: true
        },
        {
            make: "Toyota",
            model: "Camry"
            color: "Blue",
            inuse: false
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

现在我把车停在我的车上并放在桌子上.在表格中,我还有一个按钮,可让我将车辆切换为"使用中"和"未使用中".

如何将每行的DOM元素与其对应的汽车相关联,这样如果我切换"inuse"标志,我可以更新主对象?

javascript jquery

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

将HTML表单数据数组发送到JSP/Servlet

我来自PHP世界,其中任何名称以方括号结尾的表单数据自动被解释为数组.例如:

<input type="text" name="car[0]" />
<input type="text" name="car[1]" />
<input type="text" name="car[3]" />
Run Code Online (Sandbox Code Playgroud)

将在PHP端被捕获为名为"car"的数组,其中包含3个字符串.

现在,有没有办法在提交到JSP/Servlet后端时复制该行为?任何可以为你做的图书馆?

编辑:

为了进一步扩展这个问题:

在PHP中,

<input type="text" name="car[0][name]" />
<input type="text" name="car[0][make]" />
<input type="text" name="car[1][name]" />
Run Code Online (Sandbox Code Playgroud)

会得到一个嵌套数组.我怎样才能在JSP中重现这一点?

html forms arrays jsp servlets

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

jQuery Mobile - 滚动到pageload上的特定div

我想在页面加载时自动滚动到特定的div.但是,我似乎与JQM的滚动到顶级功能发生了一些冲突.

我使用以下代码:

$.mobile.silentScroll($("#myElementId").offset().top);
Run Code Online (Sandbox Code Playgroud)

这样包裹时不能正确滚动:

$('[data-role=page]').bind("pageshow", function() {
    $.mobile.silentScroll($("#myElementId").offset().top);
});
Run Code Online (Sandbox Code Playgroud)

但正常工作有点像这样的超时:

$('[data-role=page]').bind("pageshow", function() {
    setTimeout(function(){$.mobile.silentScroll($("#myElementId").offset().top);},100);
});
Run Code Online (Sandbox Code Playgroud)

最后一段代码的问题是它会导致闪烁,跳转到顶部然后跳转到页面.任何想法如何避免这种情况?

jquery-mobile

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

是否有404页面的控制器(Play!Framework)

我正在玩Play!框架1.2.4并且创建静态404页面没有问题.但是,我想让404页面更有活力.

404页面是否有"控制器"?如果没有,我在哪里可以完成传统控制器中的所有逻辑?

playframework playframework-1.x

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

jQuery Mobile - 仅触发一次pageshow事件

在页面完全加载并且JQM处理了所有ui修改(即列表视图,按钮等)之后,我试图只执行一次JS片段.我确实希望它只在该页面上执行,而不是在后续页面上执行.

我首先尝试的是页面显示

<script>
$('[data-role=page]').live("pageshow", function() {
    alert("Ready!");
}); 
</script>
Run Code Online (Sandbox Code Playgroud)

这有一个问题,即该函数现在附加到页面div,并在每次显示任何后续页面时执行.但是,我只希望执行一次,并且只对包含该JS片段的页面执行.

有没有办法收听pageshow事件,而不实际附加功能.

我能够做到的唯一方法是通过绑定和取消绑定:

<script>
$('[data-role=page]').bind("pageshow.test", testfun);

function testfun() {
    alert("Ready!");
    $('[data-role=page]').unbind("pageshow.test", testfun);
}   
</script>
Run Code Online (Sandbox Code Playgroud)

但有更优雅的方式吗?

jquery jquery-mobile

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

基于两个内部容器的较大容器设置容器高度

我有一个div有两个内部div的容器.内部divs 在外部容器display:block/none上切换hover,因此在任何给定时间只能看到一个内部.

外容器具有a min-height,但可以根据内容物而膨胀.如果两个内部内容都短于min-height,那么一切都很好.但是,如果其中一个内部容器比它高min-height,我会在悬停时跳过外部容器的高度.

我想要的是:

  • min-height如果两个内部容器都较短,则外部容器保持其状态.
  • 外容器具有两个内容器IF的较高的高度,其中一个容器高于容器 min-height
  • 任何时候悬停都不会发生扩展/崩溃.

示例HTML:

<div class="outer">
    <div class="inner inner1">Inner 1 Green</div>
    <div class="inner inner2">Inner 2 Blue</div>
</div>
<div class="after">Some text afterwards</div>
Run Code Online (Sandbox Code Playgroud)

CSS示例:

.outer {
    position:relative;
    width: 300px;
    min-height: 150px;
    background: red;
    padding: 10px
}

.inner {
    width: 200px;
}

.inner1 {
    background: green;
    height: 200px
}

.inner2 {
    background: blue;
    height: 100px;
    display: none;
}

.outer:hover .inner1 { …
Run Code Online (Sandbox Code Playgroud)

html css

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

如何将整个<li>元素设为链接?

所以我有一堆选项卡都在list元素中.我在View中使用Ruby on Rails,所以它看起来像这样:

<div id="top-nav">
    <ul>
        <li> <%= link_to "Home", user_root_path() %> </li>
        <li> <%= link_to "Manage", manage_path() %> </li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

等等.

如何在CSS中设置样式以便我可以单击文本周围的框以转到该链接,而不必单击文本本身?

我查看了一些答案并尝试使用display:block; 在top-nav和li元素中,但它没有工作.

谢谢!

html css

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

jQuery Mobile - "页内"对话框弹出窗口

我正在寻找一个有点光滑的解决方案,在我的一个JQM页面上有一个"页内"对话框.我试图避免离开页面,因为对话框弹出是一个"查找",可以帮助用户填充表单域.我不想离开实际页面,因此不会丢失用户已输入的任何其他信息.

我的第一次尝试是使用simpledialog2插件,我在网站的其他部分使用弹出菜单.虽然它适用于基本链接,但它在较长的列表上变得非常笨重.在尺寸调整,尤其是滚动时,感觉非常有限.

我有点喜欢长多选的对话框弹出的内置JQM实现.为了给你一个想法,看看这个jsfiddle

有谁知道这个对话框弹出是如何实现的,如果我可以用某种方式调用相同的方法?如果没有,有没有人知道这种"页内"对话的替代品?

任何帮助表示赞赏.

PS:我不能在JQM中使用多页面模板,因为该站点是作为Web应用程序构建的,我依赖于单页面的AJAX加载,多页面模板不支持.

modal-dialog jquery-mobile

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

在JS对象中查找成员位置

在JS对象中找到成员位置的最快方法是什么?

假设我有以下对象:

var myObject = {
    "apple": { "color" : "green", "shape" : "round" },
    "banana": { "color" : "yellow", "shape" : "long" },
    "orange": { "color" : "orange", "shape" : "round" },
    "kiwi": { "color" : "green", "shape" : "round" }
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我想知道香蕉的位置(即2),我是否需要循环通过对象或者是否有更快的方法?

更新:

感谢大家,我现在明白对象中没有"顺序"的概念,我无法可靠地找到成员的位置.我也没有机会找到下一个或前一个成员.这一切都很有道理......

所以我解决问题的方法是这样的:我遍历我的数组并将密钥输入一个数组,我可以用它来跟踪我在对象中的成员.

var fruits = new Array();
for (var key in myObject) {
    fruits.push(key);
}
Run Code Online (Sandbox Code Playgroud)

javascript object

0
推荐指数
2
解决办法
4158
查看次数

无法在PHP代码中使用HTML符号

我已经创建了一个小代码放在<title>我的Wordpress网站的标签内,以根据访问者所在的页面回显某个标题.这是代码:

<title>
    <?php if ( is_page('144')) { bloginfo('name'); } else { wp_title(''); bloginfo('name'); } ?>
</title>
Run Code Online (Sandbox Code Playgroud)

现在我想在页面标题和博客名称之间放置一个空格或竖线(|),在PHP代码中,但我无法这样做.我尝试使用&nbsp;&#124;喜欢这样:

<title>
    <?php if ( is_page('144')) { bloginfo('name'); } else { wp_title('');&#124;bloginfo('name'); } ?>
</title>
Run Code Online (Sandbox Code Playgroud)

但它返回一个错误说Parse error: syntax error, unexpected '&'.

我想知道这个问题是否有任何解决方案,期待听到专家的意见,谢谢.

html php wordpress title html-entities

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