Đăng ký Đăng nhập
Trang chủ Xây dừng website bán hàng cho công ty máy tính hoàng anh...

Tài liệu Xây dừng website bán hàng cho công ty máy tính hoàng anh

.PDF
66
36
62

Mô tả:

LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành đến tất cả các Thầy Cô đã giảng dạy chúng em trong suốt thời gian qua. Em xin cảm ơn thầy Tô Hữu Nguyên - người đã hướng dẫn em thực hiện đồ án tốt nghiệp này. Bên cạnh đó, để hoàn thành đồ án tốt nghiệp này, em cũng đã nhận được rất nhiều sự giúp đỡ, những lời động viên quý báu của gia đình và các bạn bè, các anh chị thân hữu, em xin hết lòng cảm ơn. Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình, nhưng chắc rằng đồ án khó tránh khỏi thiếu sót. Em rất mong nhận được sự thông cảm và chỉ bảo tận tình của quý thầy cô. Sinh viên thực hiện Trần Xuân Đức 1 LỜI CAM ĐOAN Đồ án tốt nghiệp là sản phẩm tổng hợp toàn bộ các kiến thức mà sinh viên đã học được trong suốt thời gian học tập tại trường đại học. Ý thức được điều đó, với tinh thần nghiêm túc, tự giác cùng sự lao động miệt mài của bản thân và sự hướng dẫn tận tình của thầy Tô Hữu Nguyên em đã hoàn thành xong đồ án tốt nghiệp của mình. Em xin cam đoan: nội dung đồ án của em không sao chép nội dung cơ bản từ các đồ án khác và sản phẩm của đồ án là của chính bản thân em nghiên cứu xây dựng lên. Mọi thông tin sai lệch em xin hoàn toàn chịu trách nhiệm trước hội đồng bảo vệ. 2 MỤC LỤC LỜI CẢM ƠN .....................................................................................................1 LỜI CAM ĐOAN................................................................................................2 MỤC LỤC ..........................................................................................................3 DANH MỤC HÌNH ............................................................................................5 LỜI NÓI ĐẦU ....................................................................................................7 CHƯƠNG I :CƠ SỞ LÝ THUYẾT XÂY DỰNG WEBSITE..............................8 1.1 Trang web (Webpage)................................................................................8 1.2. Website là gì ?...........................................................................................8 1.3. Wbsite tĩnh và website động......................................................................8 1.4. Các yêu cầu tối thiểu của 1 website ...........................................................9 1.5. Quy trình thiết kế website được chia làm 7 giai đoạn ................................9 1.6. Các ngôn ngữ xây dựng website..............................................................11 1.6.1. HTML ..............................................................................................11 1.6.2. CSS - Cascading Style Sheets ...........................................................12 1.6.3. XHTML ...........................................................................................14 1.6.4. XML – công cụ miêu tả dữ liệu ........................................................14 1.6.5. XSLT – Công cụ chuyển đổi dữ liệu.................................................14 1.6.6. JavaScript – Ngôn ngữ kịch bản phía máy khách (Client-Side Scripting) ...................................................................................................14 1.6.7. Giới thiệu về PHP.............................................................................15 1.6.8. Giới thiệu về mySQL........................................................................21 1.6.9. Quảng cáo trực tuyến........................................................................22 1.7. Giới thiệu ngôn ngữ UML.......................................................................23 CHƯƠNG II : KHẢO SÁT HIỆN TRẠNG CÔNG TY MÁY TÍNH HOÀNG ANH..................................................................................................................29 2.1 Khảo sát hiện trạng .................................................................................29 2.2. Thu thập khó khăn của công ty................................................................33 2.3. Yêu cầu khi xây dựng website Công ty máy tính Hoàng Anh..................33 3 CHƯƠNG III : PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE CÔNG TY MÁY TÍNH HOÀNG ANH ..............................................................................34 3.1. Phân tích bài toán....................................................................................34 3.2. Mô tả hệ thống ........................................................................................36 3.3. Thiết kế hệ thống website máy tính Hoàng Anh ......................................36 3.4. Cơ sỡ dữ liệu :.........................................................................................58 CHƯƠNG IV: XÂY DỰNG WEBSITE............................................................59 4.1 Giao diện các trang trong website : ..........................................................59 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN..........................................................64 TÀI LIỆU THAM KHẢO .................................................................................65 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN................................................66 4 DANH MỤC HÌNH Hình 2.1 Ảnh về cửa hàng ................................................................................29 Hình 2.2 Mẫu hóa đơn bán hàng .......................................................................30 Hình 2.3 Mẫu hóa đơn thanh toán......................................................................31 Hình 2.4 Mẫu hóa đon bán hàng .......................................................................31 Hình 2.5 Mẫu phiếu bảo hành...........................................................................32 Hình 3.1 Biểu đồ use-case tổng quát về phía khách hàng..................................37 Hình 3.2: Biểu đồ hoạt động (activity) phía khách hàng ....................................37 Hình 3.3 Biểu đồ hoạt động (activity) phía khách hàng......................................38 Hình 3.4 Biểu đồ trình tự use-case đăng ký.......................................................39 Hình 3.5 Biểu đồ cộng tác use-case đăng ký ......................................................39 Hình 3.6 Biểu đồ hoạt động use-case đăng ký...................................................40 Hình 3.7 Biểu đồ trình tự use-case đăng nhập...................................................41 Hình 3.8 Biểu đồ cộng tác use-case đăng nhập ................................................41 Hình 3.9 Biểu đồ hoạt động use-case đăng nhập ...............................................42 Hình 3.10 Biểu đồ trình tự use-case tìm kiếm ...................................................42 Hình 3.11 Biểu đồ mô tả use-case tim kiếm,use-case xem chi tiết sản phẩm,usecase thêm vào giỏ hàng......................................................................................43 Hình 3.12 Biểu đồ hoạt động use-case tìm kiếm ...............................................43 Hình 3.13 Biểu đồ trình tự use-case xem chi tiết sản phẩm ................................44 Hình 3.14 Biểu đồ trình tự use-case thêm vào giỏ hàng .....................................45 Hình 3.15 Biểu đồ trình tự use-case xem giỏ hàng :...........................................46 Hình 3.16 Biểu đồ mô tả use-case xem giỏ hàng, use-case đặt hàng, .................46 use-case thanh toán............................................................................................46 Hình 3.17 Biểu đồ trình tự use- case đặt hàng, thanh toán.................................47 Hình 3.18 Biểu đồ use-case tổng quát bên phía người quản trị viên ..................48 Hình 3.19 Biểu đồ hoạt động (activity) phía người quản trị ...............................48 Hình 3.20 Biểu đồ hoạt động (activity) phía người quản trị ...............................49 Hình 3.21 Biểu đồ trình tự use-case thêm thông tin sản phẩm.........................50 Hình 3.22 Biểu đồ trình tự use-case sửa thông tin sản phẩm ...........................50 5 Hình 3.23 Biểu đồ trình tự use-case xóa thông tin sản phẩm ..........................51 Hình 3.24 Biểu đồ cộng tác use-case cập nhật thông tin sản phẩm ...................51 Hình 3.25 Biểu đồ trình tự use-case cập nhật đơn hàng.....................................52 Hình 3.26 Biểu đồ trình tự use-case xóa thông tin khách hàng..........................54 Hình 3.27 Biểu đồ trình tự use-case cập nhật thông tin khách hàng .................54 Hình 3.28 Biểu đồ trình tự use-case cập nhật thông tin hãng..............................55 Hình 3.29 Biểu đồ trình tự use-case sửa thông tin hãng .....................................56 Hình 3.30 Biểu đồ trình tự use-case xóa thông tin hãng ...................................56 Hình 3.31 Biểu đồ quan hệ dữ liệu giữa các lớp trong cơ sở dữ liệu .................57 Hình 3.32 Mối quan hệ diagram trong cơ sở dữ liệu ..........................................58 Hình 4.1 Giao diện trang chủ.............................................................................59 Hình 4.2 Giao diện trang kết quả tìm kiếm ........................................................60 Hình 4.3 Giao diện trang chi tiết sản phẩm ........................................................61 Hình 4.4 Giao diện trang giỏ hàng .....................................................................62 Hình 4.5 Giao diện trang đăng nhập admin........................................................62 Hình 4.6 Giao diện trang quản lý admin ............................................................63 Hình 4.7 Giao diện trang thêm sản phẩm mới ....................................................63 6 LỜI NÓI ĐẦU Hiện nay dịch vụ quảng cáo là một yếu tố then chốt quyết định số mệnh của các nhà kinh doanh. Nhà kinh doanh có công tác quảng cáo tốt sẽ có bước đà hoàn hảo để ngày càng phát triển và ngược lại, nhà kinh doanh không có chức năng quảng cáo tốt, không đưa được sản phẩm tới với người tiêu dung sẽ ngày càng tàn lụi. Quảng cáo trực tuyến là một sự lựa chọn thông minh cho các nhà kinh doanh. Trong thế giới rộng lớn có hàng tỉ người sử dụng internet hàng ngày, phần lớn trong số họ thường đọc quảng cáo trực tuyến khi lướt và đó là một cơ hội lớn để kinh doanh có thể quảng bá, tiếp thị sản phẩm của mình đến với người tiêu dùng. Cũng như các hình thức quảng cáo khác, quảng cáo trên mạng nhằm cung cấp thông tin, đẩy nhanh tiến độ giao dịch giữa người mua và người bán. Nhưng quảng cáo trên mạng giúp người tiêu dùng có thể tương tác với quảng cáo. Khách hàng có thể nhấn vào quảng cáo lấy thông tin hoặc mua sản phẩm cùng mẫu mã trên quảng cáo đó, thậm chí có thể mua sản phẩm quảng cáo online trên website. Quảng cáo trực tuyến tạo cơ hội cho nhà quảng cáo nhắm chính xác vào khách hàng của mình, giúp họ quảng cáo theo đúng sở thích và thị hiếu của người tiêu dùng. Đó chính là khả năng tuyệt vời của quảng cáo trực tuyến. Chính vì thế, em đã có ý tưởng xây dựng một website nhằm giới thiệu và bán sản phẩm cho cửa hang máy tính. Trong đồ án này , em tập trung trình bày những nội dung sau đây : Chương I: Cơ sở lý thuyết xây dựng website Chương II: Khảo sát hiện trạng công ty máy tính Hoàng Anh Chương III: Phân tích thiết kế hệ thống website Công ty máy tính Hoàng Anh Chương IV: Xây dựng website Em xin chân thành cảm ơn! Sinh viên thực hiện Trần Xuân Đức 7 CHƯƠNG I :CƠ SỞ LÝ THUYẾT XÂY DỰNG WEBSITE 1.1 Trang web (Webpage) Trang web là một trang văn bản, về cơ bản thì nó cũng giống như các loại văn bản khác (Word, Excel…), cũng dùng chủ yếu là để đọc, có thể in ra giấy. Điểm khác biệt lớn nhất và đặc trưng nhất là một trang web có thể liên kết với các trang web khác, và các trang web khác ấy lại liên kết với rất nhiều các trang khác nữa tạo thành một mạng lưới liên kết khổng lồ trên toàn thế giới (cho nên mới gọi là web nghĩa là mạng lưới). Điểm đặc trưng thứ hai, trong khi các loại văn bản khác thường tập trung vào việc “nhìn”, chủ yếu hỗ trợ chèn thêm hình ảnh vào văn bản. Còn với một trang web, bạn không chỉ xem được hình ảnh mà còn có thể nghe được âm thanh, thậm chí còn xem được cả video, chơi games, và đôi khi nó còn hoạt động như một chương trình ứng dụng. Nói một cách khác, trang web là một trang siêu văn bản mà người ta có thể đưa vào bất kì dữ liệu gì mà họ muốn, cho chúng ta cảm giác mọi thứ trên đời đều có thể đưa vào website. 1.2. Website là gì ? Website là một hệ thống bao gồm nhiều trang web liên quan đến nhau, thường được đặt chung trên một tên miền (ví dụ : yahoo.com,google.com,…). Nội dung của các trang web trên một website thường tập trung nói về tổ chức nào đó. Trên website thường có một trang chủ để hiện thị các nội dung chi tiết nội dung quan trọng nhất, bao quát nhất và các trang con để hiển thị các nội dung chi tiết hơn. 1.3. Wbsite tĩnh và website động Đầu tiên, để hiểu được hai khái niệm này, chúng ta cần xác định chữ “động” ở đây không phải là “chuyển động” (motion) mà là “linh động” (dynamic). Như vậy, các trang web động không phải là những trang web có nhiều hình ảnh chuyển động hay nhiều con chữ bay nhảy, mà là những trang web có 8 nội dung linh động, có thể thay đổi được. Giống như các trang báo mạng, mỗi lần bạn vào sẽ thấy có những tin tức mới, đây là một điển hình của website động. Tương tự như vậy, website tĩnh không phải là là một website với mọi thứ đều “đứng im”, mà là một website có nội dung cố định, muốn thay đổi nội dung, chúng ta gần như phải thiết kế lại website. 1.4. Các yêu cầu tối thiểu của 1 website Để một doanh nghiệp hoạt động được cần phải đáp ứng 3 yếu tố căn bản sau : o Tên doanh nghiệp. o Trụ sở hoạt động. o Cơ sở vật chất máy móc. Nếu ta tạm coi website như 1 doanh nghiệp thì để thiết lập và đưa vào hoạt động 1 website cũng phải đáp ứng được tối thiểu 3 yếu tố là: o Tên website (hay còn gọi là tên miền hoặc domain) tương ứng với "Tên công ty". o Hosting (hay còn gọi là nơi lưu trữ web) tương ứng với “trụ sở hoạt động” của công ty. o Các trang web tương ứng với "Cơ sở vật chất, máy móc" của công ty. Tên Website:(hay còn gọi là Tên miền ảo hoặc Domain name) tương ứng với Tên công ty trong đời thường. Web Hosting:(hay còn gọi là nơi lưu giữ trên máy chủ Internet) tương ứng với Trụ sở công ty trong đời thường. Các trang Web tương ứng với yếu tố vật chất kỹ thuật, máy móc của công ty trong đời thường và con người để quản lý và vận hành Website đó. 1.5. Quy trình thiết kế website được chia làm 7 giai đoạn - Giai đoạn 1: Thu thập thông tin khách hàng : o Tìm hiểu yêu cầu thực tế của khách hàng. o Xác nhận yêu cầu của khách hàng về trang web và các thông tin khách hàng cung cấp. 9 - Giai đoạn 2 : Giai đoạn phân tích : o Dựa trên những thông tin và yêu cầu thiết kế website của khách hàng, người lập trình phân tích rõ rang mục đích, yêu cầu, nguyện vọng của khách hàng. o Lập kế hoạch thực hiện dự án. o Căn cứ trên kết quả khảo sát, thông tin do khách hàng cung cấp người lập trình thiết kế lập cấu trúc cho website và thiết kế chung cho toàn hệ thống. - Giai đoạn 3: Giai đoạn thiết kế : o Xem xét chi tiết yêu cầu và tiến hành thiết kế website. o Tiến hành xử lý hiệu ứng ảnh, thu thập tài liệu liên quan. o Kiểm tra sản phẩm để đảm bảo tính thẩm mỹ và thống nhất. - Giai đoạn 4 : Giai đoạn xây dựng : o Xây dựng cơ sở dữ liệu dựa trên thiết kế. o Soạn thảo nội dung tài liệu, chỉnh sửa hoàn thiện nội dung rồi đưa lên trang web. o Tích hợp hệ thống: lắp ghép phân tích thiết kế, nội dung lập trình thành một sản phẩm. o Tiến hành kiểm tra, chỉnh sửa và thực hiện nghiệm thu nội bộ. - Giai đoạn 5 : Giai đoạn chạy thử : o Tổng hợp nội dung, xây dựng hệ thống theo thiết kế. o Kiểm tra và sửa lỗi. o Lắp ghép thiết kế với phần mềm, đảm bảo không sai lệch với thiết kế và phần mềm hoạt động tốt. o Chạy thử hệ thống trong vòng 01 tuần. o Kiểm tra và sửa. - Giai đoạn 6 : Giai đoạn nghiệm thu : o Khách hàng duyệt dự án: khách hàng duyệt chất lượng dự án. o Đăng tải hệ thống: đảm bảo hệ thống chạy tốt. - Giai đoạn 7 : Giai đoạn chuyển giao : o Bàn giao cho khách hàng (có đĩa CD mã nguồn). 10 o Đào tạo và huấn luyện khách hàng quản trị website một cách hiệu quả. o Đánh giá, bảo trì. 1.6. Các ngôn ngữ xây dựng website 8 yếu tố cốt lõi để xây dựng và phát triển một website mà tất cả những người làm web đều biết, đó là: o HTML o CSS o XHTML o XML và XSLT o JavaScript o ASP,ASP.net hoặc PHP o Quản lý dữ liệu với SQL,MySQL 1.6.1. HTML HTML là một dạng ngôn ngữ web, tất cả những người Thiết kế và xây dựng website đòi hỏi phải có kiến thức cơ bản về ngôn ngữ này. HTML là viết tắt của cụm từ HyperText Markup Language (Ngôn ngữ đánh dấu siêu văn bản) ,và đây là ngôn ngữ chính được sử dụng cho việc thiết kế các website. Ngôn ngữ này gây ấn tượng cho người ta bởi sự ngắn gọn nhưng lại được hình thành trong một quá trình khó phân định. Việc hình thành HTML có mối quan hệ mật thiết với sự phát triển của Internet. Ngày nay, HTML rất được khuyên dùng bởi sự xuất hiện của một chuẩn mới, thực tế là một phiên bản cao hơn của ngôn ngữ này như là một sự phát triển tất yếu- HTML5. Lịch sử phát triển của ngôn ngữ HTML: o HTML 1 : HTML 1 không cho phép truyền đạt cấu trúc trang phức tạp, nhưng vừa đủ để cho phép tạo ra một trang web đơn giản. Vạn sự khởi đầu nan. Phiên bản đầu tiên được tung ra vào cuối năm 1990 và gần như một năm sau, ngôn ngữ này mới thực sự được ứng dụng. o HTML 2 : Nhiều công ti lớn đã đánh giá không đúng sức mạnh của ngôn ngữ siêu văn bản , nhưng cuối cùng thì các chuẩn HTML cũng được phổ biến rộng rãi. Bởi vì không có một tổ chức nào đứng ra hỗ trợ cho sự phát triển 11 ngôn ngữ HTML , mọi thứ bị ngừng trệ. Vào tháng 7 năm 1994, HTML 2 được phát hành. o HTML 3 : Internet làm cho ngôn ngữ HTML phát triển và chính nó cũng ứng dụng những phát triển của HTML. W3C chấp nhận những phiên bản cải tiến của HTML với các thẻ mới và các chức năng mới. Dave Ragget đã mua về một phiên bản thú vị với rất nhiều thẻ HTML hấp dẫn và phiên bản này đã được cải tiến rất hay. o HTML 4 : Người ta dành cả năm 1997 để phát triển phiên bản HTML4, một bước tiến triển quan trọng trong những phiên bản cũ. HTML4 có những công cụ có giá trị mang lại thêm nhiều đất sáng tạo cho dân thiết kế web: CSS. o HTML 5: Vào tháng 1 năm 2008, W3C tung ra bản nháp của HTML5 và thế thượng phong có vẻ nghiêng về HTML(so với XHTML). 1.6.2. CSS - Cascading Style Sheets CSS là chữ viết tắt của Cascading Style Sheets, nó chỉ đơn thuần là một dạng file text với phần tên mở rộng là .css. Trong Style Sheet này chứa những câu lệnh CSS. Mỗi một lệnh của CSS sẽ định dạng một phần nhất định của HTML ví dụ như: font của chữ, đường viền, màu nền, căn chỉnh hình ảnh v.v.. Trước đây khi chưa có CSS, những người thiết kế web phải trộn lẫn giữa các thành phần trình bày và nội dung với nhau. Nhưng với sự xuất hiện của CSS, người ta có thể tách rời hoàn toàn phần trình bày và nội dung. Giúp cho phần code của trang web cũng gọn hơn và quan trọng hơn cả là dễ chỉnh sửa hơn. Trước khi bắt đầu tìm hiểu thêm về CSS tôi muốn bạn biết một chút về thế mạnh của nó trong việc thiết kế web. Có ba cách bạn có thể sử dụng để định dạng trang web là: cục bộ, nhúng vào trang và liên kết đến một file CSS riêng biệt. Trong thực tế thì cách cuối cùng là liên kết đến một file riêng biệt được sử dụng phổ biến nhất. Nhưng bạn cũng nên biết về hai cách còn lại vì đôi khi bạn cũng phải sử dụng đến nó tuy không nhiều. 12 Cục bộ – code CSS được chèn trực tiếp vào trong thẻ HTML Cách định dạng cục bộ là bạn sử dụng code CSS chèn trực tiếp vào thẻ HTML và chỉ có tác động lên thẻ đó. o Ví dụ :

Nếu bạn thêm code CSS vào trong thẻ này nó sẽ thay đổi cách hiển thị trên trình duyệt

Nhúng vào trang web Cách thứ hai là bạn khai báo code CSS nằm trong cặp thẻ được đặt ở phần của tài liệu. Về cơ bản nó cũng chỉ có tác động cục bộ lên file mà bạn chèn đoạn code CSS này. Nó có phạm vi ảnh hưởng lớn hơn là cách chèn cục bộ được nói ở trên, nhưng nó không có ảnh hưởng đến các file khác trong cùng một trang web. o Ví dụ : Nhúng vào trang Liên kết đến một file biệt lập Thực tế cách cuối cùng này mới là thế mạnh thực sự của CSS bởi vì bạn chỉ cần tạo ra một file CSS và viết code chỉ một lần. Nó sẽ ảnh hưởng đến toàn bộ trang web chứ không chỉ ảnh hưởng đến một file .html đơn lẻ hoặc chỉ một thẻ trong hàng ngàn thẻ mà bạn có. Bằng cách này chúng ta có thể tách rời hoàn toàn những thành phần trình bày và nội dung ra khỏi nhau. Nếu bạn viết toàn bộ 13 code CSS trong một file và liên kết nó đến những trang còn lại, thì việc thay đổi sửa chữa trang web trở nên cực kỳ đơn giản. 1.6.3. XHTML XHTML là chữ viết tắt của Extensible HyperText Markup Language (tạm dịch là ngôn ngữ đánh dấu siêu văn bản mở rộng). Ngôn ngữ này được xem là hình thức cải tiến của HTML dưới ứng dụng XML, và được hỗ trợ trên hầu hết các trình duyệt phổ biến. 1.6.4. XML – công cụ miêu tả dữ liệu XML không phải là sự thay thế cho HTML. XML miêu tả dữ liệu, trong khi đó HTML dùng để hiển thị dữ liệu. XML là một công cụ nền tảng dùng để lưu trữ và truyền tải thông tin. Chúng tôi tin rằng nó cũng sẽ quan trọng với Web như HTML, và sẽ là công cụ phổ biến nhất cho tất cả các thao tác dữ liệu và truyền tải dữ liệu. 1.6.5. XSLT – Công cụ chuyển đổi dữ liệu XSLT được sử dụng để chuyển đổi các tài liệu XML sang các định dạng khác, chẳng hạn như HTML, WML, … XSLT có thể chuyển đổi một file XML thành định dạng được nhận biết bởi một trình duyệt nào đó. Nó cũng có thể thêm vào các phần tử HTML, sắp xếp lại dữ liệu, quy định cách dữ liệu hiển thị, và nhiều hơn thế nữa… 1.6.6. JavaScript – Ngôn ngữ kịch bản phía máy khách (Client-Side Scripting) JavaScript đề cập tới việc “lập trình” hành vi của một trình duyệt. Muốn kiểm soát tốt hơn nội dung của web động, bạn nên tự học JavaScript bởi các tiện ích của nó như sau: o JavaScript cung cấp cho các nhà thiết kế HTML một công cụ lập trình. o JavaScript có thể đặt văn bản động vào một trang HTML. o JavaScript có thể được sử dụng để xác nhận dữ liệu. o JavaScript có thể phản ứng với các sự kiện. o JavaScript có thể thay đổi các phần tử HTML. 14 1.6.7. Giới thiệu về PHP PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kị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ết cho 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ới web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xâ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. Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàng như thế nào: Mã mẫu Thẻ sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần giao diện ứng dụng HTTP. 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. 15 Lịch sử hình thành của PHP PHP - viết tắt của PHP Hypertext Preprocessor - một định nghĩa đệ quy khó hiểu! Vào khoảng năm 1994, Rasmus Lerdorf đưa một số đoạn Perl Script vào trang Web để theo dõi xem ai đang đọc tài liệu của ông ta. Dần dần, người ta bắt đầu thích các đoạn Script này và sau đó đã xuất bản một gói công cụ có tên là "Personal Home Pages" (nghĩa đầu tiên của PHP). Ông ta đã viết một cơ chế nhúng và kết hợp với một số công cụ khác để phân tích đầu vào từ các mẫu biểu HTML: FI, Form Interpreter hay Phiên dịch mẫu biểu, được tạo ra theo cách đó và được đặt tên là PHP/FI hay PHP2. Nó được hoàn thành vàokhoảng giữa năm 1995. Sau đó, người ta bắt đầu sử dụng các công cụ này để xây dựng những thứ rắc rối hơn, và đội ngũ phát triển đã thay đổi từ một người duy nhất thành một nhóm các nhà phát triển nòng cốt trong dự án, và nó đã được tổ chức hoá. Đó là sự bắt đầu của PHP3. Đội ngũ các nhà phát triển (Rasmus Lerdorf, Andi Gutmans, Zeev Suraski, Stig Bakken, Shane Caraveo và Jim Winstead) đã cải tiến và mở rộng bộ máy nhúng và bổ sung thêm một số hàm API đơn giản cho phép các lập trình viên khác tự do bổ sung nhiều tính năng vào ngôn ngữ bằng cách viết các module cho nó. Cấu trúc của ngôn ngữ đã được tinh chế, được kết cấu thân thiện hơn đối với những người đến từ các ngôn ngữ hướng đối tượng hay các ngôn ngữ hướng thủ tục. Nếu bạn đã biết một vài ngôn ngữ lập trình khác thì khi đến với PHP, bạn sẽ không cảm thấy khó khăn. Phiên bản mới nhất cho đến thời điểm này là PHP 5.0.1. Các bạn có thể tham khảo chi tiết tại trang web PHP: Hypertext Preprocessor -PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf 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ên mạng. Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools'. Khi cầ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ớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử 16 dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn. 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ộng mạ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ác tí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 đây chí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ính năng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượ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ối liê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.0 gợ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 "PHP: Hypertext Preprocessor". Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục ngàn người sử dụng và hàng chục ngàn Web site báo cáo là đã cài nó. Vào thời kì đỉnh cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web có trên mạng Internet. PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 thá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ố, Andi Gutmans 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ải tiến tính mô đun của cơ sở mã PHP. Những ứng dụng như vậy đã chạy được trê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ả. 17 Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet. 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ìn ngườ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. 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ển PHP tự mãn.Cộng đồng php đã nhanh chóng giúp họ nhận ra những yếu kém củ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 Zend Engine 2.0, lõi của PHP 5.0. Một thảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm 2002 nhưng những bài phỏng vấn Zeev liên quan đến phiên bản này thì đã có mặt trên mạng Internet 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 10 nă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ểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hà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ác bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sả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ác thự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 ra mộ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ác câu truy vấn. Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cải tiến trong nhân Zend Engine 2, nâng cấp mô đun PCRE lên bản 18 PCRE 5.0 cùng những tính năng và cải tiến mới trong SOAP, stream và SP - Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản sử dụng thử đã có thể được download tại địa chỉ http://snaps.php.net. Phiên bản PHP 6 được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, ví dụ: hỗ trợ namespace (hiện tại các nhà phát triển vẫn chưa công bố rõ ràng về vấn đề này); hỗ trợ Unicode; sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu, các API cũ sẽ bị đưa ra thành thư viện PECL.. - Rất nhiều nhà phát triển ứng dụng và quản lý dự án có quan điểm rằng PHP vẫn chưa sẵn sàng cho cấp doanh nghiệp (enterprise) và trên thực tế, PHP vẫn chưa xâm nhập sâu được vào thị trường này. Chính vì thế, Zend đã tiến hành nhiều biện pháp nhằm chuẩn hóa PHP, tạo được sự tin cậy hơn cho giới người dùng cao cấp. Zend Platform là một bộ sản phẩm giúp quản lý hệ thống ứng dụng PHP, nâng cao hiệu suất, tăng tốc độ của ứng dụng PHP. Zend Framework là một tập hợp các lớp, các thư viện lập trình viết bằng PHP (PHP 5) nhằm cung cấp một giao diện lập trình chuẩn cho các nhà phát triển ứng dụng. Ngoài ra, một số framework khác cũng đã được phát triển nhằm hỗ trợ lập trình PHP ở cấp doanh nghiệp, trong đó đáng chú ý có thể kể đến là CodeIgniter, CakePHP, Symfony, Seagull... Cú pháp PHP chỉ phân tích các đoạn mã nằm trong những dấu giới hạn của nó. Bất cứ mã nào nằm ngoài những dấu giới hạn đều được xuất ra trực tiếp không thông qua xử lý bởi PHP. Các dấu giới hạn thường dùng nhất là , tương ứng với dấu giới hạn mở và đóng. Các dấu giới hạn cũng đôi khi được sử dụng. Cách viết dấu giới hạn dạng thẻ ngắn cũng có thể được dùng để thông báo bắt đầu đoạn mã PHP, là . Những thẻ này thường xuyên được sử dụng, tuy nhiên giống với những thẻ kiểu ASP (<% hay <%= và %>), chúng không có tính di động cao bởi có thể bị vô hiệu khi cấu hình PHP. Bởi vậy, việc dùng các thẻ dạng ngăn hay các thẻ kiểu ASP không được khuyến khích.[3] Mục đích của những dấu giới hạn này là ngăn cách mã PHP với những đoạn mã thuộc ngôn ngữ khác, gồm cả HTML. Mọi đoạn mã bên ngoài các dấu này đều bị hệ thống phân tích bỏ qua và được xuất ra một cách trực tiếp.[4] Các biến được xác định bằng cách thêm vào trước một dấu đô la ($) và không cần xác định trước kiểu dữ liệu. Không giống với tên hàm và lớp, tên biến là trường hợp nhạy cảm. Cả dấu ngoặc kép ("") và ký hiệu đánh dấu văn bản (<< - Xem thêm -

Tài liệu liên quan