小编Sal*_*ake的帖子

PHP:如何实现事件处理程序?

我想为对象的方法添加自定义事件处理程序.

我有一个方法课.

class Post {

    public function Add($title) {

        // beforeAdd event should be called here

        echo 'Post "' . $title . '" added.';
        return;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想向方法添加一个事件Add,并将方法的参数传递给事件处理程序.

function AddEventHandler($event, $handler){
    // What should this function do?
}

$handler = function($title){
    return strtoupper($title);
}

AddEventHandler('beforeAdd', $handler);
Run Code Online (Sandbox Code Playgroud)

可以这样做吗?希望我的问题很明确.

php events event-handling

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

PHP:一个类中的$ this变量如何成为另一个类的对象?

这是一个例子:

class Test {

    public function TestMethod() {

        print_r($this); // Gives me "Test1 Object ( )"

    }
}

class Test1 {

    public function Test1Method() {

        Test::TestMethod();

    }
}

$test1 = new Test1;
$test1->Test1Method();
Run Code Online (Sandbox Code Playgroud)

我觉得这很奇怪.任何人都可以向我解释为什么会发生?

php oop static-methods this

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

Nginx作为长轮询时的反向代理

我有apache作为后端服务器,运行php脚本和nginx作为反向代理服务器,处理静态内容.一个php脚本,它给我一些进程的ID,然后执行这个过程(很长).我只需要向浏览器传递该进程的ID.

  // ...
  ob_start();

  echo json_encode($arResult); // only this data should be passed to browser

  $contentLength = ob_get_length();
  header('Connection: close');
  header('Content-Length: ' . $contentLength);

  ob_end_flush();
  ob_flush();
  flush();
  // then performed a long process
Run Code Online (Sandbox Code Playgroud)

(我用另一个ajax脚本检查进程的状态)

这在单独的apache下工作正常.但是当apache落后于nginx时我遇到了问题.在这种情况下,我只有在完成过程完成时才得到响应.

nginx设置:

server {
  #...
  proxy_set_header Connection close;

  proxy_pass_header Content-Length;
  #...
}
Run Code Online (Sandbox Code Playgroud)

但我仍然在FireBug中获得了Connection keep-alive.

如何让nginx立即给出apache的响应?

希望问题很清楚.

谢谢.

php apache nginx long-polling

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

jQuery:当div变为可见时如何绑定事件?

我有一个div元素: <div id="tab1"> Tab data </div>.

如何在此div变为可见(获取display: block;)时绑定自定义事件?

此外,当这个div变得不可见(获取display: none;)时,我想绑定一个事件.

我想在jQuery中这样做.

编辑:我正在使用ajax内容制作简单的标签.我希望仅当选项卡可见时,此选项卡上的内容才能进行ajax更新.

jquery tabs jquery-tabs

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

如何从bit.ly获取重定向url链接与PHP

我正在尝试获取那些bit.ly重定向的url链接.我试图打开bit.ly链接,file_get_contents但它已经从重定向的网站获取内容,但如何获取其网址?

php redirect bit.ly

4
推荐指数
2
解决办法
4432
查看次数

PHP:如何从大文件中删除最后N个字节?

我有一个文件,需要删除最后512个字节.我不想复制文件.

谢谢.

php large-files

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

MySQL Update语法错误

我需要像这样的MySQL查询:

UPDATE table_name
SET
    1 = 1
WHERE
    ID = 257

但是我得到了语法错误:

You have an error in your SQL syntax; check the manual that corresponds 
to your MySQL server version for the right syntax to use near '1 = 1 
WHERE ID = 257' at line 3

需要执行UPDATE查询而不更新任何内容.有什么解决方案?

mysql sql-update

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

PHP:为什么不能扩展多个类?

当我想扩展两个父类时,我遇到了一种情况,但php不允许这样做.
为什么我不能extend超过一个类,但可以implement不止一个interface.扩展许多课程有什么问题?
在我得到解析错误之前,在我看来这很明显.
这是一种不好的做法吗?如果是这样,有哪些替代方案?
是否可以用其他语言?

php oop class

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

jQuery:如何浏览<p>段落中的所有字符?

我有一段: <p>I want to put a ding in the universe.</p>

我想更改文本中字符的属性,例如更改其颜色,所以在此之后段落应如下所示:

<p> <span class="color"> I </span> <span class="color"> w </span><span class="color"> a </span><span class="color"> n </span><span class="color"> t </span>... </p>

如何在jQuery中实现它?

jquery text-editor

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

PHP:一个优秀的程序员不应该使用哪些函数和技术?

一个优秀的程序员不应该使用哪些功能和技术?

可能ereg就是其中之一.

使用global关键字是一个好习惯,还是应尽可能避免使用?

php

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

JS:如何防止多次提交表单?

简单的形式没有验证.如果用户多次按下提交按钮(即由于互联网滞后或其他原因),我不希望表单被提交多次.我对客户端解决方案感兴趣.jQuery或简单的JavaScript是可以接受的.

谢谢.

javascript jquery form-submit

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