小编Joh*_*ent的帖子

Laravel 容器和绑定

Laravel 5.6 文档说:

如果类不依赖于任何接口,则无需将类绑定到容器中。不需要指示容器如何构建这些对象,因为它可以使用反射自动解析这些对象。

我不明白。

这是否意味着如果我不使用接口,我就不必在提供者的注册方法中使用任何绑定?

那么,如果我不使用 bindigs,我该如何使用依赖注入呢?

PS:在我的理解中:

“界面” -这是

“绑定” - 是寄存器内的 bind() 和 singelton()

php laravel laravel-5

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

REQUEST_URI 何时可以为空?

我正在为我的 PHP 网站创建路由器并遇到了这样的方法:

public function getURI() {
   if (!empty($_SERVER["REQUEST_URI"])) {
      // do some stuff and return the result
   }
}
Run Code Online (Sandbox Code Playgroud)

我发现即使我请求'example.com'-$_SERVER["REQUEST_URI"]不是空的(它是'/'

问题是:

为什么我需要检查是否$_SERVER["REQUEST_URI"]为空?

什么时候REQUEST_URI可以空?

php

4
推荐指数
1
解决办法
1951
查看次数

laravel 如何在 Facade 类中使用对象作为数组

我注意到,为了创建外观类,laravel 仅提供名称“db”

框架/src/Illuminate/Support/Facades/DB.php

class DB extends Facade
{
    /**
     * Get the registered name of the component.
     *
     * @return string
     */
    protected static function getFacadeAccessor()
    {
        return 'db';
    }
}
Run Code Online (Sandbox Code Playgroud)

我更深入地研究并发现这个方法使用提供的名称

框架/src/Illuminate/Support/Facades/Facade.php

protected static function resolveFacadeInstance($name)
{
    if (is_object($name)) {
        return $name;
    }
    if (isset(static::$resolvedInstance[$name])) {
        return static::$resolvedInstance[$name];
    }
    return static::$resolvedInstance[$name] = static::$app[$name];
}
Run Code Online (Sandbox Code Playgroud)

我理解第一个和第二个 If 语句。

但我在理解这一点时遇到了问题:

return static::$resolvedInstance[$name] = static::$app[$name]
Run Code Online (Sandbox Code Playgroud)

据我了解,这$app是类的受保护属性Facade,其中包含类的实例\Illuminate\Contracts\Foundation\Application

/**
     * The application instance being facaded.
     *
     * @var …
Run Code Online (Sandbox Code Playgroud)

php laravel

4
推荐指数
1
解决办法
937
查看次数

后台页面和后台脚本有什么区别?

本文使用两个术语“后台页面”“后台脚本”

我认为背景脚本与Manifest.json中的脚本背景字段一样

但是背景页面是什么?它们之间有何不同?

google-chrome-extension

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

标签 统计

php ×3

laravel ×2

google-chrome-extension ×1

laravel-5 ×1