Ich versuche, Paket in Laravel 5.2 mit Routen zu erstellen. Ich habe Controller in Http/Controllers
Ordner (mit Namespace vendor\package\Http\Controllers\MyController
). Ich möchte einen Alias erstellen, aber ich weiß nicht wie. Ich will nicht, diesen Controller in routes.php
so nennen:Laravel Paket Controller Alias in Routen
Route::get('myurl', vendor\package\Http\Controllers\MyController::class . '@action');
Aber wie folgt aus:
Route::get('myurl', '[email protected]');
Ich habe versucht, dies in Application
Klasse API zu suchen, aber ich kann diese Informationen nicht finden.
Dieser Code im Paketanbieter funktioniert nicht.
$this->app
->alias(vendor\package\Http\Controllers\MyController::class, 'MyController');
Mein Service-Provider:
class PackageRouterServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
include(__DIR__ . '/../Http/routes.php');
$this->app->alias(MyController::class, 'MyController'); // <- I tried this
}
}
Sie versuchen, Ihren Paket-Controller in Ihrer Anwendung routes.php Datei, nicht in einem Paket Routes-Datei zu bekommen? Das macht für mich keinen Sinn. Wenn Sie dynamische URLs für Ihre Paket-Controller-Aktionen erstellen möchten, müssen Sie nach einer anderen Möglichkeit suchen, z. B. mit einer Paketkonfigurationsdatei. –
@GerardReches Nein nein nein, es ist meine Paketrouten-Datei. – ventaquil
Ok, das Problem ist also, dass Ihre Routen den Controller ohne seinen vollständigen Namespace nicht finden können? Können Sie Ihr Paket RouteServiceProvider anzeigen? –