1. Trang chủ
  2. » Thể loại khác

BÁO CÁO THỰC TẬP TỐT NGHIỆP XÂY DỰNG WEBSITE BẰNG LARAVEL

42 517 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

BỘ CÔNG THƯƠNG TRƯỜNG CAO ĐẲNG CÔNG THƯƠNG TP.HCM KHOA: CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP TỐT NGHIỆP XÂY DỰNG WEBSITE BẰNG LARAVEL Sinh viên: Trần Quốc Huy MSSV: 2116110027 Lớp: CCQ1611A GVHD: Ths Chu Thị Mai TP.HCM, 07/05/2019 MỤC LỤC PHẦN MỞ ĐẦU Lý chọn đề tài Mục đích nghiên cứu (các kết cần đạt được) 3 Đối tượng phạm vi nghiên cứu 4.Phương pháp nghiên cứu: PHẦN ĐỀ CƯƠNG CHI TIẾT CHƯƠNG 1: ĐẶT VẤN ĐỀ 1.1 PHP Framework gì? 1.2 Tại nên sử dụng PHP Framework? 1.3 Tại nên sử dụng Laravel Framework? CHƯƠNG 2: GIỚI THIỆU VỀ LARAVEL 2.1 Cấu trúc thư mục Laravel 2.2 Cài đặt Laravel .8 2.2.1 Cài Composer 2.2.2 Cài Laravel .9 2.3 Cấu hình cho ứng dụng .9 2.4 Chạy ứng dụng với Laravel 2.5 Route Laravel Framework 10 2.5.1 Basic Routing 10 2.5.2 Route Parameters 11 2.5.3 Route Filters 11 2.5.4 Name Route 13 2.5.5 Route Groups 14 2.5.6 Route Prefixing 14 2.6 View Laravel Framework 15 2.7 Controller Laravel Framework 16 2.7.1 Khai báo Controller Laravel Framework: .16 2.7.2 Chạy Controller theo phương thức Route::get .17 2.7.3 Implicit Controllers – Sử dụng phương thức Route::controller 17 2.7.4 RESTful Resource Controllers – Sử dụng phương thức Route::resource.18 2.7.5 Controller với Filter .20 2.8 Kết nối sở liệu 21 2.8.1 Cấu hình kết nối sở liệu Laravel Framework 21 2.8.2 Database Transactions 22 2.9 Sử dụng Query Builder 23 2.9.1 Truy vấn liệu .24 2.9.2 Join bảng liệu 26 2.9.3 Hàm Laravel Framework 27 2.9.4 Raw Expressions 27 2.9.5 Câu lệnh Inserts liệu 27 2.9.6 Câu lệnh Updates liệu .27 2.9.7 Câu lệnh Deletes liệu 27 2.9.8 Câu lệnh Union 28 2.10 Eloquent ORM 28 2.10.1 Lấy liệu 28 2.10.2 Thêm liệu (Insert) 29 2.10.3 Cập nhật liệu (Update) 29 2.10.4 Xóa liệu (Delete) .29 2.11 Sử dụng Migrations Schema Builder .30 2.11.1 Lớp Schema Builder – thao tác với bảng CSDL 30 2.11.2 Migrations – Quản lý CSDL 32 CHƯƠNG 3: 35 PHÂN TÍCH - THIẾT KẾ WEBSITE 35 Giới thiệu chương 35 Nội dung 35 CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .40 Kết luận: 40 4.1 Kết đạt .40 4.2 Hướng phát triển 40 DANH MỤC TÀI LIỆU THAM KHẢO .41 LỜI MỞ ĐẦU PHẦN MỞ ĐẦU Lý chọn đề tài Công Ty Cổ Phần 32 tiền thân Công Ty 32 - Bộ Quốc Phòng thành lập hoạt động từ năm 1980 đến Từ thành lập Xí nghiệp nhỏ chuyên sản xuất mặt hàng quân trang phục vụ Quân đội như: giầy, dép, mũ, balo, quân hàm, quân hiệu Qua trình xây dựng phát triển đến nay, Công ty trở thành Cơng ty có uy tín ngồi nước, với xí nghiệp thành viên, tổng số lao động 2000 người Ngoài sản xuất mặt hàng phục vụ cho Quân đội Công an, Cơng ty cịn sản xuất giày nam, nữ, giày vải, túi cặp loại công nghệ đại phục vụ nước xuất Công ty mở rộng kinh doanh sang lĩnh vực thương mại điện tử cần có website để kinh doanh  Hiện xem cơng nghệ xây dựng web Laravel framework phổ biến Laravel framework dùng mã nguồn mở miễn phí, nên Laravel framework cài đặt hầu hết Web Server thông dụng Apache, IIS… dễ học biết HTML, C, OOP (vì php phát triển tảng C, OOP ), có nhiều websever cấu hình đơn giản XAMPP, WAMPP,… thư viện phong phú (Joomla, wordpress…), có tính bảo mật, thích hợp cho làm việc nhóm Tuy nhiên ngồi ưu điểm bên cách Laravel framework cịn có nhược điểm chạy ứng dụng web, mã nguồn không đẹp tool Mục đích nghiên cứu (các kết cần đạt được)  Xây dựng website kinh doanh giầy dép  Giới thiệu trưng bày mặt hàng  Nhanh chóng hiệu  Đảm bảo xác, bảo mật cao, tiện lợi dễ dàng sử dụng cho khách hàng  Thuận tiện cho việc bán mua hàng Đối tượng phạm vi nghiên cứu  Đối tượng nghiên cứu:  Laravel framework  Tìm hiểu khảo sát qui trình bán hàng qua mạng để có sở xây dựng trang web bán hàng  Phạm vi nghiên cứu: xây dựng trang web bán lẻ, chuyên bán sản phẩm sản phẩm giầy dép lãnh thổ việt nam 4.Phương pháp nghiên cứu:  Phương pháp thông kê, thu thập thông tin, số liệu  Phương pháp phân tích tổng hợp tài liệu để xây dựng website  Quá trình tin học để xây dựng website thương mại điện tử NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ……………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Tp.Hồ Chí Minh, ngày … tháng … năm … Giáo viên hướng dẫn (Ký tên ghi rõ họ tên) PHẦN ĐỀ CƯƠNG CHI TIẾT CHƯƠNG 1: ĐẶT VẤN ĐỀ 1.1 PHP Framework gì? PHP ngơn ngữ script phổ biến lý do: linh hoạt, dễ sử dụng, dễ học, v…v việc viết mã PHP, hay ngôn ngữ (lập trình) khác, trở nên đơn điệu lủng củng Đó lúc PHP Framework giúp bạn PHP Frameworks làm cho phát triển ứng dụng web viết ngôn ngữ PHP trở nên trôi chảy hơn, cách cung cấp cấu trúc để xây dựng ứng dụng Hay nói cách khác, PHP Framework giúp đỡ bạn thúc đẩy nhanh chóng q trình phát triển ứng dụng, giúp bạn tiết kiệm thời gian, tăng ổn định cho ứng dụng, giảm thiểu số lần phải viết lại mã cho lập trình viên Ngồi Framework cịn giúp người bắt đầu xây dựng ứng dụng ổn định nhờ việc tương tác xác Database, mã (PHP) giao diện (HTML) cách riêng biệt Điều cho phép bạn dành nhiều thời gian để tạo ứng dụng web, phí thời gian để viết đoạn mã lặp lại project Ý tưởng chung đằng sau cách thức làm việc PHP Framework kể đến Model View Controller (MVC) MVC mơ hình (kiến trúc) lập trình, cho phép tách biệt mã nghiệp vụ giao diện thành phần riêng biệt, điều đồng nghĩa với việc ta chỉnh sửa chúng cách riêng lẻ Trong cụm từ MVC thì: Model (M) hiểu phần xử lý thao tác nghiệp vụ (business logic), View hiểu phần xử lý lớp giao diện (presentation layer), Controller làm nhiệm vụ lọc request đc gọi từ user, có chức route: điều chỉnh, phân luồng yêu cầu để gọi Model & View thích hợp Về bản, MVC chia nhỏ trình xử lý ứng dụng, nên bạn làm việc thành phần riêng lẻ, thành phần khác không bị ảnh hưởng tới Thực chất, điều giúp đỡ bạn lập trình PHP nhanh phức tạp 1.2 Tại nên sử dụng PHP Framework? Có nhiều lý khác để lập trình viên sử dụng PHP Framework, lý khả giúp lập trình viền tăng tốc trình phát triển ứng dụng Việc sử dụng lại mã lệnh giống nhiều project giúp bạn tiết kiệm thời gian công sức cách đáng kể Một Framework cung cấp sẵn module tảng cần thiết để xây dựng project, thế, lập trình viên tận dụng thời gian để phát triển ứng dụng thực tế, thời gian để xây dựng lại tảng project 1.3 Tại nên sử dụng Laravel Framework? Có 20 Framework mã nguồn mở PHP khác nhau, số Laravel Framework phổ biến nhất, xếp sau là: PhaIcon, Symfony2, CodeIgniter, Yii,… Nó Framework mẻ bù lại có "hướng dẫn sử dụng" đầy đủ, rõ ràng dễ hiểu với cộng đồng phát triển rộng lớn toàn giới Nếu bạn làm việc với Framework khác người bắt đầu "chập chửng" tìm hiểu PHP Framework việc tiếp cận Laravel Framework khơng phải vấn đề khó khăn Ưu điểm là: Autoload theo namespace, Các lệnh tương tác với sở liệu ngắn gọn thân thiện, phân trang laravel đơn giản, việc quản lý layout thật giản đơn với Laravel, dễ dàng tích hợp thư viện Zend gói bundle (giống moduel) vào project, có nhiều gói bundle đc đồng đạo giới build sẵn share github nhiều ưu điểm khác đợi bạn khám phá… CHƯƠNG 2: GIỚI THIỆU VỀ LARAVEL 2.1 Cấu trúc thư mục Laravel Một dự án web viết Laravel có cấu trúc thư mục sau: Hình 2.1: Thư mục Laravel Framework Hình 2.2: Chức thư mục Như đề cập trên, thư mục /app nguồn ứng dụng, cần tìm hiểu sâu chúng: Hình 2.3: Chức cụ thể thư mục app 2.2 Cài đặt Laravel 2.2.1 Cài Composer Chúng ta cài đặt Laravel composer nên bạn cần cài đặt composer trước, dùng window nên download cài đặt composer window Bạn tải composer địa chỉ: http://laravel.com/docs/4.2/installation Các bạn download cài đặt bình thường, lưu ý chỗ chọn php thơi, bạn đường dẫn đến file php.exe thư mục php XAMPP (xampp/php/php.exe) 2.2.2 Cài Laravel Bản Laravel 4.2 (Tại thời điểm viết này), yêu cầu chạy PHP>=5.4, dùng XAMPP 5.6.3 nên cài Laravel Nếu bạn muốn cài đặt cần dùng lệnh sau: composer create-project laravel/laravel tên-thư-mục-laravel-của-bạn Còn muốn install thấp dùng: composer create-project laravel/laravel tên-thư-mục-laravel-của-bạn 4.0.* Sau cài đặt xong, có cấu trúc thư mục Laravel hình 2.1 phía Để biết có cài Laravel thành cơng hay khơng thử chạy Laravel cách mở trình duyệt lên gõ địa sau: http://localhost/laravel_demo/public/ Nếu thành công hiển thị hình đây: Hình 2.4: Cài đặt Laravel thành cơng 2.3 Cấu hình cho ứng dụng Các bạn truy cập vào app/config/app.php chỉnh sửa lại thông tin sau: + Chỉnh lại URL,các bạn tìm tới key url chỉnh lại cho phù hợp với dự án nhé: 'url' => 'http://localhost/kienthuc24h/' + Cấu hình key,các bạn tìm tới dịng có cấu hình key mục đích lệnh tăng tính bảo mật cookie session cho website Hoặc bạn sử dụng lệnh CMD cách đường dẫn đến thư mục làm việc bạn sử dụng thư mục kienthuc24h chạy dòng lệnh sau: php artisan key:generate 2.4 Chạy ứng dụng với Laravel - Các bạn truy cập vào file app/route.php thêm nội dung vào cuối file: Route::get(‘/dang-nhap’,function(){ echo ‘Đây trang đăng nhập’; }); 10 2.9.4 Raw Expressions - Trong số trường hợp ta cần sử dụng mã SQL nguyên mẫu loạt truy vấn Laravel cung cấp cho bạn phương thức DB::raw: $users = DB::table('users') ->select(DB::raw('count(*) as user_count, status')) ->where('status', '', 1) ->groupBy('status') ->get(); - Tăng giảm giá trị cột: DB::table('users')->increment('votes'); DB::table('users')->increment('votes', 5); DB::table('users')->decrement('votes'); DB::table('users')->decrement('votes', 5); 2.9.5 Câu lệnh Inserts liệu Chèn hàng giá trị vào bảng: DB::table('users')->insert( array('email' => 'john@example.com', 'votes' => 0) ); Nếu bảng có id tự động tăng, bạn dùng insertGetId để chèn và lấy Id: $id = DB::table('users')->insertGetId( array('email' => 'john@example.com', 'votes' => 0) ); Thêm nhiều records vào bảng: DB::table('users')->insert(array( array('email' => 'taylor@example.com', 'votes' => 0), array('email' => 'dayle@example.com', 'votes' => 0), )); 2.9.6 Câu lệnh Updates liệu DB::table('users') ->where('id', 1) ->update(array('votes' => 1)); 2.9.7 Câu lệnh Deletes liệu Xóa record bảng: DB::table('users')->where('votes', '', 100)->take(10)->get(); foreach ($users as $user) { var_dump($user->name); } d Bạn sử dụng hàm query builder: 29 $count = User::where('id', '>', 100)->count(); + Phương thức count() trả tống số dòng tìm thấy phù hợp với câu điều kiện (id > 100) 2.10.2 Thêm liệu (Insert) a Để tạo record bảng CSDL, đơn giản bạn tạo thực thể model gọi phương thức save: $user = new User; $user->name = 'Nobita'; $user->save(); b Sử dụng phương thức Create: / Create a new user in the database $user = User::create(array('name' => 'John')); // Retrieve the user by the attributes, or create it if it doesn't exist $user = User::firstOrCreate(array('name' => 'John')); // Retrieve the user by the attributes, or instantiate a new instance $user = User::firstOrNew(array('name' => 'John')); 2.10.3 Cập nhật liệu (Update) a Đề cập nhật Model, bạn truy vấn nó, thay đổi thuộc tính lưu lại thơng qua khóa chính: $user = User::find(1); $user->name = 'Nobita'; $user->save(); b Đôi bạn muốn lưu không nó, mà tồn liên quan tới bạn sử dụng phương thức push: $user->push(); c Bạn chạy câu lệnh update để truy vấn model theo điều kiện: $affectedRows = User::where('id', '>', 100)->update(array('status' => 2)); 2.10.4 Xóa liệu (Delete) a Để xóa record, đơn giản bạn gọi phương thức delete dựa vào khóa liệu: $user = User::find(1); $user->delete(); b Xóa khóa: User::destroy(1); User::destroy(array(1, 2, 3)); User::destroy(1, 2, 3); c Tất nhiên, bạn xóa theo kiểu query: $affectedRows = User::where('id', '>', 100)->delete(); 30 2.11 Sử dụng Migrations Schema Builder Thông thường muốn tạo sở liệu bảng liệu hay vào PhpMyadmin để thực thủ công phải không Nhưng cách làm nhiều lúc làm cho nhiều thời gian việc tạo chỉnh sửa liệu Laravel cung cấp cho giải pháp tuyệt vời Migrations Schema Builder Từ làm việc với Laravel chuyển sang sử dụng cặp đôi Migrations Schema Builder để thực thiết kế quản lý sở liệu (csdl) - Đầu tiên bạn cần cấu hình thông số kết nối sở liệu file /app/config/database.php,tên csdl là: laravel_demo 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'laravel_demo', 'username' => 'forge', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), 2.11.1 Lớp Schema Builder – thao tác với bảng CSDL – Lớp Schema Laravel cung cấp chế thao tác với bảng CSDL Nó làm việc với tất CSDL mà Laravel hổ trợ, thông qua hàm API hệ thống Phương thức create – Tạo bảng liệu: Schema::create('users', function($table){ $table->increments('id'); $table->string('email')->unique(); $table->string('password', 50); $table->rememberToken(); $table->string('name'); $table->string('phone', 15); $table->timestamps(); }); - Như bạn thấy đối số phương thức create tên bảng liệu mà ta muốn tạo Trong đối số thứ nơi ta thực khai báo cột liệu bảng này: – Mình xin giải thích chút lệnh hay sử dụng trên: + increments: tạo khóa bảng liệu,và khóa tự tăng + string: tạo cột dạng chuỗi (giống kiểu varchar) + rememberToken: Tạo columns tên remember_token table users, dùng để lưu token người dùng đăng nhập sử dụng ghi nhớ lần – dạng VARCHAR(100) + timestamps: Lệnh tạo columns created_at update_at table users, trường mặc định để lưu thời gian tạo sửa model Nếu bạn không tạo trường này, mặc định insert ghi Laravel báo lỗi Nếu bạn 31 không muốn sử dụng cột này, bạn vào model bảng thêm vào: public Stimestamps=fale; khơng mặc định thêm liệu vào ghi Ngồi cịn nhiều lệnh khác sử dụng tạo bảng liệu,các bạn vào trang chủ laravel để xem thêm Phương thức rename – Đổi tên bảng liệu: Cú pháp: Schema::rename($from, $to); Ví dụ: đổi tên bảng từ users sang user ta sử dụng Schema::rename('users', 'user'); Phương thức drop – Xóa bảng liệu: Schema::drop('users'); Schema::dropIfExists('users'); Phương thức table – cập nhật thêm cột bảng tồn tại: Schema::table('users', function($table) { $table->string('address'); }); Với ví dụ ta thực thêm cột address vào bảng users Phương thức renameColumn – Đổi tên cột: Đổi tên cột address thành address1 Schema::table('users', function($table) { $table->renameColumn('address', 'address1'); }); Phương thức dropColumn- Xóa cột: Schema::table('users', function($table) { $table->dropColumn('address'); }); Hoặc bạn xóa nhiều cột liệu, cột cách dấu “,” : Schema::table('users', function($table) { $table->dropColumn('address','phone','email'); }); Phương thức hasTable – Kiểm tra có tồn bảng không: if (Schema::hasTable('users')) { // } Phương thức hasColumn- Kiểm tra có tồn cột khơng: if (Schema::hasColumn('users', 'email')) { // 32 } Với đối số thứ tên bảng,đối số thứ tên cột muốn kiếm tra Thêm mục vào: $table->string('email')->unique(); 10 Sử dụng khóa ngoại: $table->integer('user_id')->unsigned(); $table->foreign('user_id')->references('id')->on('users'); – Bạn cho “onDelete” “onUpdate” ràng buộc bạn: $table->foreign('user_id') ->references('id')->on('users') ->onDelete('cascade'); – Đề xóa khóa ngoại, bạn sử dụng phương thức dropForeign: $table->dropForeign('posts_user_id_foreign'); – Ngồi lớp cịn hỗ trợ cho nhiều phương thức để làm việc với CSDL, bạn vào trang chủ laravel để xem thêm cách sử dụng phương thức 2.11.2 Migrations – Quản lý CSDL – Migrations kiểu điều khiển database, cho phép nhóm làm việc với CSDL cách hiệu Migrations kèm với Schema Builder để thiết kế hệ thống bạn cách dễ dàng Dùng artisan tạo migration: – Để tạo migration thao tác hình cmd Ví dụ: php artisan migrate:make create_users_table Sau chạy dòng lệnh hệ thống tự động tạo cho ta file bên /app/database/ migratons theo định dạng: yyyy_mm_dd_hhmmss_create_users_table – Và nội dung file sau:

Ngày đăng: 21/08/2020, 17:53

Xem thêm:

HÌNH ẢNH LIÊN QUAN

Hình 2.2: Chức năng của các thư mục chính - BÁO CÁO THỰC TẬP TỐT NGHIỆP XÂY DỰNG WEBSITE BẰNG LARAVEL
Hình 2.2 Chức năng của các thư mục chính (Trang 8)
Hình 2.1: Thư mục Laravel Framework - BÁO CÁO THỰC TẬP TỐT NGHIỆP XÂY DỰNG WEBSITE BẰNG LARAVEL
Hình 2.1 Thư mục Laravel Framework (Trang 8)
Hình 2.3: Chức năng cụ thể của các thư mục con trong app - BÁO CÁO THỰC TẬP TỐT NGHIỆP XÂY DỰNG WEBSITE BẰNG LARAVEL
Hình 2.3 Chức năng cụ thể của các thư mục con trong app (Trang 9)
Ví dụ mình có cấu hình như sau,với 2 cơ sở dữ liệu - BÁO CÁO THỰC TẬP TỐT NGHIỆP XÂY DỰNG WEBSITE BẰNG LARAVEL
d ụ mình có cấu hình như sau,với 2 cơ sở dữ liệu (Trang 24)
Hình 2.7: Bảng dữ liệu được tạo bằng lệnh migrate 2. Chỉnh sửa migrations: - BÁO CÁO THỰC TẬP TỐT NGHIỆP XÂY DỰNG WEBSITE BẰNG LARAVEL
Hình 2.7 Bảng dữ liệu được tạo bằng lệnh migrate 2. Chỉnh sửa migrations: (Trang 35)
 Bảng User - BÁO CÁO THỰC TẬP TỐT NGHIỆP XÂY DỰNG WEBSITE BẰNG LARAVEL
ng User (Trang 39)
 Các bảng trong SQL - BÁO CÁO THỰC TẬP TỐT NGHIỆP XÂY DỰNG WEBSITE BẰNG LARAVEL
c bảng trong SQL (Trang 39)
 Bảng bills - BÁO CÁO THỰC TẬP TỐT NGHIỆP XÂY DỰNG WEBSITE BẰNG LARAVEL
Bảng bills (Trang 40)
 Bảng comment: - BÁO CÁO THỰC TẬP TỐT NGHIỆP XÂY DỰNG WEBSITE BẰNG LARAVEL
Bảng comment (Trang 40)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w