小编Jor*_*yle的帖子

匿名函数返回值

更新:从PHP7开始,现在可以使用以下语法使用匿名函数解除引用:

$array[] = [
    'new' => (function()
    {
        ...
        return mt_rand();
    })(),

    'or' => getClosure()()
]
Run Code Online (Sandbox Code Playgroud)

原帖:我最近在试验一些东西,并想知道是否有办法使用匿名函数的返回值

假设我有一个for循环,它创建了一个数组,数组的每个值都必须有一个数据库调用,我想做的是:

for($i = 0; $i != 10; $i++)
{
    $array[] = [
        'new' => function(){
            // some proccesing here maybe
            // lets use mt_rand for this example.
            return mt_rand();
        },

        'old' => function(){
            return mt_rand();
        }
    ];
}
Run Code Online (Sandbox Code Playgroud)

或者可能

echo function(){
     // again, we'll just use mt_rand
     return mt_rand();
};
Run Code Online (Sandbox Code Playgroud)

这两个都返回一个closure类.无论如何实际上将它们的返回值传递回数组或回声,对于上面的例子?

更新:我已经确定这是不可能的,因此,功能请求可以在这里找到:http://bugs.php.net/bug.php?id = 64608

php return anonymous-function

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

Blade中的条件扩展

有没有办法@extends在Blade模板语言中做一个条件语句?

我尝试过的:

@if(!Request::ajax())
    @extends('dashboard.master')
    @section('content')
@endif

<div class="jumbotron">
    Hey!
</div>

@if(!Request::ajax())
    @stop
@endif
Run Code Online (Sandbox Code Playgroud)

产量

当请求不是AJAX时,它打印出来@extends('dashboard.master'),但AJAX请求工作正常.

我想做什么

停止包含AJAX 的主模板(包括headerfooter),以便它可以轻松显示所请求的内容

php ajax laravel blade

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

在调用其他方法时调用方法

无论如何,在每次调用方法时都会调用一种"超级方法",即使对于未定义的方法也是如此?有点像:

public void onStart() {
    System.out.println("Start");
}

public void onEnd() {
    System.out.println("End");
}

public SuperMethod superMethod() {
    System.out.println("Super");
}

// "Start"
// "Super"
onStart();

// "End"
// "Super"
onEnd();

// "Super"
onRun();
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

编辑 - 细节:我有一个库可以更新很多,并在每次更新时进行重新模糊处理.为了使我的工作流程更容易,我正在让我的程序自动更新库(需要做我想做的事情,我不会详细说明为什么,但我的程序将使用未来的更新)并且我有混淆映射下载库,我想做一个代理调用Library的例子,然后当我调用Library.getInstance()它时,它将得到混淆映射getInstance()并调用库的方法getInstance()或者abz在当前时刻映射到它.

java

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

在tbody上填充

我正在使用vBulletin来设计一个主要使用表格来设置网站样式的论坛.我如何使用填充tbody来将内容与边界隔开?

在这里,您可以看到我的主站点的图片,其内容被推离边界5px:

而在vBulletin上,添加填充tbody不会推动内容:

html css vbulletin

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

加载包中的每个类

我正在使用反射从classes字段中获取所有已加载的类ClassLoader,然后检查是否getPackage等于我正在搜索的包.我遇到的一个问题是这些类没有被加载,ClassLoader但我无法自己加载它们,Class.forName因为我不知道类的名称,因为它们是动态加载的并且总是在变化.所有类的共同点是它们的扩展Module.我如何从包中加载所有类?

提前致谢.

java reflection dynamic

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

Perl没有返回PID

如果我运行命令

nohup ./run > /dev/null 2>&1 & disown
Run Code Online (Sandbox Code Playgroud)

在我的终端,我得到了一些[1] 1234我理解为PID的东西.

但是,当我在Perl中运行以下命令时,它会返回一个关于disown未定义或其他内容的错误,但这不是重点.当我删除时disown,终端返回相同的东西,但Perl什么都不返回.它所分配的变量只是空白.

my $command = `nohup ./run > /dev/null 2>&1 &`;
print("a " . $command); // "a " to check if it's actually printing anything.
Run Code Online (Sandbox Code Playgroud)

输出:

a 
Run Code Online (Sandbox Code Playgroud)

预期产量:

[1] 1234
Run Code Online (Sandbox Code Playgroud)

如何让Perl显示我可以解析的命令的PID

@ar  = split(/\s+/, $process);
$pid = $ar[1];
Run Code Online (Sandbox Code Playgroud)

这是我在上一个问题中由另一个Stackoverflow用户提供的.

linux bash perl pid

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

使用php通过CURL下载文件

我需要POST cookies.txt然后使用CURL将页面下载到文本文件.这是我的FGC示例,但显然FGC对Cookie不好,所以我需要CURL.

<?php
    $file = file('source\1.txt');
    foreach ($file as $link)
    {
        $link       = trim($link);
        $link2      = "http://site-that.com/authenticates?={$link}";
        $downloaded = file_get_contents($link2);
        $myFile     = "parsed/$link" . ".txt";
        $fh = fopen($myFile, 'a') or die('Cannot open file');
        fwrite($fh, $downloaded);
    }
    $timestamp = time();
    rename('source\1.txt', "source/done/done-{$timestamp}.txt");
    echo 'Finished';
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?代码示例将非常感激.像google.com这样做的一个简单例子也很棒.另外,如果你有另一种方法可以做到这一点,那就更快了,请发帖!

php cookies curl file-get-contents

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