Cài đặt Laravel 5 trên Ubuntu và giới thiệu mô hình MVC trong Laravel

A. Cài đặt Laravel 5 trên Ubuntu

1. Giới thiệu

Laravel là một PHP Framework. Nó giảm bớt các tác vụ thường gặp của các trang web như authentication, routing, sessions, và caching. Nó ra đời vào tháng 04/2011, có lẽ là khá mới mẻ, nhưng cũng chính vì ra đời muộn màng như thế đã buộc nó phải học hỏi cái hay từ các PHP Framework đàn anh đi trước. Không những là các PHP Framework, nó còn học cái hay từ Ruby on Rails, ASP.NET MVC, và Sinatra.

Theo trang Sitepoint thu thập thông tin và đánh giá vào khoảng tháng 03/2015 thì Laravel hiện đang là FW phổ biến nhất.

Laravel PHP Framework

Laravel PHP Framewor

 

2. Yêu cầu hệ thống

Trước tiên khi cài đặt Laravel, bạn cần phải đảm bảo rằng Apache, PHP, MySQL đã được cài đặt. Framework Lavarel 5.1 có một vài yêu cầu về hệ thống cụ thể như sau.

  • PHP >= 5.5.9
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension

3. Cài đặt Laravel

a, Mở terminal, di chuyển đến thư mục html

b, Cài đặt Laravel vào thư mục demo-laravel với dòng lệnh

Cài đặt Laravel 5 và giới thiệu mô hình MVC trong Laravel

Cài đặt Laravel 5 và giới thiệu mô hình MVC trong Laravel

c, Sau khi cài xong, bạn cần xét quyền có thể đọc/ghi cho 2 folder storage và  bootstrap/cache bằng dòng lệnh

d, sau khi cấp quyền cho 2 thư mục trên xong, bạn truy cập vào địa chỉ localhost/demo-laravel/public sẽ nhìn thấy dòng chữ Laravel 5. Như vậy là quá trình cài đặt FW Laravel đã hoàn thành.

laravel 5

laravel 5

B. Giới thiệu mô hình MVC trong Laravel.

Mô hình MVC trong Laravel

Mô hình MVC trong Laravel

Như bạn nhìn thấy ở hình trên, có thể thấy luồng đi của Laravel:

- Người dùng sử dụng trình duyệt web để truy cập vào địa chỉ website.
– Router sẽ phân tích xem đường dẫn truy cập đến Controller nào.
– Controller sẽ truy cập vào Model để lấy dữ liệu từ Database, sau đó trả về Controller.
– Controller đổ dữ liệu đó ra view cho người dùng.

1. Router: Nhiệm vụ chính của Router là định tuyến đến những controller cụ thể nào từ phía request của người sử dụng. (file routes của Laravel nằm ở thư mục app/Http).

router

Router Laravel

Trong đó thì:

+ URI Dạng link trên url
+ Function: Hàm sẽ gọi tới khi link URI phía trên được chạy,đây chính là nơi các bạn có thể xử lý dữ liệu
+ method chính là các dạng phương thức như cơ bản: post, get, put, delete, any.

Với post: dành cho các thao tác lấy từ form như thêm record.
Với get: dành cho các thao tác truy cập thông thường tương đương với request cơ bản trong PHP.
Với put: dành cho thao tác lấy từ form nhưng là cập nhật record.
Với delete: dành cho các thao tác thực thi hành động xóa bỏ.
Với any: là sự tổng hợp của các thao tác ở trên.
Tuy là có 5 method nhưng chúng ta chỉ quan tâm đến 2 method chính là get và post.

2. Controller: Mỗi controller là một file nằm tại thư mục app/Http/Controller (UserController.php, ProductController.php…)

Controller Laravel

Controller Laravel

 3. Model: Mỗi một model là một file nằm trong thư mục app (User.php, Product.php ..)

Model Laravel

Model Laravel

4. View: Mỗi view là một folder gồm nhiều file (list.blade.php; create.blade.php) nằm tại địa chỉ resources/views.

View Laravel 5

View Laravel 5

Như vậy, đến đây bạn đã có thể thực hiểu được luồng đi và một vài thông tin cơ bản về mô hình MVC trong Laravel. Để có thể hiểu và tiếp cận hơn, trong bài viết sau Phpcoban sẽ giới thiệu bài viết hướng dẫn thực hành chức năng cơ bản thêm, sửa, xóa, hiển thị danh sách User.

You may also like...

3 Responses

  1. hung says:

    Bài viết rất cơ bản trong sáng dễ hiểu !

  1. July 27, 2015

    […] Trong bài viết trước, mình đã giới thiệu với các bạn một vài thông tin cơ bản về Framwork Laravel và luồng đi dữ liệu của Laravel. […]

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">