Chương trình học
- Bức tranh Tổng thể về Lập trình WEB
-
Giới thiệu, cài đặt, cấu hình môi trường lập trình
9
- Cài đặt web server XAMPP
- Cài đặt công cụ truy vấn database HeidiSQL
- Cài đặt Composer để quản lý các gói thư viện trong PHP
- Cài đặt trình soạn thảo code Visual Studio Code IDE
- Tạo tên miền ảo trên máy cục bộ (virtual host on localhost) bằng XAMPP
- Cài đặt nền tảng quản lý Source Code sử dụng GIT
- Cài đặt công cụ quản lý Source Code TortoiseGit
- Cài đặt chế độ Debug PHP với Visual Studio Code
- Tạo chứng chỉ SSL trên Localhost
- Tập làm quen với quản lý source code bằng GitHub 3
- Cài đặt framework Laravel 1
- Tìm hiểu mô hình kiến trúc MVC vận hành trong framework Laravel 4
- Sử dụng Template Engine để trình diễn nội dung trong các VIEW 3
-
Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Thiết kế CSDL
7
- Phân tích các yêu cầu, nghiệp vụ của khách hàng
- Mô hình thiết kế CSDL mẫu Sunshine
- Khởi tạo database sunshine, thiết lập kết nối CSDL trong Laravel
- Tạo cấu trúc table bằng tính năng MIGRATION trong Laravel - Danh mục phẳng
- Tạo cấu trúc table bằng tính năng MIGRATION trong Laravel - Danh mục có liên kết khóa ngoại
- Tạo dữ liệu ban đầu cho CSDL bằng tính năng SEED trong Laravel - Danh mục phẳng
- Tạo dữ liệu ban đầu cho CSDL bằng tính năng SEED trong Laravel - Danh mục có liên kết khóa ngoại
- Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Ánh xạ CSDL và Laravel 3
-
Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Thiết kế Backend
20
- Thiết kế bố cục (layouts) cho giao diện Backend
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (index)
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (create)
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (edit)
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (delete)
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Index
- Lưu đồ Upload file từ Client lên Server
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Create
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Edit
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Delete
- Xây dựng danh mục Sản phẩm có chức năng upload nhiều Hình ảnh cùng lúc
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Bổ sung menu vào sidebar
- Xây dựng chức năng xuất biểu mẫu và In ấn trực tiếp trên web
- Xây dựng chức năng xuất Excel
- Xây dựng chức năng xuất PDF
- Tạo chức năng Đăng nhập
- Lưu đồ Kiểm tra ràng buộc dữ liệu (Validation)
- Kiểm tra ràng buộc dữ liệu (Validation) phía Client
- Kiểm tra ràng buộc dữ liệu (Validation) phía Server
- Bài tập tổng hợp - Tạo các chức năng Backend cho trang web đọc Truyện Tranh và Tiểu Thuyết Online sử dụng Laravel framework
- AngularJS 7
-
Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Thiết kế Frontend sử dụng AngularJS
11
- Thiết kế bố cục (layouts) cho giao diện Frontend
- Tích hợp AngularJS vào framework Laravel
- Tạo giao diện trang chủ (index)
- Tạo giao diện trang Giới thiệu (about)
- Tạo giao diện trang Liên hệ (contact)
- Tạo trang danh sách Sản phẩm (product)
- Tạo nút Thêm vào giỏ hàng cho từng sản phẩm (add-to-cart)
- Tạo trang Chi tiết Sản phẩm (product-detail)
- Tạo giỏ hàng (cart sidebar)
- Tạo trang thanh toán (checkout)
- Tạo đơn hàng và gởi mail xác nhận
-
Bonus
9
- Đa ngôn ngữ trong Laravel
- Tạo báo cáo với biểu đồ ChartJS
- Tạo khung chọn Ngày tháng cho dự án
- Tạo các trang thông báo lỗi tương ứng STATUS CODE
- Kiểm tra ứng dụng với tunnel ảo NGROK
- Phân trang trong Laravel
- Bổ sung khung xem Hình ảnh trước khi upload (preview image upload)
- Tạo API trong Laravel và sử dụng AngularJS để hiển thị giao diện
- Cách tự động sinh Ảnh nhiều kích cỡ (Automatic resize image) khi upload file Ảnh
- Danh sách Đồ án xây dựng trang web sử dụng LARAVEL 2
- Tài liệu tham khảo 3
- Thực hiện Đồ án 1
Chương 7-Bài 7. Tạo dữ liệu ban đầu cho CSDL bằng tính năng SEED trong Laravel - Danh mục có liên kết khóa ngoại
File
SanphamTableSeeder
<?php use Illuminate\Database\Seeder; class SanphamTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { $list = []; $faker = Faker\Factory::create('vi_VN'); $photos = array('hoahong.jpg','hoalan.jpg','hoatuoi.jpg'); for ($i=1; $i <= 30; $i++) { $today = new DateTime(); array_push($list, [ 'sp_ten' => "sp_ten $i", 'sp_giaGoc' => $faker->randomFloat(2000000, 50000, 1999999), 'sp_giaBan' => $i, 'sp_hinh' => "hoa-$i.jpg", 'sp_thongTin' => "sp_thong $i", 'sp_danhGia' => "sp_danhGia $i", 'sp_taoMoi' => $today->format('Y-m-d H:i:s'), 'sp_capNhat' => $today->format('Y-m-d H:i:s'), 'sp_trangThai' => $faker->numberBetween(1, 2), 'l_ma' => $faker->numberBetween(1, 9) // Khoa ngoai ]); } DB::table('cusc_sanpham')->insert($list); } }Thư viện sinh dữ liệu ngẫu nhiên Tiếng Việt:PhpVnDataGenerator
- Download về, giải nén
- Copy vào thư mục: `vendor\laravel\framework\src\Illuminate`
<?php use Illuminate\Database\Seeder; use Illuminate\PhpVnDataGenerator\VnBase; use Illuminate\PhpVnDataGenerator\VnFullname; use Illuminate\PhpVnDataGenerator\VnPersonalInfo; class KhachhangTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { $list = []; $uFN = new VnFullname(); $uPI = new VnPersonalInfo(); $nCustomers = 30; $minFemales = 10; $maxFemales = 15; $nFemales = VnBase::RandomNumber($minFemales, $maxFemales); $nMales = $nCustomers - $nFemales; $females = $uFN->FullNames(VnBase::VnFemale, $nFemales); $males = $uFN->FullNames(VnBase::VnMale, $nMales); $customers = []; $m = 0; $f = 0; while ($m <= $nMales-1 || $f <= $nFemales-1) { if ($m == $nMales) { //Đã chọn hết nam array_push($customers, ["gender"=>VnBase::VnFemale, "name"=>$females[$f]]); $f++; } else if ($f == $nFemales) { //Đã chọn hết nữ array_push($customers, ["gender"=>VnBase::VnMale, "name"=>$males[$m]]); $m++; } else { if (VnBase::RandomNumber(0, 1000) < 550) { array_push($customers, ["gender"=>VnBase::VnMale, "name"=>$males[$m]]); $m++; } else { array_push($customers, ["gender"=>VnBase::VnFemale, "name"=>$females[$f]]); $f++; } } } $today = new DateTime('2010-01-01 08:00:00'); for ($i=1; $i <= $nCustomers; $i++) { $xs = VnBase::RandomNumber(0, 1000); if ($xs > 100) { $step = "P"; if ($xs < 400) { $step .= "T"; $xs = VnBase::RandomNumber(0, 1000); if ($xs < 400) { $step .= VnBase::RandomNumber(1000, 10800); } else if ($xs < 700) { $step .= VnBase::RandomNumber(10801, 21600); } else if ($xs < 900) { $step .= VnBase::RandomNumber(21601, 43200); } else { $step .= VnBase::RandomNumber(43201, 86400); } $step .= "S"; } else { $xs = VnBase::RandomNumber(0, 1000); if ($xs < 500) { $step .= VnBase::RandomNumber(1, 5); } else if ($xs < 800) { $step .= VnBase::RandomNumber(6, 15); } else { $step .= VnBase::RandomNumber(16, 25); } $step .= "D"; } $nextTime = new DateInterval($step); $today->add($nextTime); } $gender = $customers[$i - 1]["gender"]; $name = $customers[$i - 1]["name"]; $age = $uPI->Age(12); $birthYear= $uPI->BirthYearValue($age); $birthdate= $uPI->Birthdate($birthYear); $email = $uPI->Email ($name, $birthdate, "", "?", "", VnBase::VnMixed, VnBase::VnMixed, VnBase::VnTrue); $username = $uPI->Username($name, $birthdate, "?", "", VnBase::VnMixed, VnBase::VnMixed, VnBase::VnTrue); $password = bcrypt('123456'); $phone = $uPI->Mobile("", VnBase::VnFalse); $address = $uPI->Address(); array_push($list, [ 'kh_ma' => $i, 'kh_taiKhoan' => $username, 'kh_matKhau' => $password, 'kh_hoTen' => $name, 'kh_gioiTinh' => $gender == VnBase::VnMale, 'kh_email' => $email, 'kh_ngaySinh' => $birthdate["birthdate"], 'kh_diaChi' => $address, 'kh_dienThoai' => $phone, 'kh_taoMoi' => $today->format('Y-m-d H:i:s'), 'kh_capNhat' => $today->format('Y-m-d H:i:s'), 'kh_trangThai' => ($i <= $nCustomers-3? 2: 3) ]); } // Admin array_push($list, [ 'kh_ma' => $nCustomers+1, 'kh_taiKhoan' => 'dnpcuong', 'kh_matKhau' => bcrypt('123456'), 'kh_hoTen' => 'Dương Nguyễn Phú Cường', 'kh_gioiTinh' => $gender == VnBase::VnMale, 'kh_email' => 'admin@nentang.vn', 'kh_ngaySinh' => '1989-06-11', 'kh_diaChi' => '130 Xô Viết Nghệ Tỉnh, Quận Ninh Kiều, TP Cần Thơ', 'kh_dienThoai' => '0915659223', 'kh_taoMoi' => $today->format('Y-m-d H:i:s'), 'kh_capNhat' => $today->format('Y-m-d H:i:s'), 'kh_trangThai' => 2 // Khả dụng ]); DB::table('cusc_khachhang')->insert($list); } }
Mục lục
Các bài học
Bài học trước Bài học tiếp theo
Chương trình học
Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...Chương trình học
- Bức tranh Tổng thể về Lập trình WEB
-
Giới thiệu, cài đặt, cấu hình môi trường lập trình
9
- Cài đặt web server XAMPP
- Cài đặt công cụ truy vấn database HeidiSQL
- Cài đặt Composer để quản lý các gói thư viện trong PHP
- Cài đặt trình soạn thảo code Visual Studio Code IDE
- Tạo tên miền ảo trên máy cục bộ (virtual host on localhost) bằng XAMPP
- Cài đặt nền tảng quản lý Source Code sử dụng GIT
- Cài đặt công cụ quản lý Source Code TortoiseGit
- Cài đặt chế độ Debug PHP với Visual Studio Code
- Tạo chứng chỉ SSL trên Localhost
- Tập làm quen với quản lý source code bằng GitHub 3
- Cài đặt framework Laravel 1
- Tìm hiểu mô hình kiến trúc MVC vận hành trong framework Laravel 4
- Sử dụng Template Engine để trình diễn nội dung trong các VIEW 3
-
Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Thiết kế CSDL
7
- Phân tích các yêu cầu, nghiệp vụ của khách hàng
- Mô hình thiết kế CSDL mẫu Sunshine
- Khởi tạo database sunshine, thiết lập kết nối CSDL trong Laravel
- Tạo cấu trúc table bằng tính năng MIGRATION trong Laravel - Danh mục phẳng
- Tạo cấu trúc table bằng tính năng MIGRATION trong Laravel - Danh mục có liên kết khóa ngoại
- Tạo dữ liệu ban đầu cho CSDL bằng tính năng SEED trong Laravel - Danh mục phẳng
- Tạo dữ liệu ban đầu cho CSDL bằng tính năng SEED trong Laravel - Danh mục có liên kết khóa ngoại
- Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Ánh xạ CSDL và Laravel 3
-
Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Thiết kế Backend
20
- Thiết kế bố cục (layouts) cho giao diện Backend
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (index)
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (create)
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (edit)
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (delete)
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Index
- Lưu đồ Upload file từ Client lên Server
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Create
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Edit
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Delete
- Xây dựng danh mục Sản phẩm có chức năng upload nhiều Hình ảnh cùng lúc
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Bổ sung menu vào sidebar
- Xây dựng chức năng xuất biểu mẫu và In ấn trực tiếp trên web
- Xây dựng chức năng xuất Excel
- Xây dựng chức năng xuất PDF
- Tạo chức năng Đăng nhập
- Lưu đồ Kiểm tra ràng buộc dữ liệu (Validation)
- Kiểm tra ràng buộc dữ liệu (Validation) phía Client
- Kiểm tra ràng buộc dữ liệu (Validation) phía Server
- Bài tập tổng hợp - Tạo các chức năng Backend cho trang web đọc Truyện Tranh và Tiểu Thuyết Online sử dụng Laravel framework
- AngularJS 7
-
Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Thiết kế Frontend sử dụng AngularJS
11
- Thiết kế bố cục (layouts) cho giao diện Frontend
- Tích hợp AngularJS vào framework Laravel
- Tạo giao diện trang chủ (index)
- Tạo giao diện trang Giới thiệu (about)
- Tạo giao diện trang Liên hệ (contact)
- Tạo trang danh sách Sản phẩm (product)
- Tạo nút Thêm vào giỏ hàng cho từng sản phẩm (add-to-cart)
- Tạo trang Chi tiết Sản phẩm (product-detail)
- Tạo giỏ hàng (cart sidebar)
- Tạo trang thanh toán (checkout)
- Tạo đơn hàng và gởi mail xác nhận
-
Bonus
9
- Đa ngôn ngữ trong Laravel
- Tạo báo cáo với biểu đồ ChartJS
- Tạo khung chọn Ngày tháng cho dự án
- Tạo các trang thông báo lỗi tương ứng STATUS CODE
- Kiểm tra ứng dụng với tunnel ảo NGROK
- Phân trang trong Laravel
- Bổ sung khung xem Hình ảnh trước khi upload (preview image upload)
- Tạo API trong Laravel và sử dụng AngularJS để hiển thị giao diện
- Cách tự động sinh Ảnh nhiều kích cỡ (Automatic resize image) khi upload file Ảnh
- Danh sách Đồ án xây dựng trang web sử dụng LARAVEL 2
- Tài liệu tham khảo 3
- Thực hiện Đồ án 1
Bài học trước Bài học tiếp theo
Menu Tiện ích
Menu Hướng dẫn Học tập
❤🧡💛💚💙💜 Học là phải THỰC HÀNH ❤🧡💛💚💙💜
Thực hiện các bước tuần tự theo nội dung Bài học nhé!