1. Trang chủ
  2. » Công Nghệ Thông Tin

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 73 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 1,56 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.

Trang 1

BM/QT10/P.ĐTSV/04/04 Ban hành l n: 3 ầ

BÀ R A – VŨNG TÀU, NĂM 2020

Trang 2

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  đồ ể ượ  cphép dùng nguyên 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.ế ạ ẽ ị ấ

Trang 3

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ườ  ngCao đ 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 nguyên 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  hoà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ữ ậ ứ ụ ụ ệ ứ ầ ự ế 

Trong quá 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 quý th y/cô và các em h c sinh,ế ủ ầ ọ  sinh viên đ  ti p t c hoàn thi n h n.ể ế ụ ệ ơ

Xin chân thành c m  n quý đ ng nghi p, b n bè đã có nh ng ý ki nả ơ ồ ệ ạ ữ ế  đóng góp trong quá 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ủ

Trang 5

M C L CỤ Ụ

Trang 6

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 quá trình route và x  lý yêu c u trong site CodeIgniterử ầ

Bi t các bế ướ ạc t o website PHP s  d ng framework CodeIgniterử ụ

Trang 7

Tham   gia   xây   d ng   các   ch c   năng   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:ộ ủ

Trang 8

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,   trong   s   đó   cóồ ở ữ ớ ố  framework CodeIgniter

Controller: thành ph n có trách nhi m ti p nh n và x  lý các yê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.ả ễ ơ

Trang 9

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.ằ ữ ớ ề ư ể

Trang 10

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 nguyên c n thi t.ậ ở ạ ồ ầ ế

Route phân tích yê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 toàn: trước khi controller được n p, yêu c u HTTP và d  li u nào đạ ầ ữ ệ ượ  csubmit đ u đề ượ ọc l c

Controller n p model, th  vi n, helper, và các 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 đố ượ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 yê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?ử ủ ứ ụ

Trang 11

BÀI 2: T O  NG D NG CODEIGNITER Đ U TIÊNẠ Ứ Ụ Ầ

Trang 12

Quan hệ

D  li uữ ệ

Trang 13

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

Bước 1: truy c p trang web ậ http://codeigniter.com

Bước 2: click chu t lên bi u tộ ể ượng Download đ  t i mã ngu nể ả ồ

Bước 3: gi i nén t p tin đã t iả ậ ả

Bước   4:   copy   các   t p   tin   và   th   m c   bên   trong   vàoậ ư ụ  C:\xampp\htdocs\IgniterSite1

(C:\xampp là th  m c c  gói XAMPP đã đ ư ụ ủ ượ c cài đ t trên máy tính ặ )

Trang 14

Hình 2.1. Mã ngu n CodeIgniter ồ

Bước   5:   T o   IgniterSite1   đ n   C:\xampp\htdocs\IgniterSite1   trongạ ế  DreamWeaver

Trang 15

C u trúc th  m cấ ư ụ

Hình 2.2. C u trúc t p tin, th  m c bên trong site CodeIgniter ấ ậ ư ụ

config: ch a các t p tin c u hìnhứ ậ ấ

controllers: ch a các t p tin đ nh nghĩa controllerứ ậ ị

models: ch a các t p tin đ nh nghĩa l p đ i tứ ậ ị ớ ố ượng model

views: ch a các t p tin giao di n (view)ứ ậ ệ

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

2.1. T i mã ngu n và t o site tracuudiemả ồ ạ

2.2. Tên th  m c ch a các t p tin c u hình?ư ụ ứ ậ ấ

Trang 16

T o m t trang đ n gi nạ ộ ơ ả

Đ t tên t p tin, th  m c đúng quy t cặ ậ ư ụ ắ

Trang 17

1.2. Đ c thông tin c u hìnhọ ấ

Cú pháp

Ví d : M  t p tin ụ ở ậ application/views/welcome_message.php và c p nh t nhậ ậ ư sau:

Trang 18

Truy c p l i trang trên trình duy t đ  xem k t qu ậ ạ ệ ể ế ả

1.3. T o thông tin c u hình riêngạ ấ

B1: T o t p tin c u hình  ạ ậ ấ application/config/customconfig.php  và nh p n iậ ộ  dung nh  sau:ư

B2:   T i   t p   tin   c u   hình   riêng   Mả ậ ấ ở   t p   tinậ  

application/controllers/Welcome.php và c p nh t cho hàm ậ ậ index

B3: Đ c thông tin c u hình riêngọ ấ

M  t p tin application/views/welcome_message.php và c p nh t n i dung nhở ậ ậ ậ ộ ư sau:

C u trúc đ a chấ ị ỉ

Đ a ch  site theo mô hình MVC có c u trúc t ng quát nh  sau:ị ỉ ấ ổ ư

N u không có method thì hàm hành đ ng index s  đế ộ ẽ ược g i.ọ

Trang 19

controller: l p đ i tớ ố ượng nh n x  lý yêu c uậ ử ầ

method: hàm hành đ ng độ ược g i c a controllerọ ủ

arguments: tham s  truy n vào hàm hành đ ngố ề ộ

Trang 20

Khi đ a ch  truy c p đị ỉ ậ ược tìm th y trong t p tin routes.php thì s  đấ ậ ẽ ược x  lýử  theo quy t c bên trong routes.php. Ngắ ượ ạc l i, yêu c u s  đầ ẽ ược x  lý theo c uử ấ  trúc t ng quát (đã trình bày trong M c 3.1).ổ ụ

V i đ nh nghĩa route nh  trên, các controller, method và arguments s  đớ ị ư ẽ ượ  ctruy n khi truy c p đ a ch  tề ậ ị ỉ ương  ng nh  sau:ứ ư

Trang 21

Nh  phân tích v i các ví d  trên,  ng d ng c n ph i có controller ư ớ ụ ứ ụ ầ ả home v iớ  các hàm index và view.

T o t p tin ạ ậ application/controllers/Home.php v i n i dung bên d i.ớ ộ ướ

Đã t o xong controller home v i các method (hàm hành đ ng) index và view.ạ ớ ộTruy c p trang theo đ a ch  c a 3 ví d  trên đ  xem k t qu ậ ị ỉ ủ ụ ể ế ả

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

C p nh t t p tin ậ ậ ậ application/config/routes.php và t o các controller đ  hi nạ ể ể  

th  k t qu  v i đ a ch  truy c p tị ế ả ớ ị ỉ ậ ương  ng nh  sau:ứ ư

Trang 23

Trình bày khái ni m và công d ng c a Controllerệ ụ ủ

T o đạ ượ ớc l p đ i tố ượng k  th a controllerế ừ

M i   controller   đỗ ược   đ nh   nghĩa   trong   m t   t p   tin   đ t   trong   th   m cị ộ ậ ặ ư ụ  

application/ controllers. M i controller là m t l p đ i t ng đ c d n su tỗ ộ ớ ố ượ ượ ẫ ấ  

t  ừCI_Controller.

Cú pháp

<?php

defined(‘BASEPATH’) or exit (‘Truy cap trai phep’);

class <TênController> extends CI_Controller{

Trang 25

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ả ậ

Trang 26

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 toàn cho ngả ả ười và thi t bế ị

Trang 27

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ạ ư ụ

Trang 28

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

Trang 29

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   quế ả   có   được   khi   truy   c p   đ a   chậ ị ỉ http://localhost/ignitersite1/index.php/tacgia

Trang 30

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ậ ậ

Trang 31

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

Trang 32

Model   là   l p   đ i   tớ ố ượng   chính   truy   xu t   CSDL   Ví   d :   đ   có   thấ ụ ể ể 

đ c/thêm/xóa/s a d  li u trên table TacGia, chúng ta c n t o m t model.ọ ử ữ ệ ầ ạ ộ  Trong   CodeIgniter,   m t   model   là   m t   l p   đ i   tộ ộ ớ ố ượng   được   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.

2 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

Trang 33

Đ 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)ậ ậ ọ ề ữ ệ

Trang 34

3.2. C p nh t hàm GetEntry (Đ c m t dòng d  li u theo khóa)ậ ậ ọ ộ ữ ệ

Trang 35

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ả ậ

Trang 36

BÀI 7: HOÀ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.ụ ể

Trang 37

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ậ ậ

Trang 39

TÀI LI U THAM KH OỆ Ả

http://codeigniter.com

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

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w