در ادامه ساخت پکیج لاراول زمان آن رسیده تا سراغ لود صفحات با استفاده از Blade برویم. در این درس یاد خواهیم گرفت که چطور کلمه "It Works" را از داخل Blade لود کنیم و فایلهای Blade را داخل service provider ریجیستر کنیم.
ابتدا یک فایل Blade در مسیر زیر ایجاد میکنیم:
packages/themahdavi/laravel-permission-editor/resources/views/roles/index.blade.php:
It works from Blade!
حالا نوبت آن شده مسیر فایل ایجاد شده را داخل service provide اضافه کنیم تا تمام Bladeهای داخل آن ریجیستر شوند.
packages/themahdavi/laravel-permission-editor/src/PermissionEditorServiceProvider.php:
class PermissionEditorServiceProvider extends ServiceProvider
{
public function boot()
{
Route::prefix('permission-editor')->group(function () {
$this->loadRoutesFrom(__DIR__ . '/../routes/web.php');
});
$this->loadViewsFrom(__DIR__ . '/../resources/views', 'permission-editor');
}
}
به ورودی دوم تابع ()loadViewsFrom
دقت کنید که مقدار 'permission-editor' دارد. برای اینکه Viewها داخل کنترلر لود شوند به این پسوند namespace نیاز داریم.
برای اینکه View را داخل کنترلر لود کنیم به کد زیر دقت کنید:
packages/themahdavi/laravel-permission-editor/src/Http/Controllers/RoleController.php:
namespace themahdavi\LaravelPermissionEditor\Http\Controllers;
use Illuminate\Routing\Controller;
class RoleController extends Controller
{
public function index()
{
return view('permission-editor::roles.index');
}
}
پسوند ::permission-editor
قبل از اسم Blade همان مقداری است که در ورودی دوم تابع ()loadViewsFrom
نوشتیم. دقت کنید این مقادیر باید عین هم باشند.
بعد از تنظیم موارد بالا مرورگر خود را رفرش کنید ...
برای اینکه بخش دسترسیها را مشابه نقشها داشته باشیم نیاز به کنترلر و مسیر داریم. در انتهای این درس دو فایل زیر ایجاد میشوند:
packages/themahdavi/laravel-permission-editor/src/Http/Controllers/PermissionController.php:
namespace themahdavi\LaravelPermissionEditor\Http\Controllers;
use Illuminate\Routing\Controller;
class PermissionController extends Controller
{
// Only this index for now: will show you why, in a minute
public function index()
{
return view('permission-editor::permissions.index');
}
}
packages/themahdavi/laravel-permission-editor/routes/web.php:
use themahdavi\LaravelPermissionEditor\Http\Controllers\RoleController;
use themahdavi\LaravelPermissionEditor\Http\Controllers\PermissionController;
use Illuminate\Support\Facades\Route;
Route::resource('roles', RoleController::class);
Route::resource('permissions', PermissionController::class);
375 کلمه
440 کلمه
190 کلمه
365 کلمه
268 کلمه
191 کلمه
570 کلمه
349 کلمه
1 کلمه
1 کلمه
1 کلمه
1 کلمه