Tìm hiểu về Framwork Laravel (P1)

I. Laravel là gì?

  • Laravel là một framework rõ ràng và ưu việt cho việc phát triển web PHP. Giải thoát bạn khỏi mã spaghetti, nó giúp bạn tạo ra những ứng dụng tuyệt vời, sử dụng syntax đơn giản. Phát triển là thích thú những trải nghiệm sáng tạo chứ không phải là sự khó chịu.

  • Laravel là một framework PHP 5.3 được miêu tả như ‘một framework cho web artisan’. Theo tác giả Taylor Otwell, Laravel mang lại niềm vui cho việc lập trình bởi nó đơn giản, súc tích và đặc biệt là trình bày hợp lý.

  • Laravel có 3 đặc tính nổi trội:

    • Đơn giản: các chức năng của Laravel rất dễ hiểu và thực hiện.
    • Ngắn gọn: hầu hết các chức năng của Laravel hoạt động liên tục với cấu hình rất nhỏ, dựa vào các quy tắc chuẩn để giảm bớt code-bloat
    • Trình bày hợp lý: hướng dẫn sử dụng Laravel rất đầy đủ và luôn cập nhật. Nhà lập trình, người tạo ra framework luôn cập nhật tài liệu trước khi cho ra một phiên bản mới, đảm bảo những người học lập trình luôn luôn có những tài liệu mới nhất.

Điều gì khiến Laravel trở nên khác biệt:

  • Bundles:_ là dành cho Laravel cũng như PEAR là cho PHP. Ngoài ra laravel đi kèm với công cụ command-line gọi là Artisan, giúp việc cài đặt các gói dễ dàng.
  • Eloquent ORM: là file thực thi PHP Active Record tiên tiến nhất hiện có.
  • Migrations:_ trog laravel, migrations được xây dựng trong framework, chúng có thể thực hiện thông quan Artisan command-line.
  • Unit-testing: laravel là 1 framework tuyệt vời để tích hợp PHP Unit.
  • Redis: Laravel hỗ trợ Redis rất ngắn gọn.

II. Cài đặt Laravel

III. Vòng đời của Laravel

  • Code là phải có lỗi, không có lỗi thì gọi gì là Coder. Để tìm được lỗi một cách nhanh chóng, trước hết chúng ta cần nắm được luồng xử lý của sự kiện. Đối với Laravel cũng vậy, bạn cần hiểu được luồng trong Laravel.

lifecycle

  • Vòng đời chuẩn là:

    • Yêu cầu HTTP từ Routed tới một Controller (routing nằm trong thư mục app/routes.php)
    • Controller sẽ thực hiện những action và gửi kết quả tới view (app/controllers)
    • View sẽ hiển thị những kiểu dữ liệu phù hợp và gửi lại HTTP Response (app/views)

    Chú ý:

    • Route có thể trả trực tiếp View hay Response, bỏ qua Controller
    • Filters (app/filters.php) có thể xảy ra trước hoặc sau route
  • Vòng đời của một yêu cầu được chia làm ba phần: Loading, start, running

Loading

Loading

Start

Start

Running

Running

IV. Cấu trúc thư mục của ứng dụng Laravel

Thư mục Mục đích
/app Chứa controller, model, views và assets của ứng dụng, là nơi chứa code chính của bạn
/public Lưu trữ file css, javascrip, images, và những file. Đồng thời nó chứa file khởi động index.php
/vendor Là nơi chứa toàn bộ code của bên thứ ba. Chứ plugin chúng ta cài thêm cho ứng dụng
/app/config/ Nơi chứa các file cấu hình khi chạy ứng dụng, csdl, session và nhiều thứ khác
/app/config/app.php Cấu hình mức cài đặt cảu ứng dụng ở khía cạnh khác như timezone, locale, mode debug và khóa mã hóa duy nhất.
/app/config/auth.php Drive xác thực
/app/config/cache.php Nếu ứng dụng của bạn có lưu cache thì thời gian hồi đáp ứng dụng nhanh hơn
/app/database/migrations/ Thư mục migration chứa những lớp PHP mà cho phép Laravel cập nhật Schema cơ sở dữ liệu của bạn mà vẫn giữ được toàn bộ versions cơ sở dữ liệu trong khi đồng bộ. Những file migration được tạo bởi tool Artisan.
/app/database/seeds/ Chứa những file PHP cho phép Artisan đưa vào bảng csdl với những dữ liệu được đề xuất
/app/models/ Chứa những file models của ứng dụng
/app/views/ Thư mục chứa những file HTML của bạn được sử dụng bở controller hay route.
/app/lang/ Mặc định thư mục này chứa những dòng ngôn ngữ cho việc phân trang và chứng thực form người dùng với ngôn ngữ là tiếng anh
/app/start/ Chứa những thiết lập tùy chỉnh liên quan đến tool Artisan cũng như context local và global.
/app/storage Thư mục storage được sử dụng để lưu trữ file tạm thời cho những dịch vụ Laravel khác nhau như session, cache, biên dịch template views. Thư mục này có thể ghi lại bởi web server. Thư mục này được duy trì bởi Laravel mà mình không cần can thiệp vào.
/app/routes.php Đây là file route trong ứng dụng của bạn, nó lưu trứ toàn bộ những route để thông báo với Laravel cách như thế nào để kết nối khi có yêu cầu, theo hàm khai sẵn, controller và action. Đây là file cũng chứa cách khai báo cho một vài sự kiện bao gồm trang lỗi, và nó được sử dụng để định nghĩa views composers.
/app/filter.php File này dùng để giới hạn một số khu vực không được truy cập của trang web.