的文件夾名稱我有/app/resources/views/category/index.blade.php
獲取laravel視圖
而在index.blade.php
我想知道,這是在文件夾「類別」。是否有返回當前視圖路徑的laravel函數?
喜歡的東西:
$folder = view_path(); // "/category"
的文件夾名稱我有/app/resources/views/category/index.blade.php
獲取laravel視圖
而在index.blade.php
我想知道,這是在文件夾「類別」。是否有返回當前視圖路徑的laravel函數?
喜歡的東西:
$folder = view_path(); // "/category"
在類的頂部添加命名空間:use Illuminate\Support\Facades\File;
運行:
$files = File::allFiles(resource_path('views'));
foreach ($files as $file) {
echo (string) $file, "\n";
}
或您的情況:
$files = File::files(resource_path('views/category'));
foreach ($files as $path => $value) {
echo $value->getPath() . "\n";
}
您可以使用Laravel View Composers
視圖作曲者是在呈現 視圖時調用的回調函數或類方法。如果每次渲染視圖時都希望綁定到視圖 的數據,則視圖編輯器可以幫助您將該邏輯組織到一個位置。
在文件app/Providers/AppServiceProvider.php
,編輯public function boot()
方法
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot(Application $app)
{
view()->composer('*', function($view) {
// get view paths from config - this is absolute path
$configPaths = config('view.paths');
// get view's full path
$absoluteViewPath = $view->getPath();
foreach($configPaths as $configPath) {
// see if current view's path matches path from config
// both are absolute paths
if (strpos($absoluteViewPath, $configPath) !== false) {
$path = str_replace($configPath, '', $absoluteViewPath);
// remove view name - from last position of `/`
$dir = substr($path, 0, strrpos($path, '/'));
// attach to views
view()->share('view_folder', $dir);
// view matched, stop looking
break;
}
}
// if nothing was found
view()->share('view_folder', '');
});
}
在此之後,在任何刀片模板你現在將有機會獲得一個變量
{{ $view_folder }}
PHP本身就支持'__FILE__ '和'__DIR__' – Devon
在這種情況下,__FILE__和__DIR__不起作用。他們返回總是返回存儲/視圖緩存目錄 –
啊,好的。這是合理的,因爲刀片視圖被編譯。 – Devon