01/10/2018, 13:32
Cách gọi hàm function trong view laravel 5.3
Hi all,
Hiện tại em muốn sử dụng cơ sở dữ liệu trong AdminController để hiển thị ra view admin.blade.php. Nhưng không hiện tại không hiểu được Admin đã khai báo trong app.php.
Bài liên quan
bạn dùng cách này coi. http://laraveldaily.com/how-to-use-external-classes-and-php-files-in-laravel-controller/
Hi bạn, ai chỉ bạn cách làm thế này? Hay bạn làm tù mù mà không hiểu gì cả?
Bạn đang khai báo
class alias
làAdminController
nhưng trong view bạn lại dùngAdmin
?Method
test()
không phải methodstatic
, có thể gọi bằng::
không?Laravel hỗ trợ truyền data từ controller sang view, bạn đã đọc tài liệu chưa?
Hi bạn,
Mình nghĩ khả năng là do AdminController của bạn chưa được nạp vào autoload,
Cái mà bạn đang define vào app.php nó chỉ là alias thôi,
Đầu tiên bạn phải khai báo để bộ autoload nó khởi tạo Object, sau đó việc khai báo ở app.php mới có ý nghĩa,
Cách fix:
Bạn ở file composer.json rồi add path đến folder chứa controller của bạn,
ví dụ: composer.json
“autoload”: {
“classmap”: [
“database”
],
“psr-4”: {
“App\”: “app/”,
“App\Http\Controllers\Backend\”: “app/Http/Controllers/Backend/”
},
“files”: [
“app/Helpers/Helper.php”
]
},
Mở console chạy composer dump-autoload để Laravel nạp thêm toàn bộ file .php có trong thư mục Backend của bạn.
Sau khi autoload chạy xong thì bạn vào file vendor\composer\autoload_psr4.php nếu thấy controller của bạn đã được nạp vào đó thì OK.
Bạn tìm hiểu chút về autoload để hiểu thêm nhé.
Hi Quy Le,
Bạn cũng nên đọc lại về class alias và autoloading.
Lỗi rõ ràng ra đấy rồi mà cứ hướng dẫn lung tung hết cả lên.
Cảm ơn bạn @it-4-life nhé, mình cũng sẽ đọc thêm về 2 thứ đó.
Trong trả lời mình cũng nói chỉ nghĩ vậy thôi, còn root cause thì có thể bạn đã nhận ra trước đó rồi nhỉ.
Welcome bạn!
Bạn đọc câu trả lời đầu của mình sẽ biết được chủ topic đang sai ở những chỗ nào.
Bonus: đã autoload namespace
App
vào thư mụcapp/
rồi thì không cần autoload namespace con vào thư mục con nữa (psr-4)@it-4-life Bạn good at laravel quá, cảm ơn bạn đã góp ý nhé. lần sau mình sẽ đọc câu trả lời ở trên trước.
Học cơ bản cho đàng hoàng cái đã. Hỏi câu gì mất căn bản quá, gặp ông khó tính chửi cho thúi đầu