小编tjb*_*jbp的帖子

为什么我不能在PHP 5.5.4中使用$ this作为词法变量?

$ php --version
PHP 5.5.4 (cli) (built: Sep 19 2013 17:10:06) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
Run Code Online (Sandbox Code Playgroud)

以下代码(类似于https://bugs.php.net/bug.php?id=49543上的示例):

class Foo
{
    public function bar()
    {
        return function() use ($this)
        {
            echo "in closure\n";
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

失败了:

PHP Fatal error:  Cannot use $this as lexical variable
Run Code Online (Sandbox Code Playgroud)

然而根据PHP文档和对Rasmus Lerdorf的错误报告的评论,从PHP 5.4开始,在匿名函数中使用$ this.我究竟做错了什么?

php

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

PHP PDO (MySQL) 中的 SSL 支持如何工作?

我熟悉 HTTPS 中实现的公钥/私钥协商,这就是为什么我对 PDO 的 MySQL 驱动程序显然可用(尽管没有正式记录)的以下驱动程序选项感到困惑:

PDO::MYSQL_ATTR_SSL_KEY
PDO::MYSQL_ATTR_SSL_CERT
PDO::MYSQL_ATTR_SSL_CA
Run Code Online (Sandbox Code Playgroud)

该链接表明它们指向本地存储的文件 - 但为什么除了 CA 证书之外的任何内容的副本都存储在客户端上?有人使用这种方法成功建立了加密连接吗?

php mysql ssl pdo public-key-encryption

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

如何使jQuery单击事件仅影响嵌套在同一父元素中的元素

我是一个jQuery新手截至今天上午,这是代码,我拿出来表明伴随调用它,用类"富"一个div内锚一个div.它不起作用:P

$('div.foo').children('a').click(function(event){
    event.preventDefault();
    if ($(this).closest('div').('div').is(':hidden')) {
        $(this).closest('div').('div').show("slow");
    } else {
        $(this).closest('div').('div').hide("slow");
    }
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<div class="foo">
    <a href="#" title="">Click me!</a>
    <div>And this will appear!</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我希望能够有多个相同的foo div(当然除了嵌套div的实际内容之外),我需要做的就是将包含div分配给'foo'类,以便使包含的锚显示出来单击时包含div.

这种事情甚至可能吗?在此先感谢您的回复.

jquery

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

如何在 Laravel 中使用预期功能

我需要使用以下 URL 注册参加锦标赛:

http://laravel.dev/tournaments/1/register/
Run Code Online (Sandbox Code Playgroud)

该 URL 位于中间件“auth”中,因此如果用户未登录,他将被重定向到登录/页面。

我需要的是重定向到

http://laravel.dev/tournaments/1/register/
Run Code Online (Sandbox Code Playgroud)

登录后。

在我的routes.php中,我有:

Route::get('tournaments/{tournamentId}/register', 'TournamentController@register');
Run Code Online (Sandbox Code Playgroud)

我被告知要使用

redirect()->intended
Run Code Online (Sandbox Code Playgroud)

但我不知道该怎么做。

在一般情况下,用户将被重定向到/admin,但在这种情况下,我希望他继续执行他的主要操作(注册锦标赛)...

我使用内置特征进行登录,因此我检查了系统在登录时执行的操作,并且它已经在使用此功能:

protected function handleUserWasAuthenticated(Request $request, $throttles)
{
    if ($throttles) {
        $this->clearLoginAttempts($request);
    }

    if (method_exists($this, 'authenticated')) {
        return $this->authenticated($request, Auth::guard($this->getGuard())->user());
    }

    return redirect()->intended($this->redirectPath());
}
Run Code Online (Sandbox Code Playgroud)

问题是它会将我重定向到默认路径,而不是动态路径......

routes laravel laravel-5

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

标签 统计

php ×2

jquery ×1

laravel ×1

laravel-5 ×1

mysql ×1

pdo ×1

public-key-encryption ×1

routes ×1

ssl ×1