Hello à tous, j'ai helas la phobie des expressions régulieres si une ame charitable souhaite m'aider :p je m'explique:
Je bosse avec le couple Angular/Laravel je souhaite retourner mes partials Angular via Laravel soit via un controller simple

class PartialsController extends Controller {
    public function display($folders, $name) { }
}

Jusque là tout va bien mais pour les params des routes c'est autre chose

Route::get('/partials/{folders}/{name}', [
        'as' => 'partials',
        'uses' => 'partialsController@display',
    ])
    ->where('name', '[\w\-]+')// Catch partial
    ->where('folder', '([\w\-]+\/)+')// Catch folder/folder/...
;

Avec une adresse type www.monsite/partials/folder/name super mais avec www.monsite/partials/folder/subfolder/name plus rien

3 réponses


Azorgh
Réponse acceptée

Fait attention a ton ortographe :

Route::get('/partials/{folders}/{name}', [
[...]
->where('folderS', '([\w\-]+\/)+')// Catch folder/folder/...

Pas essayé mais déjà ce sera mieux ^^

Niramar
Auteur

Je suis trop bête @PallMallShow merci en effet 2 erreurs de ma part et ça match merci beaucoup :p

Route::get('/partials/{folders}{name}', [// on vire le / entre folders et name
        'as' => 'partials',
        'uses' => 'partialsController@display',
    ])
    ->where('name', '[\w\-]+')
    ->where('folders', '([\w\-]+\/)+')// On met un 's' pas comme Niramar :p
;
Niramar
Auteur

En attendant j'étais déja partie sur

Route::get('/partials/{p1}', 'partialsController@display');
Route::get('/partials/{p1}/{p2}', 'partialsController@display');
Route::get('/partials/{p1}/{p2}/{p3}', 'partialsController@display');
Route::get('/partials/{p1}/{p2}/{p3}/{p4}', 'partialsController@display');

et un param multiple sur mon controller

    public function display(...$p) {}

A défaut ça me réglait mon problème en attendant que @PallMallShow lise mes betises :p encore merci