TMĐT: Thương mại điện tử - Chương 2: Giới Thiệu Website nhiều nội dung Giới thiệu tổng quan về website nhiều nội dung, cũng như những đặc điểm, ưu nhược điểm, kiến trúc, các thành phần t
Trang 1PHỤ BÌA
LỜI CẢM ƠN Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin trường Đại học Giao Thông Vận Tải TpHCM đã tạo điều kiện tốt cho chúng em thực hiện đề tài thực tập tốt nghiệp này.
Trong suốt thời gian làm đề tài, chúng em đã nhận được rất nhiều sự giúp đỡ.Ở phần đầu tiên của thực tập tốt nghiệp, cho phép chúng em có đôi điều gửi đến những người chúng em vô cùng biết ơn.
Chúng em xin gửi lời cảm ơn chân thành nhất đến thầy Nguyễn Lương Anh Tuấn thầy
đã tận tình hướng dẫn, động viên và giúp đỡ chúng em trong suốt thời gian qua.Nhờ
Trang 2những lời chỉ dẫn, những tài liệu, những lời động viên, khích lệ của Thầy mà đề tài thực tập rốt nghiệp của chúng em đã hoàn thành.
Chúng con xin gửi lời cảm ơn sâu sắc nhất đến bố mẹ, anh chị, những người thân trong gia đình đã luôn dành tình yêu thương, hỗ trợ, và dõi theo bước đi của chúng con trong những năm học vừa qua.
Xin tri ân tất cả các Thầy Cô, những người đã dày công dạy dỗ, truyền đạt cho chúng em rất nhiều tri thức quý báu.
Xin cảm ơn tất cả bạn bè, những người đã sát cánh cùng vui những niềm vui, cùng chia sẻ những khó khăn và giúp đỡ chúng em rất nhiều trong quá trình thực hiện
đề tài thực tập tốt nghiệp.
Mặc dù chúng em đã cố gắng hết sức để hoàn thành thực tập tốt nghiệp trong phạm vi và khả năng cho phép nhưng chắc chắn vẫn không thể tránh khỏi những thiếu sót Chúng em kính mong nhận được sự chỉ bảo tận tình của quý Thầy Cô.
Thành phố Hồ Chí Minh, tháng 11 năm 2012
Sinh viên thực hiện Nguyễn Thanh
MỤC LỤC
Trang 3DANH SÁCH CÁC HÌNH VẼ VÀ CHỮ VIẾT TẮT Danh sách các hình:
Hình 2-1: Thành phần cơ bản của 1 website nhiều nội dung………trang 19
Hình 3-1: Cấu trúc của kernel……… trang 26 Hình 3-2: Cấu trúc của kernel (tt)……… trang 29
Hình 3-3: Cấu trúc của language………trang 30 Hình 3-4: Cấu trúc của public……… trang 31 Hình 3-5: Cấu trúc của template……… trang 32 Hình 3-6: Cấu trúc của tools……….trang 33 Hình 4-1: Module thông tin doanh nghiệp………trang 38
Hình 4-2: Module logo – banner……….trang 39 Hình 4-3: Module tin tức………trang 40 Hình 4-4: Module sản phẩm……….trang 41 Hình 4-5: Module đơn hàng……….trang 42 Hình 4-6: Module tùy chỉnh giao diện………trang 44 Hình 4-7: Module quản lý thành viên……….trang 45 Hình 4-8: Module quản lý các thiết lập……….trang 46
Hình 4-9: Module thống kê………trang 47 Hình 4-10: Trang sản phẩm……….trang 48 Hình 4-11: Trang tin tức……… trang 49 Hình 4-12: Giỏ hàng……….trang 50
Danh sách các chữ viết tắt:
Trang 41 PHP: Hypertext Preprocessor (Viết tắt hồi quy)
2 HTML: HyperText Markup Language
3 PHP/FI: Personal Home Page/Forms Interpreter
4 HTTP: HyperText Transfer Protocol
5 OOP: Object-Oriented Programming
6 XML: eXtensible Markup Language
7 XSLT: Extensible Stylesheet LanguageTransformations
8 PDO: PHP Data Objects
9 API: Application Programming Interface
10 SEO: Search Engine Optimization
11 TMĐT: Thương mại điện tử
- Chương 2: Giới Thiệu Website nhiều nội dung
Giới thiệu tổng quan về website nhiều nội dung, cũng như những đặc điểm, ưu nhược điểm, kiến trúc, các thành phần tạo nên website nhiều nội dung
- Chương 3: Web service với ngôn ngữ PHP
Giới thiệu tổng quát ngôn ngữ PHP là gì? Giới thiệu sâu hơn về website nhiều nộidung với ngôn ngữ PHP Cấu trúc của mã nguồn
Trang 5- Chương 4: Ứng dụng website nhiều nội dung xây dựng web ishopping
Giới thiệu tổng quan về trang web, các chức năng chính của trang web
- Chương 5: Kết luận và hướng phát triển
Nêu ra những vấn đề đã làm được cũng như những hạn chế còn tồn tại, bên cạnh
đó cũng đưa ra hướng phát triển cho đề tài
Chương 1: MỞ ĐẦU
1.1 Nhu cầu thực tế và lý do chọn đề tài:
- Ngày nay với sự phát triển mạnh mẽ như vũ bão của mạng internet thì việc quảng
bá thương hiệu trên Internet là một phần không thể thiếu khi đưa thông tin sảnphẩm tiếp cận với người dùng Với những ưu thế vượt trội của quảng cáo trựctuyến:
o Tốc độ phát tán: Quảng cáo Internet phát tán thông điệp ngay lập tức
o Chất lượng nội dung: Quảng cáo trên web không bị giới hạn về nội dung,
Trang 6o Mở rộng thị trường: Với chi phí đầu tư nhỏ hơn nhiều so với thương mạitruyền thống, các công ty có thể mở rộng thị trường, tìm kiếm, tiếp cậnngười cung cấp, khách hàng và đối tác trên khắp thế giới Việc mở rộngmạng lưới nhà cung cấp, khách hàng cũng cho phép các tổ chức có thểmua với giá thấp hơn và bán được nhiêu sản phẩm hơn.
o Giảm chi phí sản xuất: Giảm chi phí giấy tờ, giảm chi phí chia xẻ thôngtin, chi phí in ấn, gửi văn bản truyền thống
o Cải thiện hệ thống phân phối: Giảm lượng hàng lưu kho và độ trễ trongphân phối hàng Hệ thống cửa hàng giới thiệu sản phẩm được thay thếhoặc hỗ trợ bởi các showroom trên mạng, ví dụ ngành sản xuất ô tô (Ví dụnhư Ford Motor) tiết kiệm được chi phí hàng tỷ USD từ giảm chi phí lưukho
o Vượt giới hạn về thời gian: Việc tự động hóa các giao dịch thông qua Web
và Internet giúp hoạt động kinh doanh được thực hiện 24/7/365 mà khôngmất thêm nhiều chi phí biến đổi
o Sản xuất hàng theo yêu cầu: Còn được biết đến dưới tên gọi “Chiến lượckéo”, lôi kéo khách hàng đến với doanh nghiệp bằng khả năng đáp ứngmọi nhu cầu của khách hàng Một ví dụ thành công điển hình là DellComputer Corp
o Mô hình kinh doanh mới: Các mô hình kinh doanh mới với những lợi thế
và giá trị mới cho khách hàng Mô hình của Amazon.com, mua hàng theonhóm hay đấu giá nông sản qua mạng đến các sàn giao dịch B2B là điểnhình của những thành công này
o Tăng tốc độ tung sản phẩm ra thị trường: Với lợi thế về thông tin và khảnăng phối hợp giữa các doanh nghiệp làm tăng hiệu quả sản xuất và giảmthời gian tung sản phẩm ra thị trường
o Giảm chi phí thông tin liên lạc
o Giảm chi phí mua sắm: Thông qua giảm các chi phí quản lý hành chính(80%); giảm giá mua hàng (5-15%)
Trang 7o Củng cố quan hệ khách hàng: Thông qua việc giao tiếp thuận tiện quamạng, quan hệ với trung gian và khách hàng được củng cố dễ dàng hơn.Đồng thời việc cá biệt hóa sản phẩm và dịch vụ cũng góp phần thắt chặtquan hệ với khách hàng và củng cố lòng trung thành.
o Thông tin cập nhật: Mọi thông tin trên web như sản phẩm, dịch vụ, giácả đều có thể được cập nhật nhanh chóng và kịp thời
o Chi phí đăng ký kinh doanh: Một số nước và khu vực khuyến khích bằngcách giảm hoặc không thu phí đăng ký kinh doanh qua mạng Thực tế,việc thu nếu triển khai cũng gặp rất nhiều khó khăn do đặc thù củaInternet
o Các lợi ích khác: Nâng cao uy tín, hình ảnh doanh nghiệp; cải thiện chấtlượng dịch vụ khách hàng; đối tác kinh doanh mới; đơn giản hóa và chuẩnhóa các quy trình giao dịch; tăng năng suất, giảm chi phí giấy tờ; tăng khảnăng tiếp cận thông tin và giảm chi phí vận chuyển; tăng sự linh hoạt tronggiao dịch và hoạt động kinh doanh
- Lợi ích đối với người tiêu dùng:
o Tùy từng nhóm khách hàng: Nhiều lựa chọn về sản phẩm, dịch vụ hơn
o Vượt giới hạn về không gian và thời gian: Thương mại điện tử cho phépkhách hàng mua sắm mọi nơi, mọi lúc đối với các cửa hàng trên khắp thếgiới
o Nhiều lựa chọn về sản phẩm và dịch vụ: Thương mại điện tử cho phépngười mua có nhiều lựa chọn hơn vì tiếp cận được nhiều nhà cung cấphơn
o Giá thấp hơn: Do thông tin thuận tiện, dễ dàng và phong phú hơn nênkhách hàng có thể so sánh giá cả giữa các nhà cung cấp thuận tiện hơn và
từ đó tìm được mức giá phù hợp nhất
Trang 8o Giao hàng nhanh hơn với các hàng hóa số hóa được: Đối với các sản phẩm
số hóa được như phim, nhạc, sách, phần mềm việc giao hàng được thựchiện dễ dàng thông qua Internet
o Thông tin phong phú, thuận tiện và chất lượng cao hơn: Khách hàng có thể
dễ dàng tìm được thông tin nhanh chóng và dễ dàng thông qua các công cụtìm kiếm (search engines); đồng thời các thông tin đa phương tiện (âmthanh, hình ảnh)
o Đấu giá: Mô hình đấu giá trực tuyến ra đời cho phép mọi người đều có thểtham gia mua và bán trên các sàn đấu giá và đồng thời có thể tìm, sưu tầmnhững món hàng mình quan tâm tại mọi nơi trên thế giới
o Cộng đồng thương mại điện tử: Môi trường kinh doanh TMĐT cho phépmọi người tham gia có thể phối hợp, chia xẻ thông tin và kinh nghiệm hiệuquả và nhanh chóng
o “Đáp ứng mọi nhu cầu”: Khả năng tự động hóa cho phép chấp nhận cácđơn hàng khác nhau từ mọi khách hang
o Thuế: Trong giai đoạn đầu của TMĐT, nhiều nước khuyến khích bằngcách miến thuế đối với các giao dịch trên mạng
- Lợi ích đối với xã hội:
o Hoạt động trực tuyến: Thương mại điện tử tạo ra môi trường để làm việc,mua sắm, giao dịch từ xa nên giảm việc đi lại, ô nhiễm, tai nạn
o Nâng cao mức sống: Nhiều hàng hóa, nhiều nhà cung cấp tạo áp lực giảmgiá do đó khả năng mua sắm của khách hàng cao hơn, nâng cao mức sốngcủa mọi người
o Lợi ích cho các nước nghèo: Những nước nghèo có thể tiếp cận với cácsản phẩm, dịch vụ từ các nước phát triển hơn thông qua Internet vàTMĐT Đồng thời cũng có thể học tập được kinh nghiệm, kỹ năng đượcđào tạo qua mạng
o Dịch vụ công được cung cấp thuận tiện hơn: Các dịch vụ công cộng như y
tế, giáo dục, các dịch vụ công của chính phủ được thực hiện qua mạng
Trang 9với chi phí thấp hơn, thuận tiện hơn Cấp các loại giấy phép qua mạng, tưvấn y tế là các ví dụ thành công điển hình.
- Khi bạn xây dựng và phát triển một website dùng để quảng bá thương hiệu trêninternet, thường thì bạn sẽ gặp phải những vấn đề như: tốn một khoảng tiền (3 - 5triệu) và một khoảng thời gian (2 - 4 tuần) để thuê một công ty chuyên về thiết kế vàtạo ra mã nguồn cho website của bạn Website nhiều nội dung sẽ giúp bạn tiết kiệmrất lớn về hai vấn đề nêu trên
- Ý tưởng website nhiều nội dung dựa trên ý tưởng quản lý tập trung dữ liệu trên môitrường internet Mã nguồn của website nhiều nội dung được phát triển một lần và chỉ
có một nhưng được sử dụng cho nhiều site khác nhau, có tính mở rộng để phát triểndần dần các tính năng mới cho website
- Website nhiều nội dung đưa ra cho bạn nhiều lựa chọn về cả nội dung và giao diệnwebsite Bạn có thể thay đổi theo sở thích của bạn một cách nhanh chóng và ngay lậptức Và quan trọng hơn là bạn sẽ không phải tốn thêm một khoản chi phí nào chonhững sự thay đổi ấy
1.2 Mục đích
- Xây dựng một hệ thống Website có chất lượng:
o Nội dung hấp dẫn, đầy đủ, hợp với chủ ý của việc xây dựng website
o Được sắp xếp, bố cục một cách hợp lý, tạo điều kiện cho người đọc dễ địnhhướng trong website Hình thức đẹp, phù hợp với chủ đề nội dung
o Tương thích với nhiều trình duyệt phổ dụng như: Internet Explorer, Firefox,Opera…
o Thuận tiện cho các thao tác sử dụng, có thiết kế đẹp, bảng màu phù hợp, cócấu trúc chuyên mục thông tin rõ ràng
Trang 10o Tìm kiếm nhanh nội dung trên website.
- Xây dựng một hệ thống website đa năng với các tiêu chí:
o Thời gian hoàn thành website nhanh chóng 3 - 5 ngày
o Chi phí thiết kế & duy trì rất tiết kiệm
o Giao diện tiếng Việt có video hướng dẫn giúp dễ quản lý và cập nhật nội dung, hình ảnh, sản phẩm
o Rất nhiều chức năng chuyên nghiệp
o Thay đổi giao diện cực nhanh, nhiều chủ đề, nếu bạn bán hàng trong dịp tết hay giáng sinh, valetine bạn có thể thay đổi giao diện lễ tết, giáng sinh cho sinh động
o Thay đổi bố cục website theo ý muốn
o Tích hợp thanh toán Ngân Lượng, Paypal, Bảo kim
o Tối ưu mã nguồn tìm kiếm Google, yahoo toàn diện giúp tiếp cận khách hàng nhanh chóng, dễ dàng
o Tích hợp Google Maps, để hướng dẫn đường đi cho khách hàng của bạn
o Hình ảnh Flash chuyên nghiệp
1.3 Đối tượng
- Tìm hiểu ngôn ngữ lập trình website PHP là gì?
- Tìm hiểu ngôn ngữ đánh dấu HTML là gì?
- Tìm hiểu ngôn ngữ dàn trang CSS là gì?
- Tìm hiểu một ngôn ngữ thông dịch Javascript là gì?
- Tìm hiểu website nhiều nội dung và xây dựng ứng dựng bằng ngôn ngữ php
1.4 Phạm vi nghiên cứu
- Nghiên cứu và tìm hiểu về website nhiều nội dung
- Nghiên cứu cách thức hoạt động của website nhiều nội dung
- Nghiên cứu xây dựng website nhiều nội dung bằng ngôn ngữ PHP và từ đó xây dựngtrang web i-shopping dựa trên ứng dụng của website nhiều nội dung
Trang 11Chương 2:GIỚI THIỆU WEBSITE NHIỀU NỘI DUNG
2.1 Giới thiệu về website nhiều nội dung
- Website nhiều nội dung là website có một mã nguồn nhưng có khả năng cho ranhiều giao diện khác nhau tương ứng với nhiều database và hình ảnh thông tinkhác nhau Sự khác nhau giữa các tên miền (domain) khi truy cập sẽ dẫn đến sựkhác nhau về những nội dung mà website nhiều nội dung trả về
- Có thể nói website nhiều nội dung như một hệ thống lớn, khi người dùng truy cậpvới những tên miền khác nhau, hệ thống sẽ trả về những nội dung của tên miền
đó chứ không như cách hoạt động của những website thông thường là luôn luônhiển thị những giao diện và nội dung đã được thiết lập sẵn
- Bạn không cần phải hiểu về kỹ thuật, thông qua hướng dẫn 4 bước trực quan trên
hệ thống, bạn sẽ dễ dàng tạo ra website cho mình trong vòng 10 phút.Và chỉ trongvài giờ, website của bạn lên internet
- Với chi phí cho việc thiết kế và vận hành website dưới một triệu đồng cho nămđầu tiên, bạn không còn phải bận tâm về giá thành Các năm tiếp theo, bạn chỉphải trả phí vận hành mà thôi
- Với nhiều giao diện được thiết kế chuyên nghiệp và cập nhật liên tục vào thư việnthiết kế của hệ thống, bạn hoàn toàn là người quyết định phong cách cho bộ-mặt-trực-tuyến của mình Bạn hoàn toàn thay đổi logo, hình ảnh, video, nội dung, sảnphẩm, bản đồ cho mình
2.2 Ưu và nhược điểm
2.2.1 Ưu điểm
- Website nhiều nội dung có khả năng mở rộng rất lớn về số lượng nội dung.Nếu đảm bảo về vấn đề phần cứng – máy chủ và đường truyền mạng – thìmột website nhiều nội dung có thể cung cấp cả trăm nội dung với chỉ một mãnguồn
- Vì có khả năng mở rộng về các tính năng nên chúng ta có thể phát triển dầndần để có thể cho người dùng nhiều sự chọn lựa về các tính năng
Trang 12- Về mặt giao diện: website nhiều nội dung có thể tích hợp bao nhiêu giao diệntùy thích Càng về sau, kho giao diện càng nhiều cho phép khách hàng thayđổi nhanh chóng
- Để tạo thêm một giao diện và một nội dung mới rất đơn giản và chỉ mấtkhoảng 1-5 phút là khách hàng có thể sử dụng website ngay lập tức mà chiphí lại rất thấp
- Đối tượng khác hàng mà website nhiều nội dung hướng tới là các doanhnghiệp vừa và nhỏ, các cửa hàng và cá nhân muốn quảng bá sản phẩm vàthương hiệu của mình mà không phải tốn nhiều tiền để đầu tư cho việc quảngcáo này
- Từ những ưu điểm trên, website nhiều nội dung luôn được sự tín nhiệm và làcách lựa chọn đầu tiên của người dùng
- Phải quan tâm nhiều hơn đến các vấn đề tăng tốc độ cho website cũng nhưnghạn chế đến mức thấp nhất việc gửi yêu cầu trực tiếp vào hệ thống cơ sở dữliệu để tránh tình trạng quá tải cho máy chủ cung cấp cơ sở dữ liệu
2.3. Các thành phần của website nhiều nội dung
- Một website nhiều nội dung phải có ít nhất các thành phần cơ bản sau:
o Control & Config
o Module
o Package
o Profile
Trang 13o Template
Hình 2-1: Thành phần cơ bản của 1 website nhiều nội dung
2.3.1 Control & Config
- Config: Chứa các thông tin cấu hình hệ thống như: Thông tin kết nối database,chuẩn bị tất cả function…
- Control: Có nhiệm vụ điều hướng các yêu cầu (request) từ khách hàng để đếnđúng nội dung mà khách hàng mong muốn dựa vào tên miền mà khách hàng đórequest…
2.3.2 Module
- Đây là nơi chứa tất cả các module của hệ thống như: module sản phẩm, moduletin tức, module đơn hàng…Khi muốn nâng cấp hệ thống ta có thể thêm mới cácmodule ở đây
Trang 142.3.3 Package
- Cấu trúc của các gói web được xây dựng ở đây Hiện tại trong hệ thống có 3 góiweb, đó là: web bán hàng, web tin tức, web giới thiệu Sự phân loại rõ ràng nhằmmục đích sau này chúng ta có thể phát triển thêm nhiều dạng web khác nhau đápứng yêu cầu của khách hàng
2.3.4 Profile
- Đây là thư mục chứa tài liệu, hình ảnh sản phẩm… của từng nội dung Mỗi nộidung sẽ được tạo một thư mục có tên giống với tên miền của nội dung… Hệthống có bao nhiêu tên miền thì sẽ có bấy nhiêu thư mục để cho khách hàng cóthể upload tài liệu của mình
2.3.5 Templates
- Thành phần này chứa tất cả các gói giao diện để khách hàng có thể chọn tùy theonhu cầu, nội dung của họ Mỗi giao diện sẽ tương ứng với một gói web Có thể bổsung dần dần các gói giao diện để hệ thống thêm sinh động
Chương 3: WEBSITE NHIỀU NỘI DUNG VỚI NGÔN NGỮ PHP
3.1 Tổng quan về website nhiều nội dung trong ngôn ngữ PHP
3.1.1 PHP là gì?
- PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trìnhkịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viếtcho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp vớiweb và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứngdụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gianxây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đãnhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới
Trang 15- Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàngnhư thế nào:
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và
có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển
ở quy mô doanh nghiệp
3.1.2 Lịch sử phát triển của PHP
Trang 16- PHP được phát triển từ một sản phẩm có tên là PHP/FI PHP/FI do RasmusLerdorf tạo ra năm 1995, ban đầu được xem như là một tập con đơn giản của các
mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trênmạng Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools' Khicần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớnhơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triểncác ứng dụng web đơn giản Rasmus đã quyết định công bố mã nguồn củaPHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thờicải tiến mã nguồn
- PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một sốcác chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay Nó có cácbiến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTMLnhúng Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và
có phần thiếu nhất quán
- Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút đượchàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã đượcghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet.Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã nguồncủa dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người
- PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời giankhá dài chỉ được công bố dưới dạng các bản beta Nhưng không lâu sau đó, nó
đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0
Trang 17- PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với cácphiên bản PHP mà chúng ta được biết ngày nay Nó đã được Andi Gutmans vàZeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó.
Lý do chính mà họ đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0 hếtsức yếu kém trong việc phát triển các ứng dụng thương mại điện tử mà họ đangxúc tiến trong một dự án của trường đại học Trong một nỗ lực hợp tác và bắtđầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus vàZeev đã quyết định hợp tác và công bố PHP 3.0 như là phiên bản thế hệ kế tiếpcủa PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0
- Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộngmạnh mẽ của nó Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạtầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, cáctính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và
đề xuất các mô đun mở rộng mới Hoàn toàn có thể kết luận được rằng đâychính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0 Các tínhnăng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đốitượng và nhiều cú pháp ngôn ngữ nhất quán khác
- Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ mốiliên hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0gợi nhắc Nó đã được đặt tên ngắn gọn là 'PHP', một kiểu viết tắt hồi quy của
Trang 18- PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9tháng được cộng đồng kiểm nghiệm.
- Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, AndiGutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP.Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cảitiến tính mô đun của cơ sở mã PHP Những ứng dụng như vậy đã chạy đượctrên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữliệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý cácứng dụng phức tạp như thế này một cách có hiệu quả
- Một động cơ mới, có tên 'Zend Engine' (ghép từ các chữ đầu trong tên của Zeev
và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công, và lầnđầu tiên được giới thiệu vào giữa năm 1999 PHP 4.0, dựa trên động cơ này, và
đi kèm với hàng loạt các tính năng mới bổ sung, đã chính thức được công bốvào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời Ngoài tốc độ xử
lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm
có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệmthông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mậthơn và cung cấp một vài các cấu trúc ngôn ngữ mới
- Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàngtriệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạngInternet
- Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìnngười khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL vàtài liệu kĩ thuật cho PHP
Trang 19- Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triểnPHP tự mãn Cộng đồng PHP đã nhanh chóng giúp họ nhận ra những yếu kémcủa PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lýXML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợdịch vụ web yếu Những điểm này chính là mục đích để Zeev và Andi viết ZendEngine 2.0, lõi của PHP 5.0 Một thảo luận trên Slashdot đã cho thấy việc pháttriển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm 2002 nhưng nhữngbài phỏng vấn Zeev liên quan đến phiên bản này thì đã có mặt trên mạngInternet vào khoảng tháng 7 năm 2002 Ngày 29 tháng 6 năm 2003, PHP 5 Beta
1 đã chính thức được công bố để cộng đồng kiểm nghiệm Đó cũng là phiên bảnđầu tiên của Zend Engine 2.0 Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10năm 2003 với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators,Reflection nhưng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi
mã nguồn Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiểmtra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi cáchàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới PHP
5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài cácbản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3 Mặc dù coi đây là phiên bảnsản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xácthực HTTP
- Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh dấu
sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ramột hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện cáccâu truy vấn
3.1.3 Tại sao nên dùng PHP?
Trang 20- PHP là một mã nguồn thông tin mở: Bởi vì mã nguồn của PHP sẵn có nên cộngđồng các nhà phát triển Web luôn có ý thức cải tiến nó,nâng cao để khắc phụccác lỗi trong chương trình này PHP rất ổn định và tương hợp ,vận hành khá tốttrên các hệ điều hành gồm cả Unix ,windown… Đồng thời nó cũng nối với một
số máy chủ như IIS hay Apache
3.2 Ứng dụng website nhiều nội dung với ngôn ngữ PHP
3.2.1 Kernel
Hình 1: Cấu trúc của kernel
3 Có thể xem đây là phần nhân của hệ thống Bao gồm 3 thành phần chính là: API, Library và Models
o API: Tích hợp API của các cổng trực tuyến như: Ngân Lượng, Bảo Kim,Paypal, DNS… nhằm phục vụ cho các giao tiếp của hệ thống với các hệ thốngkhác trên Internet
o Library: Bao gồm các lớp (class) được xây dựng sẵn nhằm phục vụ cho cácmodule của hệ thống Một số lớp cơ bản:
Cache: đây là class có chức năng tạo ra các file cache có nội dung là mãHTML – kết quả của hệ thống trả về sau request của các máy trạm Việctạo file cache như thế này sẽ hạn chế việc hệ thống truy cập vào cơ sở dữliệu, như vậy sẽ giảm thiểu được sự quá tải truy vấn cơ sở dữ liệu và tăngtốc độ website Bao gồm các phương thức:
save( tên file, dữ liệu) – tạo file cache có thành phần mở rộng txt
check ( tên file ) – kiểm tra sự tồn tại của file cache
Trang 21 load( tên file ) – lấy nội dung file cache trong thư mục cache.
delete( tên file ) – Xóa file cache theo tên file
mdelete( chuỗi ) – Xóa nhiều file cache có tên giống với chuỗi
Ưu điểm của web caching:
• Giảm tải băng thông: bởi vì một số yêu cầu và đáp ứng cần phảithông qua mạng máy tính Mỗi đối tượng chỉ nhận được từ serverkhi có yêu cầu, web caching làm giảm một lương băng thông chiếmdụng bởi client Việc này giúp tiết kiệm tiền nếu client phải trả tiềncho băng thông, và giữ cho các như cầu về băng thông hạ xuống và
dễ dàng quản lý
• Giảm gánh nặng cho server: một số yếu cầu do server xử lý
• Giảm sự tiềm ẩn: bởi vì những đáp ứng có sẵn trực tiếp cho các yêucầu đã được lưu trữ, và gần với client được phục vụ hơn Bởi vì ỵêucầu được thỏa mãn tại cache (gần với client hơn) thay vì từ serverchính, nó giảm được thời gian cho client để lấy và hiển thị đốitượng Nó làm cho các web sites dường như đáp ứng nhanh hơn
Date: đây là class về định dạng và xử lý các dữ liệu liên quan đến thờigian Gồm một số phương thức sau:
date_format (chuỗi số,): định dạng một chuỗi số thành chuỗi dạng ngàytháng năm
VD: date_format (1351397399) => 28/10/2012
date2time (chuỗi ngày): chuyển một chuỗi dạng ngày tháng năm thànhchuỗi số để tiện xử lý tính toán
add_month (chuỗi, số tháng): thêm số tháng vào một chuỗi thời gian
dd_hour (chuỗi, số giờ): thêm số giờ vào chuỗi thời gian
get_dayofmonth (tháng, năm): lấy ngày của tháng
get_dayofweek (ngày, tháng, năm): lấy ngày của tuần
Editor: class chuyên về việc xử lý dữ liệu dạng chuỗi: cắt chuỗi, tìm vàthấy thế chuỗi…
Image: class xử lý dữ liệu hình ảnh như: resize lại hình ảnh, tạo hìnhảnh…
Trang 22 Input: xử lý dữ liệu đầu vào: kiểm tra chuỗi nhập có phải là mail, địnhdạng tiền tệ vnđ, sắp xếp lại chuỗi….
Logs: ghi nhận các log trong hệ thống
Mail: xử lý dữ liệu dạng mail như: gửi mail, lấy IP, đếm độ dài chuỗi, địnhdạng dữ liệu mail theo kiểu UTF-8…
Security: class tạo mã capcha …
Seo: tạo đường dẫn thân thiện và chuyển từ tiếng việt sang từ không dấu…