Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
2,17 MB
Nội dung
BM/QT10/P.ĐTSV/04/04 Ban hành lần: UBND TỈNH BÀ RỊA – VŨNG TÀU TRƯỜNG CAO ĐẲNG KỸ THUẬT CÔNG NGHỆ GIÁO TRÌNH MƠ ĐUN LẬP TRÌNH WEB PHP NÂNG CAO NGHỀ: CƠNG NGHỆ THƠNG TIN TRÌNH ĐỘ: CAO ĐẲNG (Ban hành kèm theo Quyết định số: ……/QĐ-CĐKTCN, ngày … tháng … năm …… Hiệu trưởng Trường Cao đẳng Kỹ thuật Công nghệ BR-VT) BÀ RỊA – VŨNG TÀU TUYÊN BỐ BẢN QUYỀN Nhằm đáp ứng nhu cầu học tập nghiên cứu cho giảng viên sinh viên nghề Công nghệ Thông tin trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa – Vũng Tàu, thực biên soạn tài liệu Lập trình web PHP nâng cao Tài liệu biên soạn thuộc loại giáo trình phục vụ giảng dạy học tập, lưu hành nội Nhà trường nên nguồn thông tin phép dùng ngun trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Giáo trình “Lập trình web PHP nâng cao” biên soạn dựa khung chương trình đào tạo Cao đẳng nghề Cơng nghệ Thông tin Trường Cao đẳng Kỹ thuật Công nghê Bà Rịa – Vũng Tàu phê duyệt Tác giả nghiên cứu số tài liệu, công nghệ đại kết hợp với kinh nghiệm làm việc thực tế để viết nên giáo trình Nội dung tác giả trình bày động, dễ hiểu kèm theo bước hướng dẫn thực hành chi tiết theo nguyên tắc quan tâm đến kết đầu ra, khả tự học kỹ cần thiết để HSSV hoàn thành ứng dụng web quảng cáo sản phẩm, thương mại điện tử, … ngôn ngữ PHP, ngơn ngữ lập trình ứng dụng web thơng dụng nay, đáp ứng nhu cầu thực tế doanh nghiệp Nội dung giáo trình chia thành 07 bài, đó: Bài 1: Tổng quan Bài 2: Tạo ứng dụng CodeIgniter Bài 3: Routing Bài 4: Controller Bài 5: View Bài 6: Model Bài 7: Hoàn chỉnh Controller/View Trong trình biên soạn, chắn giáo trình cịn nhiều thiếu sót Tác giả mong nhận ý kiến đóng góp q thầy/cơ em học sinh, sinh viên để tiếp tục hoàn thiện Xin chân thành cảm ơn quý đồng nghiệp, bạn bè có ý kiến đóng góp q trình biên soạn giáo trình Bà Rịa – Vũng Tàu, ngày …… tháng …… năm ……… Tham gia biên soạn Phan Hữu Phước – Chủ biên MỤC LỤC LỜI GIỚI THIỆU MỤC LỤC BÀI 1: TỔNG QUAN Mô hình MVC .9 CodeIgniter 10 Dòng xử lý ứng dụng web CodeIgniter 10 CÂU HỎI, BÀI TẬP 11 BÀI 2: TẠO ỨNG DỤNG CODEIGNITER ĐẦU TIÊN 13 Tạo sở liệu 13 Tải mã nguồn tạo site .15 Cấu trúc thư mục 16 CÂU HỎI, BÀI TẬP 16 BÀI 3: ROUTING .17 Cấu hình site 17 1.1 Nhập thơng tin cấu hình chung 17 1.2 Đọc thơng tin cấu hình .18 1.3 Tạo thông tin cấu hình riêng .18 Cấu trúc địa 19 Cấu hình route mặc định .20 CÂU HỎI, BÀI TẬP 21 GỢI Ý, ĐÁP ÁN .22 BÀI 4: CONTROLLER .23 Khái niệm 23 Tạo controller 23 Tạo hàm hành động .23 Tổ chức controller thư mục 24 CÂU HỎI, BÀI TẬP 25 GỢI Ý, ĐÁP ÁN .25 BÀI 5: VIEW .27 Khái niệm 27 Tạo view 27 2.1 Tạo view dùng chung 28 2.2 Tạo view nội dung cho trang 29 Tải view .29 Truyền liệu đến view 29 Form view 30 CÂU HỎI, BÀI TẬP 31 BÀI 6: MODEL 33 Khái niệm 33 Tạo model 33 Định nghĩa hàm model 34 3.1 Cập nhật hàm GetList (Đọc nhiều dòng liệu) .34 3.2 Cập nhật hàm GetEntry (Đọc dòng liệu theo khóa) .34 3.3 Cập nhật hàm Insert (Thêm dòng liệu) 35 3.4 Cập nhật hàm Update (Cập nhật dòng liệu) 35 3.5 Cập nhật hàm Delete (Xóa dịng liệu) 35 Truy xuất CSDL thông qua model controller 35 4.1 Thêm hàm khởi tạo .35 4.2 Cập nhật hàm index 36 4.3 Cập nhật tập tin application/views/tacgia/index.php 36 CÂU HỎI, BÀI TẬP 36 GỢI Ý, ĐÁP ÁN .36 BÀI 7: HOÀN CHỈNH CONTROLLER/VIEW .37 Thêm liệu .37 Cập nhật liệu 37 Xóa liệu 39 CÂU HỎI, BÀI TẬP 39 TÀI LIỆU THAM KHẢO 41 GIÁO TRÌNH MƠ ĐUN Tên mơ đun: Lập trình web PHP nâng cao Mã mơ đun: MĐ29 Vị trí, tính chất, ý nghĩa vai trị mơ đun: Sau học xong Lập trình web PHP & MySQL Cung cấp cho người học kiến thức kỹ để thiết kế, xây dựng phát triển ứng dụng web theo mơ hình MVC dựa CodeIgniter Framework Mục tiêu mô đun: Về kiến thức: + + + + + + Trình bày MVC Trình bày trình route xử lý yêu cầu site CodeIgniter Biết bước tạo website PHP sử dụng framework CodeIgniter Trình bày quy trình xây dựng Model, Controller Trình bày quy trình truyền liệu Model, Controller, View Biết quy trình truy xuất CSDL - Về kỹ năng: + + + + + + + + Tải tạo site sử dụng framework CodeIgniter Tạo Route Tạo Model, Cotroller Định nghĩa thuộc tính, phương thức cho Model Định nghĩa hàm cho Controller Tạo View cho hàm Controller Xây dựng hàm truy xuất CSDL Model, Controller Tạo View hiển thị liệu Về lực tự chủ trách nhiệm: + Tham gia xây dựng chức cho website sử dụng framework CodeIgniter + Có thể vận dụng để xây dựng website thương mại, quảng bá chuyên nghiệp framework, CMS mã nguồn mở: Wordpress, Joomla, … + Lưu site đường dẫn + Đặt tên tập tin, thư mục quy định + Tự tìm hiểu tài liệu nâng cao kiến thức kỹ xây dựng ứng dụng web theo mơ hình MVC Nội dung mơ đun: BÀI 1: TỔNG QUAN Mã bài: 22.1 Giới thiệu: MVC mơ hình ứng dụng web phổ biến Có nhiều framework mã nguồn mở dùng ngơn ngữ PHP với mơ hình MVC, số có framework CodeIgniter Mục tiêu: Trình bày thành phần mơ hình MVC Biết lợi ích framework CodeIgniter Trình bày dịng xử lý CodeIgniter sau tiếp nhận yêu cầu Tự tìm hiểu thông tin khác trang CodeIgniter Đảm bảo an tồn cho người thiết bị Nội dung chính: Mơ hình MVC Model View Controller mơ hình kiến trúc theo hướng đối tượng, cho phép người phát triển tách ứng dụng thành thành phần chính: Model: thành phần đại diện cho liệu ứng dụng, bao gồm chức kiểm tra tính hợp lệ liệu View: thành phần đảm trách việc hiển thị liệu thành phần giao diện người dùng Controller: thành phần có trách nhiệm tiếp nhận xử lý yêu cầu gửi đến cho ứng dụng, làm nhiệm vụ điều phối công việc View Model Việc phát triển ứng dụng, nâng cấp, bảo trì thử nghiệm trở nên đơn giản dễ dàng Hình 1.1 Các thành phần mơ hình MVC Hình 1.2 Hoạt động mơ hình MVC CodeIgniter Là mã nguồn mở giúp dễ dàng xây dựng ứng dụng web theo mơ hình MVC ngơn ngữ PHP với nhiều ưu điểm Miễn phí Dung lượng nhỏ Nhanh Tạo URL rõ ràng theo SEO Không yêu cầu engine Có đầy đủ thư viện hỗ trợ việc truy xuất CSDL, xử lý gửi/nhận email, hình ảnh, upload tập tin Hỗ trợ xử lý phân trang … (Xem thêm: http://codeigniter.com/userguide3/overview/features.html) Dòng xử lý ứng dụng web CodeIgniter Tập tin index.php khởi tạo nguồn tài nguyên cần thiết Route phân tích yêu cầu để định công việc cần xử lý Nếu tập tin cache có, gửi trực tiếp đến trình duyệt An tồn: trước controller nạp, yêu cầu HTTP liệu submit lọc Controller nạp model, thư viện, helper, nguồn tài nguyên cần thiết khác để xử lý đáp ứng cho yêu cầu cụ thể Cuối cùng, view diễn giải sau gửi cho trình duyệt Nếu cache bật view lưu vào cache trước giải yêu cầu CÂU HỎI, BÀI TẬP 1.1 Tên chức thành phần mơ hình MVC? 1.2 Dịng xử lý ứng dụng web CodeIgniter? 10 Truy cập theo địa http://localhost/ignitersite1/index.php/tacgia để xem kết Tạo thêm hàm hành động cho controller TacGia sau: Tổ chức controller thư mục Với ứng dụng web lớn, CodeIgniter cho phép nhà phát triển tách/tổ chức controller thư mục Ví dụ: trang/chức quản lý nội dung truy cập theo địa http://localhost/codeignitersite1/quantri Bước 1: Tạo thư mục application/controllers/quantri 22 Bước 2: Tạo controller thư mục application/controllers/quantri CÂU HỎI, BÀI TẬP 4.1 Tạo controller Chude, Nxb, Sach với hàm hành động bên trong, tương tự controller Tacgia xây dựng GỢI Ý, ĐÁP ÁN Tham khảo tập tin controller/Tacgia.php 23 BÀI 5: VIEW Mã bài: 22.5 Giới thiệu: View thành phần mơ hình MVC, cơng dụng trao đổi liệu với controller hiển thị kết Mục tiêu: Biết khái niệm công dụng view Thiết kế view tải view hàm controller Truyền liệu từ controller đến view Truyền liệu từ view đến controller thông qua form Xử lý liệu nhận từ form Đảm bảo an toàn cho người thiết bị Nội dung chính: Khái niệm View đơn giản trang web một chức (header, footer, sidebar) đặt bên view khác View không gọi trực tiếp, phải tải lệnh bên controller 10 Tạo view Phân tích giao diện trang web theo hình ảnh ví dụ bên 25 Trong website có nhiều trang Hầu trang đề có bố cục, chức giống nhau, khác nội dung hiển thị vùng rộng lớn Xét giao diện trên, tài liệu HTML đơn giản sau: 2.1 Tạo view dùng chung Các trang có bố cục nội dung giống hai thành phần (đã đánh dấu khung chữ nhật) Chúng ta tạo view tương ứng Bước 1: Tạo thư mục application/views/shared Bước 2: Tạo tập tin application/views/shared/p1.php Bước 3: Tạo tập tin application/views/shared/p2.php 26 2.2 Tạo view nội dung cho trang Quy tắc chung: Với controller, tạo thư mục đặt bên application/views Tiếp theo, tạo view đặt bên thư mục vừ tạo Xét controller TacGia mục trước, có hàm index, add edit trang Danh sách tác giả, Thêm tác giả Sửa thông tin tác giả Bước 1: Tạo thư mục application/views/tacgia Bước 2: Tạo tập tin application/views/tacgia/index.php để hiển thị nội dung cho hàm index Lặp lại Bước để tạo tập tin hiển thị nội dung cho hàm add edit 11 Tải view Cập nhật hàm index controller TacGia để tải view shared/p1.php, shared/p2.php tacgia/index.php Tương tự vậy, cập nhật hàm _new edit Kiểm tra kết trang theo địa http://localhost/ignitersite1/index.php/tacgia http://localhost/ignitersite1/index.php/tacgia/add http://localhost/ignitersite1/index.php/tacgia/edit/1 12 Truyền liệu đến view Trong ví dụ bên dưới, truyền danh sách tác giả từ hàm index đến view application/views/tacgia/index.php Hiện tại, chưa truy cập đến CSDL nên sẽ tạo liệu thử dạng mảng Bước 1: Truyền liệu đến view Để truyền liệu vào cho view, cần đặt liệu vào tham số thứ hai hàm load->view 27 Bước 2: Xử lý liệu nhận view Cập nhật nội dung tập tin application/views/tacgia/index.php Kết có http://localhost/ignitersite1/index.php/tacgia truy 13 Form view Bước 1: Cập nhật hàm add controller TacGia Bước 2: Tạo tập tin application/views/tacgia/add.php 28 cập địa form_open(‘tacgia/store’): tạo thẻ form có thuộc tính method= “post” action= “/index.php/tacgia/store” (dữ liệu chuyển đến hàm store controller TacGia) Bước 3: Cập nhật hàm store controller TacGia Kiểm tra kết quả: mở trang http://localhost/ignitersite1/index.php/tacgia/add Không nhập tên, click chuột lên nút Submit Lỗi Tiếp tục mở lại trang http://localhost/ignitersite1/index.php/tacgia/add Nhập tên, click chuột lên nút Submit Thành công CÂU HỎI, BÀI TẬP 5.1 Tạo/cập nhật controller view tương ứng để có trang hiển thị Danh sách chủ để, Danh sách NXB (Tạo liệu thử dạng mảng) 5.2 Tạo/cập nhật controller view tương ứng để có trang chứa form cho phép nhập thơng tin Chủ đề, NXB, Tác giả (chưa cần ghi vào CSDL) 29 BÀI 6: MODEL Mã bài: 22.6 Giới thiệu: Model đối tượng chứa liệu trao đổi controller view Mục tiêu: Trình bày khái niệm cơng dụng Model Tạo model Tải model controller Truyền liệu từ model đến view Viết hàm truy xuất CSDL model Đặt tên hàm quy tắc Đảm bảo an tồn cho người thiết bị Nội dung chính: Khái niệm Model lớp đối tượng truy xuất CSDL Ví dụ: để đọc/thêm/xóa/sửa liệu table TacGia, cần tạo model Trong CodeIgniter, model lớp đối tượng dẫn xuất từ CI_Model Mỗi model định nghĩa tập tin, đặt thư mục application/models Tạo model Tạo tập tin application/models/tacgia_model.php để định nghĩa lớp đối tượng tacgia_model model, thực việc đọc/thêm/xóa/sửa liệu table TacGia 31 14 Định nghĩa hàm model 3.1 Cập nhật hàm GetList (Đọc nhiều dòng liệu) 3.2 Cập nhật hàm GetEntry (Đọc dòng liệu theo khóa) 32 3.3 Cập nhật hàm Insert (Thêm dòng liệu) 3.4 Cập nhật hàm Update (Cập nhật dòng liệu) 3.5 Cập nhật hàm Delete (Xóa dịng liệu) 15 Truy xuất CSDL thông qua model controller Cập nhật tập tin application/controllers/tacgia.php 4.1 Thêm hàm khởi tạo load->helper: tải thư viện chứa hàm hỗ trợ đọc nhanh thông tin url, uri, … Có thể mở tập tin system/helpers/url_helper.php xem hàm bên load->database: tải thư viện hỗ trợ truy xuất CSDL load->model: tải lớp đối tượng model 33 4.2 Cập nhật hàm index 4.3 Cập nhật tập tin application/views/tacgia/index.php CÂU HỎI, BÀI TẬP 6.1 Tạo model lại tương ứng với table CSDL bookstore, tương tự tacgia_model thực GỢI Ý, ĐÁP ÁN Tham khảo tập tin models/tacgia_model.php 34 BÀI 7: HOÀN CHỈNH CONTROLLER/VIEW Mã bài: 22.7 Giới thiệu: Ba thành phần mơ hình MVC phối hợp với trình bày cụ thể rõ ràng Mục tiêu: Biết quy trình truy xuất CSDL controller Biết quy trình truyền liệu đến view Tạo trang truy xuất CSDL Đặt tên tập tin quy tắc Đảm bảo an tồn cho người thiết bị Nội dung chính: Thêm liệu Cập nhật hàm store torng controller TacGia 16 Cập nhật liệu Bước 1: Cập nhật tập tin application/views/tacgia/index.php 35 Truy cập địa http://localhost/ignitersite1/index.php/tacgia để xem kết Bước 2: Cập nhật hàm edit controller TacGia Bước 3: Tạo tập tin application/views/tacgia/edit.php Bước 4: Cập nhật hàm update tron controller TacGia 36 17 Xóa liệu Cập nhật hàm delete controller TacGia CÂU HỎI, BÀI TẬP 7.1 Hồn chỉnh controller, view để có trang danh sách/thêm/xóa/sửa liệu bảng ChuDe 7.2 Hồn chỉnh controller, view để có trang danh sách/thêm/xóa/sửa liệu bảng NXB 7.3 Hoàn chỉnh controller, view để có trang danh sách/thêm/xóa/sửa liệu bảng Sach 37 TÀI LIỆU THAM KHẢO [1] http://codeigniter.com 39 ... THAM KHẢO 41 GIÁO TRÌNH MƠ ĐUN Tên mơ đun: Lập trình web PHP nâng cao Mã mơ đun: MĐ29 Vị trí, tính chất, ý nghĩa vai trị mơ đun: Sau học xong Lập trình web PHP & MySQL Cung cấp... sinh viên nghề Công nghệ Thông tin trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa – Vũng Tàu, thực biên soạn tài liệu Lập trình web PHP nâng cao Tài liệu biên soạn thuộc loại giáo trình phục vụ giảng... cấm LỜI GIỚI THIỆU Giáo trình ? ?Lập trình web PHP nâng cao? ?? biên soạn dựa khung chương trình đào tạo Cao đẳng nghề Cơng nghệ Thông tin Trường Cao đẳng Kỹ thuật Công nghê Bà Rịa – Vũng Tàu phê