20%

KHUYẾN MẠI

Giảm giá khi nâng cấp web năm 2021

Bài 1: Laravel là gì? Tại sao bạn nên sử dụng Laravel?

Học Laravel bài 1 - Cài đặt môi trường phát triển với Homestead

Khi bạn đang đọc những dòng này, có lẽ bạn đã từng nghe qua, biết đến Laravel ở đâu đó, nhưng vẫn còn mơ hồ và muốn tìm hiểu kỹ hơn. Vậy, laravel là gì? Tại sao mọi người lại sử dụng và ca ngợi nó nhiều như vậy? Và, quan trọng nhất, bạn có nên học nó hay không? Trong bài viết này, mình sẽ cùng bạn giải đáp những câu hỏi trên. Mong rằng sau khi đọc xong, bạn sẽ có một cái nhìn tổng quan và hứng thú với việc học.

Lưu ý một chút, với các thuật ngữ chuyên ngành, mình sẽ sử dụng tiếng Anh thay vì tiếng Việt. Vì sau này, khi bạn làm việc, phần lớn tài liệu bạn phải đọc sẽ là tiếng Anh. Và mình muốn giúp bạn cải thiện một phần nào đó tiếng Anh của bản thân nếu còn chưa tốt, sẽ có lợi rất nhiều cho bạn sau này. Còn giờ thì, let’s jump into the post.

Những ai NÊN học và ai KHÔNG NÊN học Laravel?

Đối với mình thì thời gian rất quý giá, nên mình muốn để nó đầu tiên để giúp những người KHÔNG NÊN học Laravel tiết kiệm được thời gian của họ. Nếu những dòng dưới đây của mình miêu tả đúng về bạn, bạn nên dừng đọc tiếp và rời khỏi trang này ngay lập tức để tránh mất thời gian vô ích.

Nếu bạn không phải lập trình viên, mà cũng không có ý định trở thành lập trình viên, ít kiến thức kỹ thuật, đang muốn tự tạo một website nhỏ để bán hàng, hoặc một blog cá nhân để làm MMO. Laravel KHÔNG dành cho bạn. Những gì Laravel tạo ra, là để hỗ trợ những lập trình viên thực thụ, chứ không phải dành cho những người tay ngang. Vậy nên, bạn có thể dừng đọc tiếp, và quay lại google, hãy tìm hiểu về các CMS như WordPress, Joomla, OpenCart,… Tóm lại là “CMS”, không phải “Framework”, “Library” hay “Package”.

Còn nếu bạn đang muốn trở thành một Web Developer PHP thực thụ, hoặc bạn đã là developer và “biết rõ” bạn đang học gì, nó giúp ích gì cho bản thân. Chúc mừng, series này là dành cho bạn.

Một số khái niệm cơ bản

Trong quá trình làm việc với Laravel, bạn sẽ gặp một số thứ mà bạn cảm thấy khá giống nhau. Vậy nên mình sẽ định nghĩa lại ở đây để bạn hiểu rõ hơn, tránh nhầm lần giữa chúng. Một phần cũng sẽ giúp bạn “làm màu” tốt hơn trong mắt bạn bè, đồng nghiệp ===))).

Library là gì?

Một Library thường là tập hợp các Class, method, hàm được định nghĩa từ trước. Lý do nó được sinh ra đơn giản chỉ là giúp bạn có thể sử dụng lại những classes, methods, functions đó để giải quyết những việc cụ thể. Ví dụ, bạn có thể sử dụng các function của jquery để code các chức năng mà bạn muốn. Nhưng bạn không bị giới hạn hay phụ thuộc gì vào nó cả.

Framework là gì?

Với Framework thì khác, nó là nơi tất cả các luồng hoạt động đã được định nghĩa từ trước. Và việc của bạn là phải viết code theo luồng hoạt động mà framework định nghĩa ra. Ví dụ, khi bạn code php thuần, bạn có thể tự đặt tên file, tự cấu trúc thư mục,… Nhưng khi sử dụng Laravel, bạn sẽ “nên” đặt những file Controller ở một chỗ được Laravel chỉ định, các Model ở một thư mục khác,…

Package là gì?

Package – gần giống với library, là các mã nguồn độc lập được viết ra để giải quyết một vấn đề chung nào đó. Nhưng thay vì phải copy các file, code để tích hợp vào dự án, các package có thể được import bởi package management tool(công cụ quản lý package). Sau khi import, bạn có thể sử dụng các chức năng có sẵn của package để phát triển dự án. Về cơ bản thì nó giống Library nhưng có cách quản lý riêng thay vì mình phải nhúng code và xử lý thủ công.

Sự khác nhau giữa Framework và Library

sự khác nhau giữa framework và library
sự khác nhau giữa framework và library

Để phân biệt rõ ràng giữa 2 khái niệm này, bạn cần biết đến một thứ gọi là “Inversion of Control”. Có nghĩa là, khi bạn sử dụng thư viện. Bạn khởi tạo các intance, sử dụng các method, hoặc các hàm ở bất cứ đâu bạn muốn. Thì bạn đang “Control (kiểm soát)” nó. Còn với framework thì ngược lại, bạn sẽ cần viết code ở đúng nơi mà framework đã định nghĩa từ trước. Mục đích là để giúp code có cấu trúc, dễ đọc, dễ phát triển hơn. Thì khi đó, Framework đang “Control” bạn.

Laravel là gì?

Laravel là một Opensource PHP Framework(Framework PHP mã ngồn mở) ra đời vào năm 2011, được phát triển bởi Taylor Otwell. Từ khi ra đời đến nay, nó đã trở thành framework PHP số một, được phần lớn PHP Developer lựa chọn để phát triển dự án.

Tại sao bạn nên học Laravel?

Khi mới học, có thể bạn sẽ nghĩ, tại sao code bằng PHP thuần cũng được, mà lại cứ thích dùng Laravel??? Vừa mất công học thêm cái mới, mà cái cũ cũng vẫn làm được. Vậy nên, mình sẽ liệt kê một số lợi ích ra đây để bạn thấy hứng thú với nó hơn trước khi bắt đầu.

Hỗ trợ lập trình theo mô hình MVC

Laravel tích hợp sẵn cấu trúc của mô hình MVC để các developer dễ dàng phát triển các chức năng của mình mà không cần lo đến việc cấu trúc thư mục code. Laravel đã quy định trước nơi đặt Controllers, Models, Views. Bạn chỉ việc viết code vào đúng những nơi quy định. Việc này sẽ giúp code dễ đọc, phát triển, maintain hơn.

Bảo mật tốt hơn

Tất nhiên, không có một framework nào đảm bảo được bạn sẽ được an toàn 100% cả. Nhưng nó sẽ giúp bạn giảm thiểu gặp những lỗi thông dụng, như xss, sql injection,… Nó giúp bạn tránh gặp những loại tấn công này bằng cách hướng bạn sử dụng các hàm của nó thay vì tự code. Các hàm này đã được xử lý giúp bạn tránh những lỗi thông dụng.

Cộng đồng lớn

Laravel có một cộng đồng cực kỳ lớn, do đó, gần như các vấn đề bạn gặp phải đều có những đã từng bị. Và bạn chỉ cần search Google là có thể tìm được giải pháp nhanh chóng. Hoặc nếu bạn muốn tìm người có kiến thức để hỏi thì cũng dễ hơn rất nhiều so với một framework ít người biết.

Hỗ trợ xử lý nhiều chức năng phức tạp

Nếu bạn đang đọc những dòng này, có lẽ bạn chưa từng phải làm một chức năng nào quá phức tạp, ví dụ như: xử lý zip file ngầm trên server và cho phép người dùng download file zip khi server hoàn thành. Hay lên lịch gửi email tự động hàng tuần,… Nếu là PHP thuần, nói thật, mình cũng chẳng biết làm như thế nào. Nhưng sử dụng Laravel thì có, nó hơi nâng cao, nhưng không quá phức tạp.

Còn rất nhiều nữa, nhưng đây là những lợi ích chính mà mình thấy được khi làm việc với Laravel. Hi vọng chừng đó đủ khiến bạn thấy hứng thú với nó.

Kiến thức cần thiết trước khi học

Tất nhiên, để cảm thụ được văn học thì trước hết bạn phải biết đọc chữ đã. Và laravel cũng vậy, để học được nó, bạn cần chuẩn bị một số kiến thức cơ bản sau:

  • PHP cơ bản
  • Lập trình hướng đối tượng trong PHP

Sản phẩm sau khi hoàn thành series này là gì?

Project Laravel cơ bản
Project Laravel cơ bản

Học gì thì cũng cần có thực hành thì mới khá lên được. Và trong series này, mình sẽ chỉ bạn cách sử dụng Laravel để tạo ra một blog. Nó sẽ có các chức năng CRUD (Create – Read – Update – Delete) cơ bản. Nghĩa là bạn có thể: thêm, sửa, xóa, list các bài viết ra ngoài. Có cả Comment, Categories. Cơ bản, đủ để bạn biết cách sử dụng Laravel.

Danh sách bài học

Trong series khóa học này, mình sẽ tổng hợp danh sách tất cả cả các bài viết tại đây. Khi bài nào được hoàn thành, mình sẽ dẫn link tương ứng của bài đó vào danh sách này. Nếu chưa hoàn thành, nó sẽ chỉ là text thông thường.

Kiến thức Laravel cơ bản

  • Bài 1: Laravel là gì? Tại sao bạn nên sử dụng Laravel?
  • Bài 2: Cài đặt môi trường phát triển nhanh chóng với Vagrant Homestead
  • Bài 3: Tạo ERD (Entity Relationship Diagram) và chuẩn bị một số thứ cần thiết cho dự án
  • Bài 4: Migrate trong Laravel
  • Bài 5: Seeder trong Laravel
  • Bài 6: Một số kiến thức cơ bản về HTTP bạn nên biết
  • Bài 7: Tìm hiểu về Route
  • Bài 8: Request trong Laravel
  • Bài 9: Response trong Laravel
  • Bài 10: Cùng mình tìm hiểu về mô hình MVC
  • Bài 11: Controller trong Laravel
  • Bài 12: Tiến hành tạo giao diện các trang cần thiết với View Blade
  • Bài 13: Query Builder là gì? Tại sao bạn nên lại sử dụng nó?
  • Bài 14: Model trong Laravel
  • Bài 15: Blade View trong Laravel
  • Bài 16: Xử lý file trong Laravel
  • Còn tiếp…

Kiến thức Laravel nâng cao

  • Bạn muốn tự viết một câu lệnh? Artisan Console sẽ giúp bạn làm điều đó
  • Broadcasting
  • Collections
  • Events
  • Tạo bất cứ chức năng gửi Mail nào bạn muốn
  • Notifications
  • Xử lý những tác vụ mất nhiều thời gian với Queues
  • Lên lịch tự động cho một công việc bất kỳ với Task Scheduling

Các bài viết không xem thì tiếc:

《Chia sẻ kiến thức này là người hào sảng》
---------------------------------------

Mình vừa đăng 1 video lên Youtube theo phong cách YOLO cách đây vài ngày trong lúc dịch COVID-19 vẫn kéo dài này.

Nếu có thời gian thì xem giúp mình có ổn không nhé? Bạn có thể nhận xét video trong Youtube cũng được nha!

LINK VIDEO: https://youtu.be/kQxUIpvplYc

Nếu bận thì lưu lại xem sau, mời bạn đọc bài khác

---------------------------------------

2 Comments

  1. Bài viết khá là khoa học, dễ dàng cho người mới bắt đầu học. Em bổ sung thêm 1 chút là "framework là một bộ khung làm việc", nó được tạo ra để rút ngắn thời gian phát triển dự án. Ví dụ trong mảng lập trình mobile thì đôi khi người ta gọi Android là một framework. Trong framework mình có thể sử dụng nhiều lib hay package, không có trường hợp ngược lại lib hay package chứa framework. Rất mong chờ những bài viết tiếp theo trong seri Laravel này của anh. Nếu phần nâng cao mà chia theo bài 1, 2, 3 và phần thi lấy chứng chỉ nữa thì càng tốt : ) Keep moving
    • Cảm ơn ông đã bổ sung, góp ý. Phần seri nâng cao tôi sẽ xem xét. Còn chứng chỉ thì sau khi tôi thi đỗ thì sẽ có một vài bài chia sẻ cho mọi người nhé :))

Thảo luận

This site uses Akismet to reduce spam. Learn how your comment data is processed.

 
 
 
 
Facetime iPhone

Main Menu