小编Sen*_*lez的帖子

PHP:获取函数所需的参数数量

这是PHP在$ this中传递给类外部函数的扩展问题

我相信这正是我正在寻找的,但它在python而不是php:以编程方式确定函数所需的参数数量 - Python

假设我有这样的函数:

function client_func($cls, $arg){ }
Run Code Online (Sandbox Code Playgroud)

当我准备调用这个函数时,我可能会在伪代码中做这样的事情:

if function's first parameter equals '$cls', then call client_func(instanceof class, $arg)
else call client_func($arg)
Run Code Online (Sandbox Code Playgroud)

所以基本上,是否有一种方法可以在调用函数之前查看函数并查看所需的参数值.

我想这就像debug_backtrace,但反过来说.

func_get_args()只能从函数中调用,这对我没有帮助.

有什么想法吗?

php reflection class

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

JS SVG getCTM和setCTM?

如果我使用getCTM()来获取当前的转换矩阵,如果我想在以后恢复它,如何使用该对象来设置矩阵(我知道保存和恢复,但那些引用画布而不是项目)

我知道我设置了属性:

var m = someitem.getCTM();
$(someitem).attr("transform", "matrix("+m.a+","+m.b+","+m.c+","+ m.d+","+m.e+","+m.f+")");
Run Code Online (Sandbox Code Playgroud)

但这似乎还有很长的路要走.我找不到任何这种关闭函数的setCTM函数.

为webkit开发如果有所作为.

谢谢!

javascript svg

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

PHP:get_headers设置临时stream_context

我猜PHP的get_headers不允许上下文,因此我必须更改默认流上下文以仅获取请求的HEAD.这会导致页面上的其他请求出现一些问题.我似乎无法弄清楚如何重置默认流上下文.我正在尝试这样的事情:

$default = stream_context_get_default(); //Get default stream context so we can reset it
stream_context_set_default( //Only fetch the HEAD
      array(
    'http' => array(
       'method' => 'HEAD'
     )
  )
);
$headers = get_headers($url, 1); //Url can be whatever you want it to be
//var_dump($headers);
var_dump($default);
stream_context_set_default($default); //This doesn't work as it expects an array and not a resource pointer
Run Code Online (Sandbox Code Playgroud)

有谁知道解决这个问题?

我知道有人建议使用Curl,但我不愿意这个.谢谢!

php header stream head http-headers

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

PHP闭包函数附加到stdObject并链接

可能重复:
直接调用分配给对象属性的闭包

如果我有这样的课程:

class test{
  function one(){
     $this->two()->func(); //Since $test is returned, why can I not call func()?
  }

  function two(){
    $test = (object) array();
    $test->func = function(){
       echo 'Does this work?';
    };
    return $test;
  }
}

$new = new test;
$new->one(); //Expecting 'Does this work?'
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,当我从函数1调用函数二时,函数2返回$ test变量,该函数附加了一个func()的闭包函数.为什么我不能将其称为链式方法?

编辑 我记得这也可以通过对需要的人使用$ this-> func - > __ invoke()来完成.

php closures chaining

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

CSS 样式#elements[1-10]

如果我有 5 个 div,id 为“element1”、“element2”等...,有没有一种方法可以使用以下内容来设置元素数组的样式:

#elements[1-10]{
 position:relative;
}
Run Code Online (Sandbox Code Playgroud)

我知道你们可能认为我疯了,但我正在处理一些自动生成的代码,我必须编辑此 cms 的核心文件,但我不想这样做,以防将来客户端升级。

话虽如此,我不可能手动将 ID 更改为类。

css arrays

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

Google Youtube Data API:包含API密钥的私有视频

所以我们在youtube上有一些私人的培训视频.我们希望登录我们系统的人能够访问这些视频,但我不希望他们必须使用oauth登录.

我希望我们的应用程序对我们的帐户进行身份验证,当我们的应用程序使用api时,我希望它返回私有视频.(我可以使用API​​密钥并限制推荐)

我玩过api,但api键不会返回私人视频.

它总是返回一个空数组.

我怎样才能做到这一点?

javascript youtube youtube-api

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

Javascript:获取输入的 CSS 值而不是计算值

显然它可以完成,因为 Firebug 做了,但我不确定他们是否对 CSSDeclarations 进行了大量处理,或者 DOM 中是否有我遗漏的东西,但我想获取 TYPED 样式元素或样式表,而不是 DOM 似乎返回的 cssText。

一个例子是边界。如果我的元素有 border:1px solid #000,DOM 会返回给我

border-top-width:1px;
border-right-width-value:;
border-right-width-ltr-source:;
border-right-width-rtl-source:;
border-bottom-width:1px;
border-left-width-value:;
etc.....
Run Code Online (Sandbox Code Playgroud)

我真正想要的只是我输入的内容,即 border:1px solid #000。

如果有人对此有任何想法,将不胜感激。

以下是 CSS 的 DOM2 规范:http : //www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule 这就是我不确定我是否遗漏了什么的地方如果我应该去别处寻找。

这是我写的代码,似乎工作正常,但是,就像我说的,现在它只返回浏览器呈现的样式和计算样式。无需查看代码。我只是在寻找整体建议。我刚刚发布了代码来帮助某人,如果他们正在寻找开始的东西......

bg.fn.cssNavigator = function(){
var el = bg(this)[0]; //Only take first element.
var context = bg(this).context; //What document are we looking at?
if(!document.getElementById('plugins-bg_css_navigator-wrapper')){
    jQuery("body").append('<div id="plugins-bg_css_navigator-wrapper"><div id="plugins-bg_css_navigator-css"></div></div>');
}
var t = '';
t = t+'<div>Inline Style</div><div>';
if(el.style){
    var els = el.style;
    for(var i=0; …
Run Code Online (Sandbox Code Playgroud)

javascript css

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

php获取包含文件的命名空间

//file foo.php
<?php
namespace foo;
class foo{
    function __construct(){
        echo "hello";
    }
}
?>

//file index.php
<?php
require_once("foo.php");
echo __NAMESPACE__;
?>
Run Code Online (Sandbox Code Playgroud)

我的问题是,从我的index.php文件中,有没有可能知道foo.php的命名空间而不读取文件内容并在其上执行正则表达式?这似乎是很多开销.

///编辑

我真的希望能够将命名空间动态添加到包含的文件中.

<?php
namespace dynamic;
require_once("foo.php");
echo __NAMESPACE__;
?>
Run Code Online (Sandbox Code Playgroud)

我想允许第三方插件,但PHP命名空间似乎很糟糕.我不希望插件编辑器必须创建命名空间.

php namespaces

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

替换空格,但不在括号之间

我想我可以很容易地使用多个正则表达式来做这个,但我想替换字符串中的所有空格,但不是当这些空格在括号之间时.

例如:

Here is a string (that I want to) replace spaces in.
Run Code Online (Sandbox Code Playgroud)

在正则表达式后我想要字符串

Hereisastring(that I want to)replacespacesin.
Run Code Online (Sandbox Code Playgroud)

使用前瞻或外观操作符有一种简单的方法吗?

我对他们的工作方式有点困惑,并不确定他们会在这种情况下工作.

javascript regex

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

使用jQuery元素对象作为数组键?

是否可以将jQuery元素对象用作数组/对象键?

例:

var el = jQuery(this);
var test = {};
test[el] = "something strange";
Run Code Online (Sandbox Code Playgroud)

做一个:

jQuery.each(test, function(k,v){
    console.log(k);
});
Run Code Online (Sandbox Code Playgroud)

只报告[对象]

有没有说我真的可以重新使用它k作为原始的jQuery元素对象?

javascript jquery

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