2013-02-03 27 views
6

Tôi đã tạo ra một ứng dụng rất cơ bản trong Laravel 4, đó là thứ mà tôi sẽ sử dụng lại trong nhiều dự án khác nhau để chuyển nó thành gói trước khi tôi đi quá xa , nhưng tôi đang cố gắng thực hiện các thay đổi để làm cho nó hoạt động, mà tôi nghĩ chủ yếu là do tìm ra cách truy cập các đối tượng khác nhau có sẵn trong ứng dụng, ví dụ: Xem :: makeLaravel 4: Sử dụng khung nhìn trong một gói

Tôi có mã sau đây làm việc trong một ứng dụng:

class PageController extends BaseController { 

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

cho gói tôi có như sau:

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); 
} 

Tuy nhiên điều này không tải template lưỡi mà nằm tại địa chỉ:

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

cũng không làm việc này:

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

Ngoài ra, tôi tự hỏi nếu những gì tôi đã làm với những điều khoản sử dụng nơi tôi sử dụng các đối tượng mặt tiền chính xác, với tôi nó có vẻ như có nên có một cách neater để truy cập vào những thứ như đối tượng Xem?

Trả lời

15

Bạn nên đọc các tài liệu: http://four.laravel.com/docs/packages

Cụ thể phần giải thích quan điểm tải từ gói;)

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

Nếu bạn don' muốn sử dụng:

use Illuminate\Support\Facades\View; 

Chỉ cần làm:

use View; 

Hoặc thậm chí không có tuyên bố sử dụng:

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

Cảm ơn bạn, cả hai điểm đều hoạt động hoàn hảo! –

Các vấn đề liên quan