Laravel, Laravel cơ bản

[Laravel][Bài 2] Giới thiệu về Laravel Framework

Vì sao chọn laravel Framework?

Như ở bài 1 mình đã giới thiệu cho các bạn về khái niệm framework trong PHP cũng như các lợi ích mà Framework mang lại. Mình cũng nói qua một số framework phổ biến của PHP hiện nay. Trong seri bài viết này mình sẽ hướng dẫn các bạn làm việc với Laravel Framework. Mình xin đưa ra một số lý do chọn Laravel để hướng dẫn cho các bạn:

  • Hiện nay cộng đồng của lập trình viên sử dụng và đóng góp cho Laravel rất nhiều, nó gần như là 1 framework được sử dụng nhiều là rộng rãi nhất hiện nay, vì vậy chúng ta sẽ luôn được hỗ trợ và sử dụng các phiên bản mới.
  • Laravel được xây dựng lên từ rất nhiều các thư viện nổi tiếng nhất của PHP hiện nay vì vậy nó sẽ cung cấp cho chúng ta rất nhiều tính năng để giúp dự án được phát triển nhanh hơn.
  • Hầu hết các công ty phần mềm hiện nay đều sử dụng Laravel như một framework chính để phát triển các dự án cho công ty mình, vì vậy nhu cầu tuyển dụng lập trình viên PHP Laravel ngày càng nhiều.
  • Một điểm mình rất thích ở Laravel đó à khả năng chuẩn hoá về tên biến, tên hàm, cũng như các tiếp cận của laravel rất dễ cho một người mới tiếp xúc
  • Laravel sử dụng các tính năng mới của PHP như NameSpace, Interfaces, Anonymous Function, Overloading, Shoter array syntax..
  • ….

Các tính năng chính của Laravel Framework:

 

Laravel được viết trên môn hình MVC (Model, View, Controller), khái quát về mô hình MVC minh sẽ có một bài viết để nói rõ hơn về mô hình này. Laravel có rất nhiều tính năng nhưng trong giới hạn bài viết này mình sẽ nêu ra một số tính năng chính.

  • Modularity: Như mình đã giới thiệu, laravel được xây dựng từ hơn 20 thư viện nổi tiếp của PHP hiện nay, và trong bản thân nó cũng được chia modul một cách rất rõ ràng và khoa học, với những dự án lớn Laravel hỗ trợ chúng ta chia dự án ra làm những modul nhỏ giúp dự án được quản lí dễ dàng hơn.
  • Testability: Đôi với một lập trình viên hiện nay, code sản phẩm chạy được vẫn là chưa đủ, chúng ta phải thực hiện test trên từng dòng code của mình và đảm bảo nó chạy đúng như logic và code của mình code sẽ không ảnh hưởng đến những phần khác. Đừng lo nhé, Laravel hỗ trợ các bạn rất tốt trong việc này, khi đến bài về test mình sẽ nói kĩ hơn.
  • Routing: Laravel cung cấp cho chúng ta cách khai báo một route trong dự án cực kì đơn giản và mềm dẻo, với các phương thức như GET, POST, PUT, DELETE..
  • Configuration Management: Một dự án khi chúng ta phát triển thường nó sẽ được chạy ở nhiều môi trường khác nhau như Local ( máy tính làm việc), server test, server staging, server production … với những môi trường khác nhau thì các thông số config sẽ khác nhau, một ví dụ điển hình nhất là thông số về database. Laravel cho phép chúng ta làm việc này rất dễ dàng bằng việc tạo ra 1 file .env (Environment) để chúng ta cấu hình các thông số lên trên đó.
  • QueryBuilder and ORM: Đây là 2 tính năng cực kì quan trọng trong laravel, nó cho phép chúng ta làm việc với CSDL một cách dễ dàng, cung cấp các câu truy vấn ngắn gọn để lấy dự liệu. Nó làm việc được với nhiều cơ sở dự liệu khác nhau như PostgreSQL, SQLite, Mysql and SQL Server.
  • Schema builder, migration and seeding: Đây là các tính năng cho phép các bạn định nghĩa cấu trúc database trong code khi làm việc với Laravel, các bạn có thể tạo table, xoá table, tạo cột, xoá cột..mọi thao tác đều được thực hiện trên code và được quản lý rất khoa học. Tính năng Seeding cung cấp cho chúng ta tạo ra các dữ liệu mẫu trong database.
  • Template Engine: Laravel sử dụng Blade cho phần view của mình, với Blade chúng ta có thể show dữ liệu và khai báo các câu điều khiển ở trên view một cách dễ dàng.
  • E-Mailing: Laravel cung cấp cho chúng ta thư viện để có thể gủi email trong dự án, hầu như tính năng này đểu có ở tất cả các dự án, Ngoài ra nó cũng hỗ trợ chúng ta làm việc với các mail service như SendGrid, Mailgun and Mandrill.
  • Authentication: Đây là một tính năng hầu như bắt buộc phải có ở tất cả các dự án, Laravel đã cung cấp sẵn cho chúng ta toàn bộ các tính năng liên quan đến authentication như login, logout, register, forgot password..chúng ta chỉ việc sử dụng mà không cần phải làm lại các tính năng này.
  • Redis: Đây là phương thức cache dữ liệu giúp cho website chúng ta chạy nhanh hơn và ít truy vấn vào Database hơn, mình sẽ có một bài viết nói sâu hơn về tính năng này.
  • Event and command bus: Tính năng cho phép chúng ta bắt các sự kiện xảy ra trong ứng dụng của mình.
  • Queues: Laravel tương thích với nhiều dịch vụ queues như Amazon SQS, Beanstalkd and IronMQ.

Ngoài ra còn rất nhiều tính năng hay trong laravel mà chúng ta sẽ được khám phá khi làm việc với nó.

Như vậy mình đã nói cho các bạn hiểu lí do vì sao chọn Laravel để phát triển dự án, và các tính năng chính của nó. Trong bài viết tới mình sẽ hướng dẫn cho các bạn cách cài đặt và chạy một ứng dụng laravel trên máy tính.

Cảm ơn các bạn đã theo dõi bài viết, hẹn gặp lại các bạn ở bài viết sau.

Spread the love

Leave a Reply

Your email address will not be published. Required fields are marked *