Laravel 组件 class 由于组件在不同文件夹中创建而忽略
Laravel component class ignore due to component create in different folder
<?php
namespace App\View\Components;
use Illuminate\View\Component;
class Admin.-newclubform extends Component
{
/**
* Create a new component instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the view / contents that represent the component.
*
* @return \Illuminate\Contracts\View\View|\Closure|string
*/
public function render()
{echo "demo";
return view('components.admin.-newclubform');
}
}
我用php artisan make:component Admin.Newclubform
命令在管理文件夹中创建组件。
视图部分有效,但 class 被忽略。
php artisan make:component Admin.Newclubform 创建所有 class 和视图。 class 由 artisan 命令生成
如@shaedrich 所述,Admin.Newclubform 不是有效的 class 名称。
所以创建子文件夹 运行 命令如下
php artisan make:component Admin/NewClubForm
这将在里面创建文件
App\View\Components\Admin\NewClubForm
所以你的组件看起来像这样
<?php
namespace App\View\Components\Admin;
use Illuminate\View\Component;
class NewClubForm extends Component
{
/**
* Create a new component instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the view / contents that represent the component.
*
* @return \Illuminate\Contracts\View\View|\Closure|string
*/
public function render()
{
return view('components.admin.new-club-form');
}
}
然后就可以这样访问了
<x-admin.newclubform></x-admin.newclubform>
<?php
namespace App\View\Components;
use Illuminate\View\Component;
class Admin.-newclubform extends Component
{
/**
* Create a new component instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the view / contents that represent the component.
*
* @return \Illuminate\Contracts\View\View|\Closure|string
*/
public function render()
{echo "demo";
return view('components.admin.-newclubform');
}
}
我用php artisan make:component Admin.Newclubform
命令在管理文件夹中创建组件。
视图部分有效,但 class 被忽略。
php artisan make:component Admin.Newclubform 创建所有 class 和视图。 class 由 artisan 命令生成
如@shaedrich 所述,Admin.Newclubform 不是有效的 class 名称。
所以创建子文件夹 运行 命令如下
php artisan make:component Admin/NewClubForm
这将在里面创建文件
App\View\Components\Admin\NewClubForm
所以你的组件看起来像这样
<?php
namespace App\View\Components\Admin;
use Illuminate\View\Component;
class NewClubForm extends Component
{
/**
* Create a new component instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the view / contents that represent the component.
*
* @return \Illuminate\Contracts\View\View|\Closure|string
*/
public function render()
{
return view('components.admin.new-club-form');
}
}
然后就可以这样访问了
<x-admin.newclubform></x-admin.newclubform>