<?php
namespace Laravel\Horizon\Http\Controllers;
class HomeController extends Controller
{
/**
* Single page application catch-all route.
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('horizon::app'); // what's the meaning of this 'horizon::app'
}
}
I found this syntax in the Laravel-Horizon Controller, can anyone explain this:
view('horizon::app');
What is the meaning of 'horizon::app'
?
Like others answers stated, that is known as view namespaces
. It not limited to the package's view, but you can use it inside your project as well.
As example you might have admin and customer module and want to differentiate their view by their own folder name, at this point you could use the namespace declaration. As example you might have these folders structures:
|- resources
|- views
|- admin
|- index.blade.php
|- customer
|- index.blade.php
Then you could register your own namespace that point to that particular folder path in AppServiceProvider.php
:
app('view')->addNamespace('admin', base_path() . '/resources/views/admin');
// or
app('view')->addNamespace('customer', base_path() . '/resources/views/customer');
And later on, inside controller's method, you can reference it using:
return view("admin::index");
// or
return view("customer::index");