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ạ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 aliasAdminController nhưng trong view bạn lại dùng Admin?

Method test() không phải method static, 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?

1 Like

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:

  1. 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”
    ]
    },

  2. 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.

  3. 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.

2 Likes

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!

:+1:
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ục app/ rồi thì không cần autoload namespace con vào thư mục con nữa (psr-4)

2 Likes

@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.

1 Like

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 :sweat:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?