在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');
...
});
答案 0 :(得分:1)
根据您的软件包结构,我认为以下方法可能可行,似乎第一个参数是路径,您可以将*用作通配符。
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()