2013-02-03 7 views
6

Stworzyłem bardzo prostą aplikację w Laravel 4, jest to coś, co będę często wykorzystywał w różnych projektach, więc warto było przekonwertować ją na pakiet, zanim za bardzo się posunęłam , ale staram się wprowadzić zmiany, aby działały, co moim zdaniem wynika głównie z tego, jak uzyskać dostęp do różnych obiektów, które zwykle są dostępne w aplikacji, np. View :: makeLaravel 4: Używanie widoków w paczce

Miałem Poniższy kod pracy w aplikacji:

class PageController extends BaseController { 

public function showPage($id) 
{ 
      //do stuff 
      return View::make('page/showPage') 
       ->with('id', $id) 
       ->with('page', $page); 
} 

dla pakietu mam następujące:

use Illuminate\Routing\Controllers\Controller; 
use Illuminate\Support\Facades\View; 

class PageController extends Controller { 

public function showPage($id) 
{ 
     //do stuff   
     return View::make('page/showPage') 
       ->with('id', $id) 
       ->with('page', $page); 
} 

Jednak to nie załadować szablon noża, który znajduje się pod adresem:

workbench/packagenamespace/package/src/views/page/showPage.blade.php 

ani to działa:

return View::make('packagenamespace/package/src/page/showPage') 

Również zastanawiam się czy to, co mam zrobić ze sprawozdaniem użytku gdzie używam obiektu elewacji poprawnie, wydaje mi się, że powinien istnieć lepszy sposób dostępu do rzeczy takich jak obiekt View?

Odpowiedz

15

Należy przeczytać docs: http://four.laravel.com/docs/packages

szczególności część wyjaśniając widoki ładowania z opakowań;)

return View::make('package::view.name'); 

Jeśli ty nie chcesz używać:

use Illuminate\Support\Facades\View; 

Wystarczy zrobić:

use View; 

Albo nawet bez wykorzystania rachunku:

\View::make('package::view.name'); 
+0

Dziękuję, oba punkty pracował idealnie! –