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) - CĐ Kỹ thuật Công nghệ BR-VT

39 71 0
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) - CĐ Kỹ thuật Công nghệ BR-VT

Đ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

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) gồm có 7 đơn vị bài học, cung cấp cho người học kiến thức và kỹ năng để có thể thiết kế, xây dựng và phát triển ứng dụng web theo mô hình MVC dựa trên CodeIgniter Framework.

BM/QT10/P.ĐTSV/04/04 Ban hành lần: 3 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…… của Hiệu trưởng Trường Cao đẳng Kỹ thuật Cơng nghệ BR­VT) BÀ RỊA – VŨNG TÀU, NĂM 2020 TUN BỐ BẢN QUYỀN Nhằm đáp  ứng nhu cầu học tập và nghiên cứu cho giảng viên và sinh  viên nghề  Cơng nghệ  Thơng tin trong trường Cao đẳng Kỹ  thuật Cơng nghệ  Bà Rịa – Vũng Tàu, chúng tơi đã thực hiện biên soạn tài liệu Lập trình web  PHP nâng cao Tài liệu được biên soạn thuộc loại giáo trình phục vụ giảng dạy và học   tập, lưu hành nội bộ  trong Nhà trường nên các nguồn thơng tin có thể  được  phép dùng ngun bản hoặc trích dùng cho các mục đích về  đào tạo và tham   khảo Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh  doanh thiếu lành mạnh sẽ bị nghiêm cấm LỜI GIỚI THIỆU Giáo trình “Lập trình web PHP nâng cao” được biên soạn dựa trên khung   chương trình đào tạo Cao đẳng nghề  Cơng nghệ  Thơng tin đã được 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 một số  tài liệu, cơng nghệ  hiện đạ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ày. Nội dung được tác   giả  trình bày cơ động, dễ  hiểu kèm theo các bước hướng dẫn thực hành chi   tiết theo ngun tắc quan tâm đến kết quả  đầu ra, khả  năng tự  học và kỹ  năng cần thiết để  HSSV có thể  hồn thành  ứng dụng web quảng cáo sản   phẩm, thương mại điện tử, … bằng ngơn ngữ  PHP, một trong những ngơn  ngữ  lập trình  ứng dụng web thơng dụng hiện nay, đáp  ứng nhu cầu thực tế  của doanh nghiệp Nội dung giáo trình được chia thành 07 bài, trong đó: Bài 1: Tổng quan Bài 2: Tạo ứng dụng CodeIgniter đầu tiên Bài 3: Routing Bài 4: Controller Bài 5: View Bài 6: Model Bài 7: Hồn chỉnh Controller/View Trong q trình biên soạn, chắc chắn giáo trình cịn nhiều thiếu sót. Tác   giả rất mong nhận được ý kiến đóng góp của q thầy/cơ và các em học sinh,   sinh viên để tiếp tục hồn thiện hơn Xin chân thành cảm  ơn q đồng nghiệp, bạn bè đã có những ý kiến   đóng góp trong q trình biên soạn giáo trình này Bà Rịa – Vũng Tàu, ngày …… tháng …… năm ……… Tham gia biên soạn 1. 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 và vai trị của mơ đun: Sau khi học xong Lập trình web PHP & MySQL Cung cấp cho người học kiến thức và kỹ năng để có thể thiết kế, xây dựng  và phát  triển  ứng dụng web theo mơ hình MVC dựa trên CodeIgniter  Framework Mục tiêu của mơ đun: Về kiến thức: Trình bày được MVC Trình bày q trình route và xử lý u cầu trong site CodeIgniter Biết các 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 dữ liệu Model, Controller, View Biết quy trình truy xuất CSDL ­ Về kỹ năng: Tải và tạo site sử dụng framework CodeIgniter Tạo Route Tạo Model, Cotroller Định nghĩa các thuộc tính, phương thức cho Model Định nghĩa các hàm cho Controller Tạo View cho các hàm trong Controller Xây dựng các hàm truy xuất CSDL trong Model, Controller Tạo các View hiển thị dữ liệu Về năng lực tự chủ và 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 bằng các framework, CMS mã nguồn mở: Wordpress, Joomla,   … Lưu site đúng đường dẫn Đặt tên tập tin, thư mục đúng quy định Tự  tìm hiểu tài liệu nâng cao kiến thức và kỹ  năng xây dựng  ứng dụng  web theo mơ hình MVC Nội dung của mơ đun: BÀI 1: TỔNG QUAN Mã bài: 22.1 Giới thiệu: MVC là mơ hình ứng dụng web phổ biến hiện nay. 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 các thành phần trong mơ hình MVC Biết lợi ích của framework CodeIgniter Trình bày dịng xử lý của CodeIgniter sau khi tiếp nhận u cầu Tự tìm hiểu các thơng tin khác trên trang CodeIgniter Đảm bảo an tồn cho người và thiết bị Nội dung chính: Mơ hình MVC Model View Controller là một mơ hình kiến trúc theo hướng đối tượng, cho   phép người phát triển tách một ứng dụng thành 3 thành phần chính: Model: thành phần đại diện cho dữ  liệu của  ứng dụng, bao gồm cả chức   năng kiểm tra tính hợp lệ của dữ liệu View: thành phần đảm trách việc hiển thị dữ  liệu và các thành phần trong  giao diện người dùng Controller: thành phần có trách nhiệm tiếp nhận và xử  lý các u cầu gửi  đến cho  ứng dụng, làm nhiệm vụ  điều phối cơng việc giữa View và  Model   Việc phát triển  ứng dụng, nâng cấp, bảo trì và thử  nghiệm trở  nên đơn  giản và dễ dàng hơn Hình 1.1. Các thành phần trong mơ hình MVC Hình 1.2. Hoạt động của 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  bằng 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ý của ứng dụng web CodeIgniter Tập tin index.php khởi tạo các nguồn tài ngun cần thiết Route phân tích u cầu để quyết định cơng việc cần xử lý Nếu tập tin cache đã có, sẽ được gửi trực tiếp đến trình duyệt An tồn: trước khi controller được nạp, u cầu HTTP và dữ liệu nào được  submit đều được lọc Controller nạp model, thư  viện, helper, và các nguồn tài ngun cần thiết  khác để xử lý đáp ứng cho u cầu cụ thể Cuối cùng, view được diễn giải sau đó gửi cho trình duyệt. Nếu cache   được bật thì view được lưu vào cache trước rồi mới giải quyết u cầu CÂU HỎI, BÀI TẬP 1.1. Tên và chức năng của các thành phần trong mơ hình MVC? 1.2. Dịng xử lý của ứng dụng web CodeIgniter? Tổ chức controller trong thư mục Với các  ứng dụng web lớn, CodeIgniter cho phép nhà phát triển tách/tổ  chức  các controller trong thư mục con. Ví dụ: các trang/chức năng quản lý nội dung   được truy cập theo địa chỉ http://localhost/codeignitersite1/quantri Bước 1: Tạo thư mục application/controllers/quantri Bước 2: Tạo các controller trong thư mục application/controllers/quantri CÂU HỎI, BÀI TẬP 4.1. Tạo các controller Chude, Nxb, Sach với các hàm hành động bên trong,  tương tự controller Tacgia đã xây dựng ở trên GỢI Ý, ĐÁP ÁN Tham khảo tập tin controller/Tacgia.php BÀI 5: VIEW Mã bài: 22.5 Giới thiệu: View là một trong những thành phần trong mơ hình MVC, cơng dụng   chính là trao đổi dữ liệu với controller và hiển thị kết quả Mục tiêu: Biết khái niệm và cơng dụng của view Thiết kế được view và tải view trong các hàm controller Truyền dữ liệu từ controller đến view Truyền dữ liệu từ view đến controller thơng qua form Xử lý dữ liệu nhận được từ form Đảm bảo an tồn cho người và thiết bị Nội dung chính: Khái niệm View đơn giản là một trang web hoặc một một chức năng (header, footer,   sidebar) đặt bên trong một view khác View   không     gọi   trực   tiếp,     phải     tải     lệnh   bên   trong  controller Tạo view Phân tích giao diện trang web theo hình ảnh ví dụ bên dưới Trong một website có nhiều trang. Hầu như các trang đề có bố cục, chức năng  giống nhau, chỉ khác nhau về nội dung được hiển thị trên vùng rộng lớn nhất.  Xét giao diện trên, tài liệu HTML đơn giản có thể như sau: 2.1. Tạo view dùng chung Các trang đều có bố  cục và nội dung giống nhau trong hai thành phần (đã   được đánh dấu trong các khung chữ  nhật). Chúng ta lần lượt tạo các 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 2.2. Tạo view nội dung cho các trang Quy tắc chung: Với mỗi controller, chúng ta sẽ tạo một thư mục đặt bên trong  application/views. Tiếp theo, chúng ta sẽ tạo các view đặt bên trong thư  mục  vừ  tạo. Xét controller TacGia trong mục 3   bài trước, chúng ta có các hàm   index, add và edit lần lượt là các trang Danh sách tác giả, Thêm tác giả và 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 2 để tạo các tập tin hiển thị nội dung cho các hàm add và edit Tải view Cập nhật hàm index trong controller TacGia để  tải các view shared/p1.php,  shared/p2.php và tacgia/index.php Tương tự như vậy, cập nhật các hàm _new và edit Kiểm tra kết quả các trang theo địa chỉ lần lượt http://localhost/ignitersite1/index.php/tacgia http://localhost/ignitersite1/index.php/tacgia/add http://localhost/ignitersite1/index.php/tacgia/edit/1 Truyền dữ liệu đến view Trong ví dụ bên dưới, chúng ta sẽ truyền danh sách tác giả từ hàm index đến   view application/views/tacgia/index.php. Hiện tại, chúng ta chưa truy cập đến  CSDL nên sẽ chúng ta sẽ tạo dữ liệu thử dưới dạng mảng Bước 1: Truyền dữ liệu đến view. Để truyền dữ liệu vào cho view, chúng ta  chỉ cần đặt dữ liệu vào tham số thứ hai của hàm load->view Bước 2: Xử lý dữ liệu nhận được trê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   cập   địa   chỉ  Form trên view Bước 1: Cập nhật hàm add trong controller TacGia Bước 2: Tạo tập tin application/views/tacgia/add.php form_open(‘tacgia/store’): tạo thẻ  form có thuộc tính method= “post”  và action= “/index.php/tacgia/store” (dữ  liệu sẽ  được chuyển đến hàm store   của controller TacGia) Bước 3: Cập nhật hàm store trong 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 các controller và view tương  ứng để  có các trang hiển thị  Danh sách chủ để, Danh sách NXB (Tạo dữ liệu thử dưới dạng mảng) 5.2. Tạo/cập nhật các controller và view tương ứng để có cá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) BÀI 6: MODEL Mã bài: 22.6 Giới thiệu: Model là đối tượng chứa dữ liệu trao đổi giữa controller và view Mục tiêu: Trình bày khái niệm và cơng dụng của Model Tạo model Tải model trong controller Truyền dữ liệu từ model đến view Viết các hàm truy xuất CSDL trong model Đặt tên hàm đúng quy tắc Đảm bảo an tồn cho người và 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ể  đọc/thêm/xóa/sửa    liệu  trên  table   TacGia,   chúng  ta   cần  tạo     model.  Trong   CodeIgniter,     model       lớp   đối   tượng     dẫn   xuất   từ  CI_Model. Mỗi model được định nghĩa trong một tập tin, đặt trong thư  mục   application/models Tạo model Tạo tập tin  application/models/tacgia_model.php  để  định nghĩa một lớp đối  tượng tacgia_model là một model, thực hiện việc đọc/thêm/xóa/sửa dữ  liệu  trên table TacGia Định nghĩa các hàm trong model 3.1. Cập nhật hàm GetList (Đọc nhiều dịng dữ liệu) 3.2. Cập nhật hàm GetEntry (Đọc một dịng dữ liệu theo khóa) 3.3. Cập nhật hàm Insert (Thêm một dịng dữ liệu) 3.4. Cập nhật hàm Update (Cập nhật một dịng dữ liệu) 3.5. Cập nhật hàm Delete (Xóa một dịng dữ liệu) Truy xuất CSDL thơng qua model trong 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 các hàm hỗ trợ đọc nhanh các thơng tin url,   uri,   …   Có   thể   mở   tập   tin  system/helpers/url_helper.php  xem các hàm bên trong load->database: tải thư viện hỗ trợ truy xuất CSDL load->model: tải lớp đối tượng model 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 các model cịn lại tương  ứng với các table trong CSDL bookstore,  tương tự tacgia_model đã thực hiện trong bài GỢI Ý, ĐÁP ÁN Tham khảo tập tin models/tacgia_model.php BÀI 7: HỒN CHỈNH CONTROLLER/VIEW Mã bài: 22.7 Giới thiệu: Ba thành phần trong mơ hình MVC phối hợp với nhau như  thế  nào sẽ  được trình bày cụ thể và rõ ràng trong bài này Mục tiêu: Biết quy trình truy xuất CSDL trong controller Biết quy trình truyền dữ liệu đến view Tạo các trang truy xuất CSDL Đặt tên tập tin đúng quy tắc Đảm bảo an tồn cho người và thiết bị Nội dung chính: Thêm dữ liệu Cập nhật hàm store torng controller TacGia Cập nhật dữ liệu Bước 1: Cập nhật tập tin application/views/tacgia/index.php Truy cập địa chỉ http://localhost/ignitersite1/index.php/tacgia để xem kết quả Bước 2: Cập nhật hàm edit trong 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 Xóa dữ liệu Cập nhật hàm delete trong controller TacGia CÂU HỎI, BÀI TẬP 7.1. Hồn chỉnh controller, view để  có các trang danh sách/thêm/xóa/sửa dữ  liệu trong bảng ChuDe 7.2. Hồn chỉnh controller, view để  có các trang danh sách/thêm/xóa/sửa dữ  liệu trong bảng NXB 7.3. Hồn chỉnh controller, view để  có các trang danh sách/thêm/xóa/sửa dữ  liệu trong bảng Sach TÀI LIỆU THAM KHẢO http://codeigniter.com ... doanh thiếu lành mạnh sẽ bị nghiêm cấm LỜI GIỚI THIỆU Giáo? ?trình? ?? ?Lập? ?trình? ?web? ?PHP? ?nâng? ?cao? ?? được biên soạn dựa trên khung   chương? ?trình? ?đào tạo? ?Cao? ?đẳng nghề  Cơng? ?nghệ  Thơng? ?tin? ?đã được Trường  Cao? ?đẳng? ?Kỹ? ?thuật? ?Cơng nghê Bà Rịa – Vũng Tàu phê duyệt...  Cơng? ?nghệ  Thơng? ?tin? ?trong trường? ?Cao? ?đẳng? ?Kỹ ? ?thuật? ?Cơng? ?nghệ? ? Bà Rịa – Vũng Tàu, chúng tơi đã thực hiện biên soạn tài liệu? ?Lập? ?trình? ?web? ? PHP? ?nâng? ?cao Tài liệu được biên soạn thuộc loại? ?giáo? ?trình? ?phục vụ giảng dạy và học... đóng góp trong q? ?trình? ?biên soạn? ?giáo? ?trình? ?này Bà Rịa – Vũng Tàu, ngày …… tháng …… năm ……… Tham gia biên soạn 1. 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

Ngày đăng: 13/09/2021, 12:44

Từ khóa liên quan

Mục lục

  • CÂU HỎI, BÀI TẬP

  • 1. Tạo cơ sở dữ liệu

  • 2. Tải mã nguồn và tạo site

    • CÂU HỎI, BÀI TẬP

    • 1. Cấu hình site

      • CÂU HỎI, BÀI TẬP

      • GỢI Ý, ĐÁP ÁN

      • 1. Khái niệm

        • CÂU HỎI, BÀI TẬP

        • GỢI Ý, ĐÁP ÁN

        • 1. Khái niệm

          • CÂU HỎI, BÀI TẬP

          • 1. Khái niệm

          • 2. Tạo model

            • CÂU HỎI, BÀI TẬP

            • GỢI Ý, ĐÁP ÁN

            • 1. Thêm dữ liệu

              • CÂU HỎI, BÀI TẬP

Tài liệu cùng người dùng

Tài liệu liên quan