当前位置: 首页 > 知识库问答 >
问题:

Laravel 5.4服务提供商在站点打开后不加载

祝俊
2023-03-14

我在Laravel5.4中有一个项目,我为他们创建了新的自定义类和服务提供商。并将该类绑定到服务提供商register方法中的应用程序。并在应用程序中编写此提供程序。php配置。但当应用程序加载时,它不会加载。我在自定义类助手的\u construct方法中写入Log,但不在laravel中写入日志。日志文件和其他操作不会在此构造中执行。下面是来自服务提供商的代码。

public function register()
{
    App::bind('helper', function() {
        return new Helper;
    });
}

共有2个答案

唐默
2023-03-14

您不需要绑定类或创建别名,它将自动注册到容器中。只需创建一个类,运行composer du命令,并使用包含名称空间的完整类名注入该类:

app('\App\SomeNamespace\Helper');

或使用控制器构造函数,例如:

use App\SomeNamespace\Helper;
public function __construct(Helper $helper)

如果您想将其绑定到类似于helper的东西,您可以这样做:

app()->bind('helper', '\App\SomeNamespace\Helper');

然后使用它:

app('helper');
施赞
2023-03-14

为了确保,您在config/app.php中注册了提供程序,例如:

'providers' => [
    ...
    Full\Path\To\ClassServiceProvider::class,
    ...
 ]

当你绑定时,它应该是这样的:

public function register()
{
    App::bind('Full\Path\To\Class', function() {
        return new Helper;
    });
}

然后,您可以将helper别名为您的类全名:

App:alias('helper', 'Full\Path\To\Class');
 类似资料:
  • 我正在使用SimpleSAMLPhp服务提供商实现SSO。 我提供了我的元数据远程Shibboleth身份提供者,并提供了一个测试帐户。 当用户访问我的SP上的特定页面时,他们会被重定向到IdP、登录,并使用IdP提供的一组属性重定向回我的网站。这部分工作正常。 这部分我正在努力。 如果用户通过不同的服务提供商使用相同的IdP进行身份验证,然后访问我的页面,我怎么知道他们已经通过身份验证?目前我被

  • 我希望用Python实现一个基于SAML 2.0的服务提供者。 我的Web应用程序目前都是Flask应用程序。我计划制作一个Flask蓝图/装饰器,允许我将单点登录功能放入预先存在的应用程序中。 我已经深入研究了python saml,但不幸的是,存在一些不值得解决的依赖性问题,因为我有太多预先存在的服务器/应用程序,这些服务器/应用程序的环境将不兼容。 PySAML2看起来可以工作,但是几乎没有

  • 我正在我的服务中添加SSO功能,以允许客户使用他们的广告帐户登录。为此,我使用componentpro中的SAML组件。com执行安全交互的正确方法是什么: < li >从IdP方面:除了IdP url,客户还应该向我的服务提供什么?任何只包含公钥的证书? < li >从服务提供商的角度:我应该向客户提供什么? < li >选择的SAML工具使用证书对发送给IdP的SAML请求进行签名,并对来自I

  • 我对Laravel很陌生,并使用这个答案为我的助手函数实现了服务提供者。 它建议: 在新生成的HelperServiceP的寄存器函数中rovider.php添加以下代码 然而,Laravel docs指出,register方法只能用于将内容绑定到容器中: 如前所述,在register方法中,您应该只将内容绑定到服务容器中。绝不应尝试在register方法中注册任何事件侦听器、路由或任何其他功能。

  • 问题内容: 我正在构建一个快速的Web搜寻器,并且需要具有多线程DNS解析,因此我选择了一个名为dnsjava的多线程DNS服务提供商。不幸的是,我不知道如何替换默认的DNS服务提供商。 我查看了dnsjava 的README文件,但说明不是很完整。 替换标准的Java DNS功能: 从Java 1.4开始,可以在运行时加载服务提供者。要加载dnsjava服务提供者,请按照上述说明进行构建并设置系

  • 我构建了一个Angular,它有自己的服务和组件: 和: 然后我将其导入我的: 当我将注入时,出现错误: 应用程序组件中的错误:文件服务没有提供程序 来自Angular文档: 当我们导入模块时,Angular 会将模块的服务提供程序(其提供程序列表的内容)添加到应用程序根注入器中。 这使得应用程序中知道提供者的查找标记的每个类都可以看到提供者。 我做这件事缺少什么?