Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
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 20…… 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 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 toà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 10 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 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 u cầu để định cơng việc cần xử lý 11 − Nếu tập tin cache có, gửi trực tiếp đến trình duyệt − An toà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? 12 BÀI 2: TẠO ỨNG DỤNG CODEIGNITER ĐẦU TIÊN Mã bài: 22.2 Giới thiệu: Bài giúp HSSV tạo site từ mã nguồn CodeIgniter, khảo sát cấu trúc lưu trữ bên site tạo từ framework CodeIgniter Mục tiêu: − Biết địa để tải framework CodeIgniter − Biết cú pháp URI website viết theo mơ hình MVC − Tạo site CodeIgniter framework − Lưu site vào đường dẫn Nội dung chính: Tạo sở liệu Tạo nhập liệu cho CSDL bookstore theo yêu cầu − Table chude − Table nxb − Table tacgia − Table sach 13 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 33 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 34 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 Tạo view Phân tích giao diện trang web theo hình ảnh ví dụ bên 35 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 37 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 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 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 Bước 2: Xử lý liệu nhận view 39 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 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 41 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) 43 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 toà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 45 Đị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) 47 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) 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 49 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 51 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 toà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 Cập nhật liệu Bước 1: Cập nhật tập tin application/views/tacgia/index.php 53 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 55 Xóa liệu Cập nhật hàm delete controller TacGia CÂU HỎI, BÀI TẬP 7.1 Hoà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 Hồn chỉnh controller, view để có trang danh sách/thêm/xóa/sửa liệu bảng Sach 57 TÀI LIỆU THAM KHẢO [1] http://codeigniter.com 59 ... 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... 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 GIÁO TRÌNH MƠ ĐUN Tên mơ đun: Lập trình web PHP nâng cao Mã mơ đun: ... 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ê