Clicky

Skocz do zawartości


Zdjęcie
- - - - -

[Laravel] Jeszcze raz routing ;)

1 odpowiedź w tym temacie
routing

  • Zaloguj się, aby dodać odpowiedź

#1 ak

ak

    Początkujący

  • Użytkownik
  • Pip
  • 9 postów
  • Skąd:Tychy

Napisano 19 luty 2014 - 09:13

Cześć,

 

Mam mały problem z routingiem w laravelu 4.1. Wiem, że można problem obejść ale wolę się dowiedzieć przyczyny czemu tak jest.

 

Mam BaseController który dziedziczy po Controller:

<?php

abstract class BaseController extends Controller
{

    protected $layout;

    protected function setupLayout() {
        if (!is_null($this->layout)) {
            $this->layout = View::make($this->layout);
        }
    }

}

Następnie mam routing:

Route::match(['GET', 'POST'], '/dupa/{action?}', function($action = 'find'){
    $dupa = new DupaController;
    return $dupa->{$action}();
})->where(['action' => '[a-z]*']);

I dostaję błąd z tego powodu że w kontrolerze próbuję odwołać się do obiektu, który jest stringiem ;)

<?php

class DupaController extends BaseController
{
    protected $layout = '_layouts.test';

    public function find(){
        $this->layout->content = View::make('dupa.find');
    }
}
 

W przypadku gdy ustawię routing jak poniżej wszystko śmiga aż miło:

Route::get('/dupa', 'DupaController@find');

Jaka jest przyczyna?

 

Pozdrawiam,

ak



#2 ak

ak

    Początkujący

  • Użytkownik
  • Pip
  • 9 postów
  • Skąd:Tychy

Napisano 19 luty 2014 - 10:14

Dobra nie było tematu ;)

return App::make('DupaController')->callAction($action, array());






Również z jednym lub większą ilością słów kluczowych: routing

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych