我在我的app.php文件中做了这样的共享服务:
$app['rules'] = $app->share(function() use($app) {
return new MyProject\Rules($app);
});
Run Code Online (Sandbox Code Playgroud)
然后:
namespace MyProject;
use Silex\Application;
class Rules
{
private $app;
public $request;
public function __construct(Application $app) {
$this->app = $app;
}
public test() {
print_r($this->app['something']);
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我访问$app['rules']->test();它内部的$ app时,它是一种新版本的应用程序,并且它没有我稍后$app从应用程序的其他部分设置的变量.有没有办法访问父级$app而不是内部版本?
我曾经使用这个脚本进行jquery电子邮件混淆:
$(".replaceAt").replaceWith("@");
$(".obfuscate").each(function () {
$(this).attr("href", "mailto:"+$(this).text());
});
Run Code Online (Sandbox Code Playgroud)
<a class="obfuscate">name<span class="replaceAt">-AT-</span>server.com</a>
但是使用jQuery 1.4.x,我现在收到此错误:
未捕获的异常:语法错误,无法识别的表达式:@
在网上看一下,看起来jQuery认为@是一个特殊的角色.我试着"\ @"它以及其他一些没有运气的东西.我不是一个jQuery忍者知道如何解决这个问题.有任何想法吗?