MVC Routes & Controllers | Mô hình MVC

Поділитися
Вставка
  • Опубліковано 9 лис 2024

КОМЕНТАРІ • 86

  • @hienlephanvinh9851
    @hienlephanvinh9851 2 роки тому +7

    Mình khuyên các bạn mới học lập trình nên xem lại series này nhiều lần. Mỗi lần xem lại hiểu thêm một chút.

  • @F8VNOfficial
    @F8VNOfficial  4 роки тому +16

    Video này chứa rất nhiều kiến thức. Các bạn hãy xem lại cho tới khi hiểu + note lại kiến thức cho chắc kiến thức.

  • @cetruonghai
    @cetruonghai 2 роки тому +2

    Dạy tận tâm thì F8 là nhất luôn rồi!! Xin cảm ơn nhiều...

  • @huynguyenluonggia6393
    @huynguyenluonggia6393 Рік тому +15

    Nhắc lại luồng trong mô hình MVC: browser sẽ gửi request đến web server thông qua http protocol, sau đó sẽ đến phần route để math cái path và xem method của request là gì?, hành động trên được xem như action và action này được dispatcher chuyển qua function handler(tách ra thành controller), sau đó controller sẽ tương tác với model và view và trả về web server, web server trả về browser thông qua response và browser sẽ dựa trên response này để hiển thị ra giao diện.
    Mong mọi người góp ý

    • @littleNing
      @littleNing Місяць тому

      t tưởng là mô hình client server ._.

  • @ngoclinhha2187
    @ngoclinhha2187 3 роки тому +4

    Nhiều cái cứ tưởng biết rồi mà nghe xong thấy hiểu rõ hơn hẳn. Cực kì hữu ích luôn

  • @quanphamanh957
    @quanphamanh957 3 роки тому +1

    Em cảm ơn anh ạ. Nhiều lúc em tìm hiểu MVC trên mạng cạc đọc nhiều càng lú mà bản thân không đủ chuyên môn để chọn lọc. Nhờ video anh mà em hiểu tường tận về mô hình này

  • @phapnguyen155
    @phapnguyen155 4 роки тому +7

    Hay lắm anh ơi, Em xem nhiều lắm thấy anh tổ chức code hay thật á!, Bài giảng này cũng khá là dễ hiểu luôn, chung quy là anh giảng được lắm luôn, Em chỉ vướng mấy cái chỗ tổ chức các file rồi require nó, nhìn thì dễ hiểu á, mà thuần thục thì rất căng, chắc tý em lại xem thêm 2 3 lần rồi thuần thục cách tổ chức code như này, Mãi ủng hộ anh Sơn!^^ 💖💖💖

  • @qaqeqe
    @qaqeqe 3 роки тому +3

    Hay quá anh. Cách xây dựng MVC của anh dễ hiểu.
    Em cảm ơn anh nhiều nha!

  • @SilverWindSs
    @SilverWindSs 3 роки тому +1

    :D Em đi làm được 1 năm rồi mà nhiều chỗ giờ em xem video của anh em mới hiểu rõ hơn, cảm ơn anh nhiều ạ.

  • @KienNguyen-sg1nf
    @KienNguyen-sg1nf 3 роки тому +1

    Chúc anh lúc nào cũng mạnh khoẻ ạ. Cộng đồng cần những người như anh ạ.

  • @spidoor
    @spidoor 3 роки тому

    thật sự rất dễ hiểu ạ, dù không phải xem là nhớ ngay nhưng cứ xem hết là hiểu

  • @caominhdev
    @caominhdev 4 роки тому +5

    anh dạy rất có tâm, ngày nào cũng vào hóng video của a :(

  • @PrinceIvan92
    @PrinceIvan92 3 роки тому +2

    33:17 Nghe câu "khá là dễ thôi" của anh mà gớt nước mắt :((

  • @nguyentuantrieu8036
    @nguyentuantrieu8036 4 роки тому +2

    Mr Son awesome... F8 share is the best... F8

  • @beginerdev
    @beginerdev 4 роки тому +1

    Hay quá. Hóng video của ad qua

  • @coder197
    @coder197 4 роки тому +1

    em thấy a tổ chức code rất dễ hiểu. cảm ơn anh ạ. chúc anh mạnh khỏe

    • @F8VNOfficial
      @F8VNOfficial  4 роки тому +1

      Khi là người mới có thể một số bạn sẽ thấy hơi rối. Nhưng anh tổ chức theo cách làm một project thật sự. Cuối khóa anh sẽ refactor lại rõ ràng hơn nữa nhé.
      Cảm ơn em!

  • @vandungnguyen1087
    @vandungnguyen1087 4 роки тому

    Anh ra video chăm chỉ quá, ngàn like cho anh.

  • @dinhvanchuong5956
    @dinhvanchuong5956 3 роки тому

    anh giải thích rất dễ hiểu và chi tiết!

  • @ledinhthai69
    @ledinhthai69 2 роки тому

    Hay quá. Cảm ơn

  • @diepbuithingoc4121
    @diepbuithingoc4121 Рік тому

    đã hiểu về mô hình rồi ạ

  • @mthuong1220
    @mthuong1220 5 місяців тому +1

    41:28 Ôn tập

  • @quynguyenkha9042
    @quynguyenkha9042 4 роки тому

    Thề ko bỏ 1 video nào kể cả đi làm r vẫn thích series của anh Sơn :3 từ đợt ở kênh sayakota

  • @kenshin1859
    @kenshin1859 2 роки тому

    Hay quá a ơi, lâu lâu xem lại vẫn thấy hay :v

  • @tanat3862
    @tanat3862 2 роки тому

    Bài này hay thực sự nhưng nên nghe lại vài lần

  • @nguyenduyanhquoc3801
    @nguyenduyanhquoc3801 3 роки тому

    Cảm ơn anh rất nhiều ạ

  • @tranthienphuc8543
    @tranthienphuc8543 4 місяці тому

    em xem clip của a xong xem thử một kênh khác dạy nodejs, họ lại viết toàn function trong controller xong exports mấy cái func đó ra chứ ko viết theo cấu trúc class. Chẳng biết hiện giờ bên ngoài các cty họ viết chuẩn theo cách nào nữa hoặc là học cả hai sẽ là tốt hơn.

    • @F8VNOfficial
      @F8VNOfficial  4 місяці тому

      Viết theo function phổ biến hơn nha em. Không cần thiết phải viết thành class. Trong JS nó là prototype base, cú pháp class bản chất vẫn là object prototype thôi em nhé.

  • @nghiangoquang
    @nghiangoquang 2 роки тому +1

    Video này cách lúc e comment cũng 1 năm rồi. Em thấy xử lý route của anh hơi phức tạp :). Phần index.js chỉ cần dùng app.use('/', rootRoutes), còn rootRoutes thì định nghĩa như sau:
    const rootRoutes = express.Router()
    rootRoutes.[get/post/put/delete]('path', controller)
    ...
    Nếu chia ra nhiều model thì:
    rootRoutes.use('/user', userController)
    rootRoutes.use('/item', itemController)
    ...
    Với userController...là instance của Router
    Nhìn nó sẽ phân tầng hơn :)

  • @lenhac9040
    @lenhac9040 3 роки тому

    Bài này phải xem vài lần mới hiểu nổi

  • @tuannguyenhuu964
    @tuannguyenhuu964 2 роки тому +1

    bài này đúng kiểu phải xem đi xem lại xem lên xem xuống

  • @phamnhot6304
    @phamnhot6304 Рік тому

    14:50 nói cái hiểu ngay sếp à

  • @xuantuongbui8292
    @xuantuongbui8292 4 роки тому

    Dạy thêm git nữa thì tốt quá a ạ

  • @tranxuantien1495
    @tranxuantien1495 Рік тому +1

    cái chỗ routes ở trang news lúc chưa tạo ra hàm show á anh thì em có nhập thêm ở trên param từ khác nhưng nó trả về là cannot get /news/abc chứ nó k có trả lại em trang news và khi em thêm router có slug vào thì nó trả em hẳng news detail luôn dù em chưa nhập thêm param sau news/

  • @hieunguyen4816
    @hieunguyen4816 3 роки тому

    lú luôn

  • @duduofficial18
    @duduofficial18 Рік тому

    cho em hỏi là nếu sử dụng .use thì nó sẽ làm sao phân biệt được GET hay POST, ... ạ

  • @havandung8301
    @havandung8301 3 роки тому

    dùng cái Express application generator có ổn không a nhỉ ?

  • @chikhangtran9373
    @chikhangtran9373 3 роки тому +1

    a cho em hỏi là dùng app.use () hay router.use() thì làm sao biết được nó nhận phương thức Get hay Post ạ?

    • @hoaitole4732
      @hoaitole4732 3 роки тому

      Trong route của từng phần thì thay use bằng post hay get là được

  • @bachhoangofficial2981
    @bachhoangofficial2981 Рік тому

    vậy là trong thực tế khi code node js cũng phải tạo thủ công cấu trúc thư mục như kia à anh

    • @hoanglt126
      @hoanglt126 7 місяців тому

      Lưu sẵn cấu trúc v mà băm thôi

  • @TheycallmeNhat
    @TheycallmeNhat 11 місяців тому

    1:57AM 16/12/2023

  • @luffytheking4712
    @luffytheking4712 2 роки тому

    GOOD

  • @lenhac9040
    @lenhac9040 3 роки тому

    Vậy phương thức post mình viết bên controller kiểu gì ạ

  • @hoanglt126
    @hoanglt126 7 місяців тому

    NÀy cs link github k a

  • @hoang7166
    @hoang7166 3 роки тому

    A ơi, thành phần dispatcher trong mô hình này
    Có tác dụng tương đương với câu lệnh dưới đây của php ko?
    file_exist($path);

  • @duynguyenphan6145
    @duynguyenphan6145 Рік тому

    trong khóa này có restfullAPI ko nhỉ :(

  • @trungthinh
    @trungthinh 3 роки тому

    tại sao controller phải đưa method vào class vậy anh ?
    e thấy nó static mà sao k export nó ra nhu function bth luon ?

  • @juhandvan
    @juhandvan 4 роки тому

    Anh ơi, a share link repo trên github vào phần mô tả được không ạ

  • @nguyenvantien2103
    @nguyenvantien2103 4 роки тому

    Anh cho em hỏi phần ":slug" anh tạo đường dẫn cho nó là "/:slug" nhưng khi anh gõ trên google là "/hoc-ve-nodejs" thì nó vẫn matches, em có thử tạo ra 2 cái là :slug1 và :slug2 thì khi em gõ trên google thì dù em gõ đường dẫn là gì thì nó vẫn matches vào cái thứ nhất, anh có thể giải thích cho em vấn đề đó dc không em tìm trên expressjs.com nhưng không thấy và khi người ta muốn tạo nhiều đường dẫn như thế ví dụ như /course/html, /course/css, /course/js thì phải làm saoa ạ

  • @kienvuvan3714
    @kienvuvan3714 Рік тому +1

    có ai bị lỗi chổ slug ko?, mình kiểm tra lại mấy lần rồi ...dù có truyền hay ko truyền, tham số "slug" trên URL nhưng nó vẫn chạy vào action trên cùng trong folder routes .Ver node 16.

  • @nguyenvanthanh845
    @nguyenvanthanh845 4 роки тому

    from with love ICTU

  • @doannguyen9883
    @doannguyen9883 4 роки тому

    xem lại lần 3

  • @SatLinh0901
    @SatLinh0901 2 роки тому +1

    40:38 sao :slug mà chuyển qua kia chỉ/search v mn, ko có :

  • @tungbuivan6113
    @tungbuivan6113 2 роки тому

    Mn cho em hỏi chút ạ.
    Trong bài em thấy anh Sơn export an instance mà không export class.
    Theo em tìm hiểu thì là nếu export class thì sẽ không lấy được nội dung bên trong của class khi import sang file khác. Phải export an instance (object) mới lấy được nội dung bên trong.
    Vậy tại sao react class component lại export class mà không cần export an instance ạ?

    • @RinkaMizuki
      @RinkaMizuki Рік тому

      Export 1 class thì muốn có 1 instance hay gọi là object thì phải khai báo với keyword new nhé vẫn đc chứ sao k lấy đc ND bên trong

  • @manhhoach2575
    @manhhoach2575 3 роки тому

    anh ơi lúc commit code: dùng 2 dòng git add vs git commit thì file code trên github vẫn thế, phải ghi thêm git push nữa chứ anh?

    • @F8VNOfficial
      @F8VNOfficial  3 роки тому +1

      À anh comment theo từng task anh làm thôi. Còn push thì đương nhiên rồi, anh sẽ push lên khi cảm thấy cần thiết. Còn khóa này ko học về git nên anh ko có focus đề cập tới git nha em.

  • @uctranngoc8420
    @uctranngoc8420 3 роки тому

    extension anh dùng để dịch trực tiếp là gì vậy anh

    • @huyphantien9114
      @huyphantien9114 3 роки тому

      Ơ kìa người anh em:))

    • @uctranngoc8420
      @uctranngoc8420 3 роки тому

      @@huyphantien9114 =)) ae mình cùng chí hướng thật =)) đúng là hảo huynh đệ

    • @khanhnguyennhu8072
      @khanhnguyennhu8072 2 роки тому

      @@uctranngoc8420 đoán xem có ai ở đây nữa

  • @ShaloMArtist
    @ShaloMArtist 3 роки тому

    phim tat copy file la ntn anh son nhi

  • @free2idol1
    @free2idol1 2 роки тому +1

    32:58 sao chỗ này gọi newsController.index mà ko phải là newsController.index(req,res) vậy mọi người?

    • @vantai0703
      @vantai0703 2 місяці тому

      Vì cái NewsControllers kia đã xử lý phần req, res rồi. Nên khi truyền vào đó thì chỉ cần gọi lại NewsControllers + với cái index của NewsControllers

  • @marcus4938
    @marcus4938 3 роки тому

    MN cho em hỏi app.listien(port) createServer(...).listien(port) có gì khác nhau với ạ?

  • @duyvan4975
    @duyvan4975 3 роки тому

    viết mấy cái route thôi mà mệt thật sự, bên laravel nó tự làm hết luôn

  • @dangtran9405
    @dangtran9405 4 роки тому +1

    Ad ơi, ad thử làm 1 dạng video code full từ front end to back end 1 trang web đầy đủ tính năng login, form, ... dc ko ạ . Tks ad ạ.

    • @F8VNOfficial
      @F8VNOfficial  4 роки тому +2

      Gần đây hot video kiểu này hay sao ý nhỉ?

    • @sonao5412
      @sonao5412 4 роки тому

      @@F8VNOfficial a lam nhu vay thi tot qua a.

  • @thanhlong4636
    @thanhlong4636 3 роки тому

    đoạn 31 đến 32 rối vãi ra mà a còn đi nhanh

    • @cathome3518
      @cathome3518 3 роки тому

      có nút tua chậm mà bạn

  • @hoangang-ly3rc
    @hoangang-ly3rc 6 місяців тому

    mn có git phần này không , cho mình xin với ạ

  • @thaingogia5204
    @thaingogia5204 3 роки тому +2

    có ai bị lỗi làm như a sơn mà phần search nó không chạy không ạ

    • @cathome3518
      @cathome3518 3 роки тому

      bạn xem lại chỗ index.js trong routes. trong function chỉ có 2 dòng này thôi app.use('/news', newsRouter)
      app.use('/', siteRouter) . nếu thêm app.use('/search', newsRouter) nữa thì là bị lỗi đó

    • @lynchiuz422
      @lynchiuz422 3 роки тому +1

      @@cathome3518 bạn ơi, mình cũng lỗi, ko ra trang news nữa

    • @_oLuongHuan
      @_oLuongHuan Рік тому

      because it violates the following Content Security Policy directive: "default-src 'none'". Note that 'font-src' was not explicitly set, so 'default-src' is used as a fallback.
      báo lỗi vi trình duyệt ai biết sửa k ạ :((

  • @HarryMrNhan
    @HarryMrNhan 2 роки тому

    Mình làm theo tới đoạn function route(app) thì lỗi app.use('/news', newsRouter); , ai giúp mình với

    • @NguyenVinhQuang277
      @NguyenVinhQuang277 11 місяців тому

      ở chỗ const router khai báo = express.Router(); là dc

  • @tuannguyenthai
    @tuannguyenthai 4 роки тому

  • @phucnguyentrong1518
    @phucnguyentrong1518 3 роки тому