【发布时间】:2020-06-02 14:32:36
【问题描述】:
我制作了一个包,用于计算网页上的访问者。目前我有一个单一的路线、控制器和视图,除了显示一个简单的字符串之外,它们并没有做太多的事情。我有一个单独的 Laravel 应用程序,这个包是专门为它构建的。在这个单独的应用程序中,我有一个名为 backend 的布局文件。
layouts/layouts/backend.blade.php.
我的包视图正在扩展这个模板,如下所示:(backend.blade.php 在包中不存在,但在单独的 laravel 应用程序中)
@extends('layouts.layouts.backend')
@section('content')
<div class="container-fluid pt-5 ">
<div class="row">
<div class="col-md-6">
<h3>{{ __('Visitors') }}</h3>
</div>
</div>
</div>
@endsection
包成功扩展了这个布局但是找不到Auth::user()->token之类的函数会说
Trying to get property 'token' of non-object (View: /Users/rainierlaan/Sites/rainierlaan/resources/views/layouts/layouts/backend.blade.php)
为什么会这样?
这是我的包裹服务提供商
public function register()
{
// Controllers
$this->app->make('Rainieren\Visitors\Http\Controllers\VisitorController');
// Views
$this->loadViewsFrom(__DIR__.'/resources/views', 'visitors');
$this->publishes([
__DIR__.'/resources/views' => resource_path('views/visitors'),
]);
// Migrations
$this->loadMigrationsFrom(__DIR__.'/database/migrations');
}
/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{
include __DIR__ . '/routes/routes.php';
}
当我执行vendor:publish 时,视图成功发布到正确的文件夹,但不知何故无法识别Auth::user()->token 或Auth::user()->unreadNotifications->count()) 等函数
这是我的包裹路线:
<?php
Route::get('dashboard/visitors', '\Rainieren\Visitors\Http\Controllers\VisitorController@index')->name('visitors');
这是控制器
public function index()
{
return view('visitors::index');
}
【问题讨论】:
-
当你做
vendor:publish你期望从Auth::user()得到什么??你在 CLI 中 -
我希望从安装包的应用程序中获取用户数据。如果那当然是可能的
-
哪个用户?当您在 CLI 命令中时,没有用户经过身份验证
标签: php laravel laravel-5 package