View :: composer在boot()服务提供程序上不起作用

在Laravel 包装 EspacePartenaire内部,我需要使用 View Composer 在其所有视图之间共享一些数据。

boot()中的EspacePartenaireServiceProvider方法包含以下内容:

$this->loadViewsFrom(__DIR__ . '/views','espace-partenaire');

View::composer('*',CurrentPartenaireComposer::class);

但是我不想在所有视图中共享数据。我仅在包/packages/EspacePartenaire/src/views

的视图文件夹中的视图中需要它

当我像下面那样更改composer函数的参数时:

View::composer('espace-partenaire',CurrentPartenaireComposer::class);

View::composer('espace-partenaire::*',CurrentPartenaireComposer::class);

我的错误是我的变量未定义。

我该如何实现?

编辑: 这是包裹路线文件:

Route::group([
    'middleware' => ['web','auth'],'namespace' => 'App\Services\EspacePartenaire\Http\Controllers','prefix' => 'espace-partenaire'
],function(){
    ...
    Route::get('/','EspacePartenaire@index');
    ...
});
dengym123 回答:View :: composer在boot()服务提供程序上不起作用

根据您的软件包结构,我认为以下方法可能可行,似乎第一个参数是路径,您可以将*用作通配符。

import os
import sys

import pexpect


passphrase = os.environ['HOST_CA_KEY_PASSPHRASE']

command = 'ssh-keygen'
child = pexpect.spawn(command,args=sys.argv[1:])
child.expect('Enter passphrase:')
child.sendline(passphrase)
child.wait()
本文链接:https://www.f2er.com/3144456.html

大家都在问