小编The*_*Fox的帖子

与__get_state()相反的__set_state()相反?

是否有相反的PHP函数__set_state()__get_state()?而且我不是指__sleep()序列化.我想要一个简单的函数,var_export()在对象上调用后调用,但在var_export()获取数据之前,我可以在每个对象上选择要导出的数据.我知道有一种方法可以实现这个,__get()并且debug_backtrace()只有在var_export()对象上调用时才修改数据. 但是有更简单的方法吗?

编辑:有没有办法跟来实现这个__get()debug_backtrace()修改数据,只有当var_export()被称为对象,因为__get()不叫上var_export().

方案:

<?php
/*
 * @author Christian Mayer <http://fox21.at>
 * @link http://stackoverflow.com/q/21762276/823644
 * @link https://eval.in/163041
 * @link https://eval.in/163462
 * @link https://eval.in/163909
 * @link https://gist.github.com/TheFox/49ff6903da287c30e72f
 */

interface Exportable{
    public function __get_state();
}

function unset_with_get_state($expression){
    $before = clone $expression;
    $classVars = array_keys(get_class_vars(get_class($before)));
    foreach(array_diff($classVars, $before->__get_state()) as $var){
        unset($before->$var);
    }
    return $before;
} …
Run Code Online (Sandbox Code Playgroud)

php class object

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

使用 jQuery 移动 TinyMCE

<textarea><ul>.

<ul id="content">
<li id="bc1"><textarea id="text1" class="blockcontent"></textarea></li>
<li id="bc2"><textarea id="text2" class="blockcontent"></textarea></li>
<li id="bc3"><textarea id="text3" class="blockcontent"></textarea></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

“块内容”将使用$('.blockcontent').tinymce({...});.

如果我在#bc1 之后插入#bc3$('#bc3').insertAfter($('#bc1'));内容将被删除。#text3 文本区域的内容不再可用。它消失了。如何解决这个问题?

我还尝试克隆 #bc3 $('#bc3').clone(true, true),在 #bc1 之后插入克隆并删除原始的 #bc3。为了修复“jQuery Input Clone Bug”,我使用了jquery.fix.clone jQuery plugin。但是 clone 方法也有与 insertAfter 方法相同的问题。也许 insertAfter 也做同样的事情:克隆和删除。不知道,随便。如果我首先删除原始文件然后插入克隆,则 TinyMCE 在克隆中不可用,但克隆 textarea 的内容可用。如果我首先插入克隆然后删除原始内容,则 TinyMCE 可用但原始内容不可用。

html jquery clone tinymce insertafter

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

读取输入,同时通过stdin管道脚本

我有一个简单的Bash脚本:

#!/usr/bin/env bash
read X
echo "X=$X"
Run Code Online (Sandbox Code Playgroud)

当我执行它时,./myscript.sh它工作.但是当我执行它时cat myscript.sh | bash,实际上它会echo "X=$X"进入$X.

所以这个脚本打印Hello World执行cat myscript.sh | bash:

#!/usr/bin/env bash
read X
hello world
echo "$X"
Run Code Online (Sandbox Code Playgroud)
  • 执行脚本有cat myscript.sh | bash什么好处?为什么不这样做就像我执行它一样./myscript.sh
  • 如何避免Bash逐行执行,但在STDIN到达结束后执行所有行?

bash shell

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

在PHP中调用未定义的函数exit()

我有以下代码

<?php
$f = 'exit';
print "function '$f' \n";
$f();
print "end \n";
?>
Run Code Online (Sandbox Code Playgroud)

产生此错误消息:

Fatal error: Call to undefined function exit()

为什么找不到PHP没有exit()函数?如果我更换$f();exit();它的工作找到.

BR

php exit

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

标签 统计

php ×2

bash ×1

class ×1

clone ×1

exit ×1

html ×1

insertafter ×1

jquery ×1

object ×1

shell ×1

tinymce ×1