Hướng dẫn cài đặt Laravel 5 trên Mac OSX 10.10

Xin chào các bạn. Sau đây mình sẽ hướng dẫn cho các bạn cách cài đặt Laravel 5 trên hệ điều hành Mac OS X (Ở đây mình đang xài bản Mac Os X 10.10)

Laravel yêu cầu bản php lớn hơn 5.5.9

Tốt nhất các bạn nên vào trang chủ của XAMPP và Download hoặc Update bản mới nhất về

Trang chủ download Xampp: https://www.apachefriends.org/download.html

SAU ĐÂY LÀ CÁC BƯỚC CÀI ĐẶT LARAVEL 5

Đầu tiêu mình bật Terminal ra lên (CMD bên windows)

Vào Launchpad -> Other ->  Terminal

Ở đây mình xài XAMPP

phainv01

Trước hết các bạn phải cài Composer . Trang chủ : https://getcomposer.org

Các bạn vào Terminal gõ lệnh này :

Sau sẽ tự download cho mình file Composer.phar thay vì lên trang chủ download thủ công

phainv02

Sau đó các bạn gõ ở Ter

Nếu bạn nào xài bản Mac OSX 10.9 trở xuống thì bạn phải chạy dòng lệnh Ter này để chuyển file Composer.phar vào thư mục để cài đặt

Còn bạn nào sử dụng bản MacOSX 10.10 + thì bỏ qua bước này. Hoặc là bạn có thể tạo thủ công các thư mục này trong Application /usr/local/bin/composer . Còn không thì ta có thể cài đặt trực tiếp ở file htdocs

Sau đó chạy dòng lệnh này để cài đặt Composer :

phainv03

Kết thúc cài đặt COmposer

Các bạn có thể dùng lệnh clear ở Ter để xóa các kết quả hiển thị

DOWNLOAD SOURCE LARAVEL 5

Sau đó các bạn dùng lệnh này

Cái lệnh này nhằm update lại thư viện

phainv04

Vì mình đã Update rồi nên ko còn gì để Update :D

Dùng lệnh tạo Project mới

Các bạn chạy dòng lệnh này ở Ter để trỏ vào thư mục gốc cần tạo. ở đây mình CD vào htdocs

Kiểm tra mình đang ở thư mục nào thì gõ ls ở ter để xem

phainv05

Sau đó tiến hành download source về bằng Ter thay vì download source thủ công ở Github

Sau đó sẽ tự download về thư mục htdocs

Sau khi thông báo ntn là thành công

phainv06

phainv07

Các bạn vào thư mục htdocs sẽ thấy 1 thư mục mới tên là laravel

Các bạn truy cập vào :http://localhost/laravel/public/ và xem kết quả

Thật tuyệt vời là ko hiển thị gì cả :D

phainv08

Bởi vì Mac OS nó rất phân biệt quyền hạn vậy nên các bạn phải set quyền cho 2 folder đó là storage bootstrap

Để phân quyền các bạn vào Ter cd tới thư mục laravel bằng cách

“MẸO : các bạn chỉ cần gõ 2 từ đầu của thư mục rồi ấn TAB là nó tự điền cho mình. Tránh trường hợp gõ sai tên thư mục ví dụ : cd /Ap sau đó ấn TAB là nó sẽ điền cho các bạn các từ còn lại :D

Các bạn dùng lênh ls để kiểm tra list folder có trong thư mục sẽ thấy thư mục bootstrap và storage

phainv09

Bạn gõ tiếp câu lệnh

Gõ tiếp lệnh

Tiếp theo tương tự set full quyền cho thư mục storage

Trở lại thư mục laravel bằng lệnh cd –

tiếp đó gõ lệnh

tiếp tục dùng lệnh cho thư mục storage

Các bạn có thể set quyền từ lúc cd /Application/XAMPP/htdocs/laravel và set full quyền cho thư mục laravel

rồi

ntn cũng được nhưng website của bạn sẽ không được an toàn :D

Quay lại trình duyệt và tải lại trang

Xuất hiện chữ Laravel 5 to đùng giữa màn hình là được :D

phainv10

Quá trình cài đặt Laravel thành công

HƯỚNG DẪN THÊM SỬA XÓA BẰNG LARAVEL

Sau đây mình sẽ giới thiệu cấu trúc thư mục ở Laravel và demo cho các bạn cách Hiển thị , Thêm , Sủa , Xóa  cơ bản

Cấu trúc thư mục Laravel

phainv11

Các bạn sẽ thấy folder Controllers trong Laravel 5 sẽ nằm trong thư mục Http cùng cấp với file routes.php

Routes, Controllers, View trong Laravel 5

Router : Định nghĩa mối quan hệ giữa các đường dẫn (url), các liên kết (link) . Khi một liên kết được tạo ra bằng cách sử dụng tên của routes, thì một định danh liên kết thống nhất sẽ được tạo ra bởi laravel.

Nói nôm na ở đây chúng ta có thể hiểu đơn giản thì routes chính là 1 cách để bạn viết lại đường dẫn của ứng dụng (giống như htaccess trong các website truyền thống) và laravel có thể hiểu được cách viết này và sử dụng nó để gọi các đối tượng, phương thức cần thiết.

Routes trong laravel được quy định trong file app -> Http -> routes.php

Views:

Views chứa các mã html dùng để hiển thị nội dung được chỉ định bởi Controllers, vị trí của View trong ứng dụng Laravel là  resources/views

Mình chỉ nói sơ qua thôi. Các bạn có thể lên mạng tìm rất nhều tài liệu về laravel

Và mình sẽ đi thẳng vào vấn đề luôn

Để tương tác với cơ sở dữ liệu thì mình sẽ có 2 cách

Cách 1 là config ở file database.php

config/database.php

Cách 2 là config ở file .env ở thư mục root (Tức là ngoài cùng); <= Nên dùng cách này

Ở đây mình chỉ quan tâm tới thông số những cái này

Còn mấy cái kia sẽ tìm hiểu sau :D

phainv12

Chúng ta vào phpmyadmin tạo 1 Database tên là demo

Ở laravel chúng ta sẽ tạo bảng bằng Migrations

Các bạn có thể tìm hiểu ở link sau : http://laravel.com/docs/5.1/migrations

Ở đây mình sẽ demo bảng Role (Vì nó có ít trường cho nhanh :D)

Sau đó bạn vào thư mục Database/Migrations sẽ thấy 1 file được tạo

Click vào đó để tạo các trường trong bảng

cú pháp:

và ta sẽ thêm 2 trường là Create_atupdate_at và kiểu dữ liệu để là timestamp

Ví dụ :

phainv13

Sau khi save lại. Chúng ta sử dung Ter để tạo bảng bằng câu lệnh sau

Lúc này tất cả các bảng mình khai báo trong file migrate sẽ được tạo ra

THỰC HIỆN

Các bạn tìm hiểu cách sử dụng template rồi áp dụng vào bài này nhé

TẠO MỚI FILE MODEL VÀ CONTROLLER

Cũng như MVC thông thường. Chúng ta cần tạo 2 file đó là ControllerModel bằng cách

Đầu tiên ta sẽ cd vào thư mục. Như mình đã hướng dẫn bên trên

cd /Application/XAMPP/htdocs/laravel

Sau đó chạy các dòng lệnh dưới

Ta tạo 1 file Controller có tên là RoleController bằng cách

Ta tạo 1 file Model có tên là Role.php bằng cách

Sau khi chạy dòng lệnh nó sẽ thông báo thêm thành công

phainv14

Ta kiểm tra trong thư mục Controller sẽ thấy 1 file mới được tạo

Mở ra ta sẽ thấy 1 file có cấu trúc đầy đủ

Rất thuận tiện mà sẽ không bao giờ bị sai cấu trúc

phainv15

THÊM MỚI ROLE

Ơ file Role.php ở Model ta phải khai báo bảng bằng cách sau

Sau đó qua file Route.php khai báo các route và function của nó

Route gọi đến function thông qua ký tự @

Route

Khai báo route gọi đến function create

GET URL = admin/role/create sẽ gọi tới function create trong file RoleController.php

phainv16

Controller

Ở đây route sẽ chuyển đến function được khai báo phía sau dấu @

Và function này có nhiệm vụ gọi đến view hiển thị FORM HTML để người dùng nhập vào

phainv17

VIEW

Tạo 1 form html để nhập dữ liệu vào

Ở dưới thẻ mở của FORM bạn nhớ thêm 1 trường INPUT như sau

phainv18

Và Đây là giao diện FORM

Và để action là admin/role/create và method POST

phainv19

THÊM DỮ LIỆU VÀO CSDL

Route khai báo 1 route và gọi đến function store ở controller

Ở đây dùng phương thức POST

Khi tồn tại phương thức POST từ action admin/role/create

Và sẽ gọi tới function store trong file RoleController
(Ảnh dưới mình chụp ảnh nhầm ở router của permission :D )

phainv20

CONTROLLER

Khi mình ấn button submit thì sẽ gọi đến function store ở Controller

Mình truyền roleRequest vào để mình bắt Validate form

Các bạn có thể tìm hiểu validate form bằng request và mình sẽ hướng dẫn ở cuối bài

phainv21

MODEL

Ở model sẽ nhận dữ liệu từ request và lưu vào database

Lưu vào tên cột của bảng = giá trị request trả về từ form

Sau đó lưu vào cơ sở dữ liệu

phainv22

VIEW

Tạo action là admin/role/create và method POST

HIỂN THỊ TOÀN BỘ DANH SÁCH ROLE

Tiếp đó ta sẽ khai báo 1 route để trỏ về hiển thị danh sách role

phainv23

Ở Controller

phainv24

Ở model ta sẽ khai báo như sau

phainv25

UPDATE ROLE

CONTROLER

Tìm id và đổ dữ liệu của iD vào form html

phainv26

MODEL

phainv27

VIEW

Đổ dữ liệu vào Value ở FORM HTML và Action là admin/role/update/ $id

phainv28

Khi người dùng ấn update thì gọi đến route

phainv29

DELETE ROLE

Khi người dùng ấn vào button xóa thì sẽ gọi đến route

phainv30

Sau đó sẽ gọi đến function distroyRoleCOntroller

Và chuyển hướng về danh sách hiển thị role

phainv31

Các bạn nên dùng request để bắt lỗi và validate form để tránh trường hợp nhập sai dữ liệu

Cũng như tạo file Controller và Model

Bạn vào Ter vào dùng lệnh sau

Sau đó vào thư mục Request kiểm tra thì sẽ thấy 1 file RoleRequest.php đã được tạo ra

Để sử dụng nó ta sửa giá trị sau thành TRUE
phainv32

Và mình sẽ validate các trường cần nhập

phainv33

Để sử dụng Request ở RoleController ta phải khai báo sử dụng Requets bằng cách thêm dòng use App\Http\Requests\RoleRequest;

phainv34

Và để hiển thị nội dung request phản hồi thì mình sẽ phải khai báo nơi hiển thị request
Ở view mình sẽ khai báo 1 nơi để nhận phản hồi và hiển thị nội dung request

phainv35

Xin cảm ơn

Mọi thắc mắc các bạn có thể liên hệ với mình qua
ĐT : 0985 503 074

FB: fb.com/PhaiNV
skype : phai.nv

You may also like...

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="">