Php laravel là gì

Tương tự: Mã nguồn mở Laravel

Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC. Được tạo bởi Taylor Otwell, Laravel framework giúp đưa ra các sản phẩm chất lượng cao. Các code sẽ được giảm thiểu đi, nhưng vẫn đạt tiêu chuẩn ngành, giúp bạn tiết kiệm được hàng trăm giờ đồng hồ dành cho việc phát triển. Bản phát hành đầu tiên vào năm 2011.

Theo W3Techs, PHP được sử dụng cho 82% website, các tên tuổi lớn có thể kể đến như Flickr, Facebook, WordPress,...PHP là ngôn ngữ lập trình phía máy chủ tuyệt vời bởi vì nó cho phép bạn tập trung vào các nguyên tắc cơ bản chính, giúp bạn mở rộng bất cứ khi nào cần thiết, phát triển nhanh chóng dễ dàng hơn với các code dễ bảo trì.

Những lý do khiến Laravel trở nên rộng rãi:

  • Cú pháp dễ hiểu – rõ ràng
  • Hệ thống đóng gói modular và quản lý gói phụ thuộc
  • Nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ
  • Nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng.

Tính năng của Laravel

  • Composer: sử dụng để nâng cấp, cài đặt…

  • Eloquent ORM:  thao tác với cú pháp đẹp mắt và đơn giản.

  • Restful API: hỗ trợ biến Laravel thành một web service API.

  • Artisan: cung cấp các lệnh cần thiết để phát triển ứng dụng.

  • View: giúp code sạch sẽ hơn rất nhiều.

  • Migrations: hỗ trợ tạo các trường trong cơ sở dữ liệu, thêm các cột trong bảng, tạo mối quan hệ giữa các bảng, hỗ trợ quản lý cơ sở dữ liệu.

  • Authentication: cung cấp sẵn các tính năng đăng nhập, đăng ký, quên mật khẩu…

  • Unit Testing: hỗ trợ test lỗi để sửa chữa.

Ưu điểm của Laravel

Sử dụng các tính năng mới nhất của PHP

Một trong những tính năng làm cho PHP Lararel framework trở nên nổi bật hơn tất cả đó là nó sử dụng tất cả các tính năng mới của PHP. Các framework khác không tận dụng được điểu này.

Sử dụng Laravel 5 bạn sẽ sở hữu một số tính năng mới nhất mà PHP cung cấp, đặc biệt là trong Namespaces, Interfaces, Overloading, Anonymous functions và Shorter array syntax.

Đã có rất nhiều bộ CMS nổi bật được viết trên nền Laravel framework ra đời, từ những bộ CMS đơn giản nhất đến những bộ "siêu mạnh", từ mã nguồn mở đến thương mại.

Tài liệu tuyệt vời

Tài liệu của Laravel rất thân thiện với nhà phát triển. Tất cả các phiên bản của Laravel được phát hành cùng với các tài liệu phù hợp, bạn sẽ tìm thấy những giải thích chi tiết về coding style, methods và classes.

Tích hợp với dịch vụ mail

Các ứng dụng web bắt buộc phải thông báo cho người dùng về các deal và offer mới. Đăng ký người dùng mới cũng rất quan trọng [nghĩa là thông báo cho người dùng mới khi anh ấy/ cô ấy đăng ký].

Framework được trang bị API sạch trên thư viện SwiftMailer. Và có các driver cho SMTP, Mailgun, SparkPost, Mandrill, PHP's "mail" function, Amazon SES, và "sendmail" giúp bạn gửi thư qua các dịch vụ dựa trên đám mây hoặc dịch vụ local.

Hỗ trợ cache backend phổ biến

Laravel framework hỗ trợ các cache backend như Memcached và Redis out-of-the-box. Bạn cũng có thể tùy chỉnh nhiều cấu hình cache.

Công cụ tích hợp cho dòng lệnh - Artisan

Các nhà phát triển thường thấy tẻ nhạt khi thực hiện các nhiệm vụ lập trình lặp đi lặp lại vì chúng rất tốn thời gian. Công cụ dòng lệnh có tên Artisan giúp họ tạo khung code và quản lý hệ thống cơ sở dữ liệu hiệu quả. Artisan giúp tạo các tệp MVC cơ bản và quản lý tài sản, bao gồm cả các cấu hình tương ứng của chúng.

Gói và nguồn lực sẵn có

Bạn sẽ được hưởng lợi ích từ npm package và bower package bằng cách kết hợp framework với Gulp và elixir, giúp trong việc sửa đổi tài nguyên. Việc tích hợp này sẽ giải quyết các phụ thuộc và là nguồn gói đáng tin cậy nhất trong thế giới PHP.

Giảm chu kỳ phát triển sản phẩm

Bạn có thể giảm đáng kể chu kỳ phát triển sản phẩm vì framwork giúp tích hợp nhanh hơn, bên cạnh đó là cộng đồng hỗ trợ rất lớn - Laracasts.

Container IoC

Còn được gọi là Inversion of Control, đây là một phương thức để tạo các đối tượng mới mà không phải khởi động bất kỳ thư viện bên ngoài nào. Nói cách khác, bạn có thể truy cập các đối tượng này từ bất cứ nơi nào bạn đang mã hóa, bạn sẽ không còn gặp khó khăn với các cấu trúc nguyên khối không linh hoạt.

Reverse Routing

Đây là một tính năng rất hữu ích trong framwork, bạn có thể tạo liên kết đến các route được đặt tên. Vì vậy, khi tạo các liên kết, bạn chỉ cần sử dụng tên của bộ định tuyến, framework sẽ tự động chèn URL chính xác. Nếu bạn cần thay đổi các route trong tương lai, những thay đổi sẽ tự động được thực hiện ở mọi nơi.

Eloquent ORM

Đây là một trong những tính năng tốt nhất của Laravel, cung cấp một triển khai ActiveRecord đơn giản và hiệu quả, làm việc với cơ sở dữ liệu. Các mô hình bạn tạo trong MVC sẽ có một bảng tương ứng trong cơ sở dữ liệu. ORM có các mối quan hệ, nếu bạn thao tác một bảng trong cơ sở dữ liệu, bạn cũng sẽ quản lý các dữ liệu liên quan. Các mối quan hệ đó là: one-to-one, one-to-many, many-to-many, has-many-through, polymorphic, và many-to-many polymorphic.

Hạn chế của Laravel

Không hỗ trợ tính năng thanh toán

Sẽ không đáng lo ngại nếu bạn không tự mình quản lý các khoản thanh toán, bởi vì bạn sẽ phải tuân thủ các quy tắc tuân thủ PCI. Trì hoãn các dịch vụ như Stripe và Paypal sẽ giải quyết vấn đề đó.

Bạn cũng có thể thử bất kỳ trang web thương mại trực tuyến nào và xây dựng ứng dụng của mình trong kho template có sẵn, hoặc sử dụng các thư viện của Framework cho phép bạn tích hợp các phương thức thanh toán.

Tuy nhiên, hầu hết các nhà giao dịch điện tử nên được nhúng bộ xử lý thanh toán của bên thứ ba nhằm thuận tiện hơn.

Thiếu sự liên tục giữa các phiên bản

Không có chuyển đổi liền mạch từ Laravel 4 sang 5. Nếu cố cập nhật code, bạn có thể sẽ phá vỡ ứng dụng.

Chất lượng

Một số thành phần trong framework không được thiết kế tốt. Ví dụ, dependency injection đôi khi trở nên phức tạp không cần thiết. Các tài liệu khá nặng. Bạn phải học hỏi nhiều trước khi bắt đầu xây dựng các ứng dụng.

Do đó, đây không phải là một lựa chọn tốt cho các nhà phát triển nghiệp dư. Tuy nhiên, framework vẫn đang được cải thiện rất nhiều. Phiên bản 5 đã tốt hơn nhiều với số lượng sai sót cũng ít hơn.

Một số nâng cấp có thể có vấn đề

Đây không chỉ là vấn đề của Laravel mà là của các PHP framework. Vì vậy, các nhà phát triển nên có biện pháp phòng ngừa trước khi nâng cấp mobile application/website.

Thường không cung cấp sự phong phú cho ứng dụng di động

Việc tải lại toàn trang có thể hơi nặng trong các mobile app khi so sánh với các website. Trong những trường hợp như vậy, các nhà phát triển web có xu hướng chỉ sử dụng framework như backend JSON API.

Người đăng: hoy

Time: 2020-11-03 03:17:28

Chủ Đề