Đề tài Vấn đề thiết kế và xây dựng trang web thương mại điện tử

MỤC LỤC

LỜI NÓI ĐẦU 3

1. Tổng quan 5

1.1 Giới thiệu chung về vấn đề nghiên cứu 5

1.2 Quá trình nghiên cứu 7

2. Cơ sở lí thuyết và các phương pháp sáng tạo 8

2.1 Các kiến thức về lập trình ZendFramework để xây dựng trang web 8

2.2 Các nguyên tắc sáng tạo áp dụng để giải quyết vần đề 13

3. Giải quyết vấn đề nghiên cứu 16

4. Kết luận 26

 

 

doc28 trang | Chia sẻ: maiphuongdc | Lượt xem: 1798 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Vấn đề thiết kế và xây dựng trang web thương mại điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ay xã hội phát triển, đời sống con người ngày càng nâng cao, nhu cầu sống của họ cũng phải được thỏa mãn theo tỉ lệ thuận của cuộc sống, thời trang cũng không phải là ngoại lệ. Thời trang là một nhu cầu không thể thiếu trong đời sống con người, đặc biệt là giới trẻ. Nắm bắt được nhu cầu này, chúng tôi đã cho ra mắt trang web về mua sắm thời trang online, không những phục vụ nhu cầu của giới trẻ, mà còn thỏa mãn một phần nhu cầu về thời trang hiện nay cho mọi lứa tuổi. Trên thực tế vấn đề lựa chọn trang phục cho mỗi cá nhân mất khá nhiều thời gian, phải trực tiếp tới những nơi bán hàng để mua, lựa chọn trang phục và quan trọng là phải phù hợp với túi tiền. Để tiện cho người tiêu dùng lựa chọn cũng như việc thanh toán, chúng tôi xây dựng trang web mua bán trực tuyến các sản phẩm thời trang qua mạng, nhằm tiết kiệm thời gian cho người tiêu dùng, đồng thời giúp người tiêu dùng dễ dàng lựa chọn sản phẩm , mua hàng và thanh toán. Tất cả các thao tác đều được thực hiện trực tuyến trên internet, nên rất thuận tiện và nhanh chóng. Khách hàng lựa chọn các sản phẩm thời trang theo ý muốn có trên thanh menu hoặc có thể tìm kiếm theo sở thích: giới tính và loại sản phẩm. Ngoài ra còn có thể nêu ý kiến về sản phẩm mà mình yêu thích hoặc đánh giá những sản phẩm đó như thế nào? Nếu thích sản phẩm nào đó, bạn có thể mua hàng ngay tại trang web bằng cách cho vào giỏ hàng và thanh toán qua mạng. Sản phẩm sẽ được nhân viên chuyển trực tiếp cho bạn, hoặc có thể gửi qua bưu điện tùy theo yêu cầu của khách hàng. Chúng tôi làm tất cả những gì có thể để mang đến cho khách hàng những sản phẩm đẹp nhất, rẻ nhất, cùng với dịch vụ giao dịch thuận lợi nhất, tiết kiệm thời gian mà vẫn đảm bảo cho khách hàng mua được sản phẩm như ý muốn. Ngoài những tiện ích trong việc giao dịch, bạn còn có thể biết thêm tin tức về các sản phầm, xu hướng thời trang trong năm, năm tới và các nhu cầu mua sắm khác, được chúng tôi đăng tải và cập nhật thường xuyên trên trang web. Quá trình nghiên cứu Giải quyết và hoàn thiện đề tài nghiên cứu là cả quá trình lâu dài từ việc tìm hiểu tích lũy các kiến thức cần thiết cũng như vận dụng những điều đó để thực hiện đề tài. Quy trình đó đi từ những thứ cơ bản đến phức tạp, từ sơ lược đến cụ thể trải qua các bước sau : Bước đầu tiền phải làm là tìm hiểu kiến thức trên cơ sở lý thuyết về các công cụ lập trình, ngôn ngữ, đặt vấn đề và đưa ra các cách giải quyết vấn đề. Xác định nội dung, mục đích của Website (Trả lời câu hỏi "Để làm gì?") Một Website để kinh doanh trực tuyến (độ phức tạp cao) sẽ phải khác Website chỉ để giới thiệu các hoạt động của công ty (đơn giản với các dữ liệu tĩnh). Website về văn hoá nghệ thuật chắc chắn phải khác một trang Web hướng về thương mại. Xác định rõ điều này có thể đi đến quyết định về mặt kỹ thuật, tức là liên quan đến chi phí làm Web. Xác định đối tượng chủ yếu của Website (Trả lời câu hỏi "Cho ai?") Website của bạn dành cho đối tượng khách hàng nào? Khách hàng của bạn là ai? Website dành cho phụ nữ phải khác Web dành cho nam giới. Web dành cho thanh niên phải khác loại dành cho trẻ con và người già xét cả về góc độ nội dung và hình thức thể hiện. Tìm hiểu quy trình thực hiện Website (Trả lời câu hỏi "Như thế nào?") Quy trình thực hiện Website liên quan nhiều về mặt kỹ thuật, nếu bạn làm một dự án lớn đôi khi bạn phải thuê trọn gói các công ty thực hiện các bước này cho bạn. Tuy nhiên bạn vẫn phải năm một cách khái quát quy trình này vì nó quyết định 90% thành công của trang web của bạn. Và nói tóm lại, bạn cũng phai biết để kiểm tra xem bạn thuê đơn vị thực hiện họ làm có đạt yêu cầu không. Chọn tên miền: Chọn một tên miền ngắn gọn, dễ nhớ. 2. Cơ sở lí thuyết và các phương pháp sáng tạo "PHƯƠNG PHÁP LUẬN SÁNG TẠO" (Creativity Methodologies) là bộ môn khoa học có mục đích xây dựng và trang bị cho mọi người hệ thống các phương pháp, các kỹ năng thực hành tiên tiến về suy nghĩ để giải quyết vấn đề và ra quyết định một cách sáng tạo, về lâu dài, tiến tới điều khiển được tư duy. "PHƯƠNG PHÁP LUẬN SÁNG TẠO" là phần ứng dụng của khoa học rộng lớn hơn, mới hình thành và phát triển trong thời gian gần đây : KHOA HỌC SÁNG TẠO (Creatology). Theo các nhà nghiên cứu, khoa học này ứng với "làn sóng thứ tư" trong quá trình phát triển của loài người, sau nông nghiệp, công nghiệp và tin học. Làn sóng thứ tư ứng với Creatology (hay còn gọi là thời đại hậu tin học) chính là sự nhấn mạnh vai trò chủ thể tư duy sáng tạo của loài người trong thế kỷ XXI. Nghiên cứu là công trình khảo sát, nỗ lực tìm kiếm hay khám phá những sự kiện hay thông tin, kiến thức mới bằng các biện pháp có hệ thống và khoa học về một lĩnh vực nào đó, với mục đích mở rộng hay đào sâu hơn kiến thức về một chủ đề trong lĩnh vực đã chọn. Vì vậy, trước khi giải quyết vấn đề được nghiên cứu, chúng ta phải nắm rõ cơ sở lý thuyết cần thiết, mà ở đây là các kiến thức về lập trình cùng với những phương pháp sáng tạo mà ta có thể vận dụng trong quá trình làm bài. 2.1 Các kiến thức về lập trình ZendFramework để xây dựng trang web Việc tìm hiểu zend framework cũng như các php framework khác điều đầu tiên là bạn pải có kiến thức tương đối về php .Tiếp đến bạn cần tìm hiểu kiến thức cơ sở sau: Framework là một thư viện các lớp đã được xây dựng hoàn chỉnh , bộ khung để phát triển các phần mềm ứng dụng. có thể ví framework như tập các “Vật liệu” ở từng lĩnh vực cho người lập trình viên, thay vì họ phải mất nhiều thời gian để tự thiết kế trước khi dùng. Do vậy, người lập trình viên chỉ cần tìm hiểu và khai thác các vật liệu này rồi thực hiện ( tức lập trình ) để gắn kết chúng lại với nhau, tạo ra sản phẩm. Xây dựng trang web theo mô hình MVC: MVC = Model + View + Controller. Model: chính là dữ liệu (cụ thể hơn trong ZF sẽ là các class làm nhiệm vụ thao tác trực tiếp xuống DBMS). Mô hình Views có nhiệm vụ liên kết với Mô hình Model và xuất các dữ liệu ra trình duyệt theo nhu cầu đòi hỏi của người tiêu dùng (user). Điển hình là các văn bản HTML. View: làm nhiệm vụ render trang web từ các action do controller truyền sang + dữ liệu từ model (có thể hiểu nó như là template render). Controller: chính là phần cốt lỗi, điều hành trang web của bạn, 1 trang web có thể có nhiều module (có thể hiểu như component của Joomla!), 1 module có thể có nhiều controller. Một controller sẽ gồm nhiều action, ví dụ: trong forum sẽ có PostController bao gồm các action như listAction, readAction, writeAction,… Một số class/ interface sử dụng trong Zend khi xây dựng web Zend_Controller Zend_Controller là trung tâm của hệ thống MVC của Zend Framework. MVC là viết tắt của Model-View-Controller và là 1 design pattern nhắm vào việc tách phần ứng dụng (application logic) ra khỏi phần hiển thị (display logic). Zend_Controller_Front áp dụng pattern Front Controller, mọi request đều bị front controller chặn lại và gửi đến Action Controller riêng biệt dựa trên URL được request. Khởi tạo đường dẫn đến thư mục chứa các Controller: Để ứng dụng có thể hiểu chúng ta sẽ sử dụng Controller nào chúng ta phải khai báo đường dẫn đến thư mục chứa Controller. // Khởi tạo đối tượng của class Zend_Controller $frontController = Zend_Controller_Front::getInstance(); $frontController->throwExceptions(true); // Khai báo thư mục chứa các Controller $frontController->setControllerDirectory('../application/controllers'); Những điều căn bản về Controller Mỗi controller sẽ có chức năng để xử lý 1 vấn đề nào đó. Mỗi Controller sẽ có nhiều action Mỗi Controller sẽ có 1 thư mục tương ứng cùng tên, nằm trong views\script. Trong mỗi thư mục sẽ chứa các file .phtml, thông thường các file này có tên cùng tên với tên của Action trong Controller đó Zend_Session Zend_Session cung cấp cho ta các phương thức tương tự như trong PHP nên sẽ có các phương thức như sau 1. Khai báo tên biến session cần sử dụng $aNamespace = new Zend_Session_Namespace('ssweb'); 2. Gán giá trị cho biến session $aNamespace->user = 'Marsu'; 3. In đối tượng session $aNamespace->getIterator() 4. Khóa biến session $aNamespace->lock(); 5. Mở khóa cho biến session $aNamespace->unlock(); 6. Thiết lập thời gian sống cho biến session $aNamespace->setExpirationSeconds(500) $ aNamespace ->a = 'apple'; $aNamespace->setExpirationSeconds(500,a) 7. Hủy biến session unset($aNamespace->user); $aNamespace->unsetAll(); 8. Khởi tạo session_id() Zend_Session::start(true); $ssWeb = Zend_Session::getId(); Zend_Auth Thiết kế để nhận dạng của các xác thực request chống lại một số cơ chế xác thực (e.g., HTTP / Digest cơ bản, bảng cơ sở dữ liệu, LDAP). - Hỗ trợ người sử dụng định nghĩa xác thực các adapter. - Còn tự động nhận dạng persistence . - Nhận dạng cấu hình triển khai thực hiện lưu trữ. - Cung cấp một giao diện xác thực đơn giản. Một số loại Zend_Cache Zend_Cache_Core: là tập hợp tất cả các phương thức và tùy chọn có trong Zend_Cache. Các kiểu Cache khác trong Zend có thể thừa hưởng các thuộc tính và tùy chọn trong Core Zend_Cache_Frontend_Output: dùng để chứa nội dung của nào đó Zend_Cache_Frontend_Function: dùng để chứa kết quả của 1 hàm Zend_Cache_Frontend_Class: dùng để cache 1 clas nào đó. Theo tôi chúng ta có thể dùng để cache các đối tượng Helper hoặc những file class support cái mà sẽ chạy thường xuyên trong qua trình xử lý của ứng dụng: Zend_Cache_Frontend_File: Dùng để cache 1 file có thể là kiểu jpg, flash, video, xml, .ini …Nói chung chúng ta sẽ cache những file thương xuyên sử dụng trong suốt qua như banner, file 2.2 Các nguyên tắc sáng tạo áp dụng để giải quyết vần đề 1. Nguyên tắc phân nhỏ : a. Chia đối tượng thành các phần độc lập b. Làm đối tượng trở nên tháo lắp được c. Tăng mức độ phân nhỏ của đối tượng 2.Nguyên tắc tách khỏi: Tách phần gây phiền phức hay ngược lại, tách phần duy nhất cần thiết ra khỏi đối tượng. 3.Nguyên tắc phẩm chất cục bộ: a. Chuyển đối tương có cấu trúc đồng nhất thành không đồng nhất b. Các thành phần khác nhau của đối tượng phải có các chức năng khác nhau. c. Mỗi phần của đối tượng phải ở trong những điều kiện thích hợp nhất đối với công việc 5.Nguyên tắc kết hợp: a. Kết hợp các đối tượng đồng nhất hoặc các đối tượng dùng cho các hoạt dộng kế cận b. Kết hợp về mặt thời gian các hoạt động đồng nhất hoặc kế cận 7. Nguyên tắc chứa trong : a. Một đối tượng chứa bên trong nó đối tượng khác và đối tượng đó lại chứ đối tượng thứ ba… b. Một đối tượng chuyển động xuyên suốt bên trong đối tượng khác 11. Nguyên tắc dự phòng : Bù đắp độ tin cậy không lớn của đối tượng bằng cách chuẩn bị trước các phương tiện báo động, ứng cứu, an toàn. 13. Nguyên tắc 32- Nguyên tắc thay đổi màu sắc Thay đổi màu sắc của đối tượng hay môi trường bên ngoài Thay đổi độ trong suốt của đối tượng hay môi trường bên ngoài Để có thể quan sát được những đối tượng hoặc những quá trình, sử dụng các chất phụ gia màu, huỳnh quang. Nếu các chất phụ gia đó đã được sử dụng, dùng các nguyên tử đánh dấu. Sử dụng các hình vẽ, ký hiệu thích hợp. 15. Nguyên tắc linh động : a.Cần thay đổi các đặc trưng của đối tượng hay môi trường bên ngoài sao cho chúng tối ưu trong từng giai đoạn làm việc. b. Phân chia đối tượng thành từng phần có khả năng dịch chuyển đối với nhau c. Nếu đối tượng nhìn chung bất động, làm nó di động được. 16. Nguyên tắc sao chép (copy) a. Thay vì sử dụng những cái không được phép, phức tạp, đắt tiền, không tiện lợi hoặc dễ vỡ, sử dụng bản sao. b. Thay thế đối tượng hoặc hệ các đối tượng bằng bản sao quang học(ảnh, hình vẽ) với tỉ lệ cần thiết. c. Nếu không thể sử dụng bản sao quang học ở vùng biểu kiến(vùng ánh sáng nhìn thấy được bằng mắt thường), chuyển sang sử dụng các bản sao hồng ngoại hoặc tử ngoại. Ưu điểm của các thủ thuật: 1. Có thể dạy và học các thủ thuật được. Để luyện tập có thể lấy một đối tượng hoặc một giải pháp kỹ thuật rồi phân tích xem người ta đã dùng các thủ thuật gì, nhằm giải quyết vấn đề nào. Cũng có thể lấy một đối tượng nào đó rồi dùng các thủ thuật tác động lên nó để phát các ý tưởng cải tiến , hoàn thiện đối tượng đó ( các thủ thuật cơ bản này không đơn thuần là công cụ, chúng còn phản ánh khuynh hướng phát triển các hệ kỹ thuật nói chung và hệ thống nói chung nên chúng có công dụng khá lớn ). Có thể dùng các thủ thuật theo cách trên để luyện tập phát triển trí tưởng tượng. 2. Nếu dùng các thủ thuật đúng nơi,đúng lúc, đúng cách thì suy nghĩ sẽ trở nên định hướng và tiết kiệm thời gian giải bài toán . 3. Có thể nhân sức mạnh của các thủ thuật bằng cách không chỉ dùng các thủ thuật đơn lẻ mà dùng các tổ hợp của chúng. 4. Mặc dù các thủ thuật tìm ra từ lĩnh vực sáng tạo kỹ thuật nhưng có thể mở rộng dùng chúng ở các lĩnh vực sáng tạo khác nếu hiểu chúng một cách linh hoạt, khái quát cộng với trí tưởng tượng. Nhược điểm của các thủ thuật: 1. không có các tiêu chuẩn khách quan để xác định cụ thể dùng thủ thuật gì, lúc nào, ở đâu và như thế nào để giải bài toán cho trước nhanh nhất. 2. trên thực tế, người ta thường dùng tổ hợp các thủ thuật để giải, do vậy, lại đụng đến vấn đề số lớn của phương pháp thử và sai. 3. khi một số thủ thuật mang lại lợi ích cho người giải và trở nên được yêu thích, chúng tiềm chứa tính ì tâm lý, cản trở sáng tạo khi phải giải các bài toán loại khác. Giải quyết vấn đề nghiên cứu Các hình thức được biết nhiều của thương mại điện tử là mua bán sách và nhạc cũng như mua bán đấu giá trong Internet. Thông qua việc Internet bùng nổ vào cuối thập niên 1990, cửa hàng trực tuyến ngày càng có tầm quan trọng nhiều hơn. Những người bán hàng trong Internet có lợi thế là họ không cần đến một diện tích bán hàng thật sự mà thông qua các trang Web sử dụng một không gian bán hàng ảo. Các cửa hàng trực tuyến cũng thường hay không cần đến nhà kho hay chỉ cần đến rất ít, vì thường có thể cung cấp cho khách hàng trực tiếp từ người sản xuất hay có thể đặt hàng theo nhu cầu. Lợi thế do tiết kiệm được những phí tổn cố định này có thể được tiếp tục chuyển tiếp cho khách hàng. Để cạnh tranh với các trang web bán hàng khác ngoài uy tín và chất lượng của sản phẩm thì việc thiết kế 1 giao diện gần gũi, thân thiện với người dùng cũng là một yếu tố không thể thiếu để nâng cao doanh thu của trang web. Một trong những thành phần dường như không thể thiếu được trong mỗi Website đó là hệ thống Menu ngang, đây là một trong những hệ thống danh mục thế hiện những nội dung chính của Website, từ đó giúp cho người duyệt Web dễ dàng lựa chọn những chuyên mục mà mình quan tâm. Hình 1.1 Thanh Menu của trang web Trang web bán hàng ShopIT4girl được bao gồm các thành phần chính sau : Trang chủ : bao gồm những thông tin tổng quát, tin tức Sản phầm : các loại quân áo thời trang nam, nữ tổng hợp, giá cả Thành viên : cho phép người dùng đăng nhập, viết ý kiến của mình về sản phẩm mà họ đã chọn mua và sử dụng Giỏ hàng : hình thức thanh toán qua mạng khi người dùng ưng ý và quyết định mua đồ Hỗ trợ : thông tin về chủ trang web Hình 1.2 Giao diện bên phía người dùng Nội dung trang web được bố trí hài hòa với màu hồng làm chủ đạo, các phần được phân chia rõ ràng bằng cách sử dụng thẻ với phần chính giữa là sản phẩm để bán 2 bên là hình quảng cáo và khung đăng nhập dành cho người dùng. Việc chia nhỏ trang web ra thành từng khu vực riêng biệt vừa làm tăng tính thẩm mĩ của trang web, vừa giúp cho việc quản lí và sắp xếp các sản phẩm bán hàng cũng như chức năng tương tác giữa người dùng và trang web được đễ dàng hơn. Áp dụng nguyên tắc phân nhỏ để chia trang web thành những phần nhỏ hơn ứng với chức năng và vai trò của nó trong trang web như phần bên để hiển thị quảng cáo, phần trung tâm trang web là hiển thị các sản phẩm quần áo thời trang. Cũng tương tự như trang web dành cho người dùng, bên phía giao diện của web danh riêng cho người quản trị cũng có những quy tắc phân chia các thành phần riêng biệt theo đúng chức năng của nó. Hình 1.3 Menu chức năng của người quản trị Hình 1.4 Giao diện bên trang web quản trị Có lẽ việc thiết kế một trang web không còn quá xa lạ, mọi người đều có thể thiết kế một website cá nhân cho mình. Có khá nhiều công cụ hỗ trợ web, thậm chí có nhiều website cung cấp cả mẫu riêng và một nơi lưu trữ để bạn sản phẩm của mình lên mạng. Ở đây, chúng tôi chỉ giúp bạn tạo một hiệu ứng rất đẹp tô điểm cho website của mình: Tạo các màu chuyển sắc cho chuỗi ký tự bằng các thẻ lệnh HTML, hãy áp dụng nguyên tắc đổi màu thật linh động và sáng tạo trong phần này. Thật ra việc tạo chuỗi ký tự màu sắc cho web không phải là khó, bạn có thể đổi màu cho từng ký tự trên bằng thẻ lệnh HTML. Ví dụ như bạn muốn chuỗi LBVMVT (chuỗi hiển thị trong ô mã xác nhận khi đăng kí thành viên) có màu bảy sắc cầu vòng, bạn chỉ việc tô từng ký tự bằng màu tương ứng. Cách sử dụng vô cùng đơn giản, bạn chỉ việc nhập chuỗi ký tự vào ô Text, chọn kiểu màu trong Text Style (Rainbow – bảy sắc cầu vòng; Gradual Color – màu chuyển sắc; Random Color – màu ngẫu nhiên) và copy đoạn mã phát sinh bên dưới dán vào trang web của bạn. Bạn có thể chọn kiểu phông ở list Font, kích thước chữ, in đậm/nghiêng, quy định màu sắc… Trong phần tin tức khi bạn nhấp vào tiêu đề của phần nội dung thông tin cần đọc thì phần tiêu đề sẽ chuyển màu khác khi bạn đưa chuột vào. Trong trang web có thể kết hợp nhiều màu sắc để thiết kế giúp cho trang web của mình trở nên nổi bật hơn, những sản phẩm mới có thể để những màu đặc biệt như màu nhấp nháy, các màu nổi… để thu hút người dùng coi và chọn sản phẩm Nếu biết cách, bạn có thể tạo ra những kiểu chữ rất ấn tượng cho website của mình. Sau khi thiết kế giao diện tương tác với người dùng thì việc tiếp theo chúng ta cần giải quyết là xử lí các yêu cầu và thao tác bên trong trang web, từ việc kết nối cơ sở dữ liệu, lưu thông tin người dùng, trao đổi buôn bán sản phẩm trực tuyến… Xây dựng trang web với ZendFrameWork, trước hết trang web phải được xây dựng theo cấu trúc thư mục như sau Hình 1.5 Cấu trúc cây thư mục được xây dưng trong Zend Mô hình MVC là mô hình chuẩn được sử dụng trong Zend để xử lí các yêu cầu và thao tác trong trang web. Xây dựng ứng dụng với 2 phần giao diện : admin ứng với phần giao diện của trang admin bao gồm những chức năng, quyền hạn của người quản trị, trang public giao diện tương tác dành cho người dùng web bình thường. Bắt tay vào giải quyết các thao tác, yêu cầu trên trang web thì việc đầu tiên phải làm là gì, vấn đề của mình lớn đến đâu phải phân nhỏ nó ra làm sao, tách và phân chia chức năng cho các đối tượng như thế nào, các thành phần độc lập đến đâu có tháo lắp được dẽ dàng và khi kết hợp lại có đồng bộ trong quá trình hoạt động hay không. Cấu trúc trong cây thư mục của Zend đã giải quyết vấn đề một cách triệt để các thành phần được sử dụng một cách linh hoạt, độc lập về tính năng nhưng tổng thể thì không tách rời, tập trung giải quyết và nhận yêu cầu tại một file duy nhất là boottrap, phân phối và chuyển các yêu cầu đi từng tầng để xử lí ứng với từng chức năng ban đầu mà thành phần đó được quy định Mỗi trang web được chia thành 3 thư mục Model, View, Controller và các thao tác trong trang web được xử lí cụ thể như sau: Model Model là một đối tượng hoặc tập hợp các đối tượng biểu diễn cho phần dữ liệu của chương trình ứng dụng. Thành phần model này được chúng ta xây dựng thành các lớp kế thừa từ lớp Zend_Db_Table hoặc Zend_Db_Table_Abstract được đặt trong thư mục application/models của ứng dụng. Mỗi lớp sẽ đảm nhận việc kết nối và thao tác đến table tương ứng trong cơ sở dữ liệu. View Là phần giao diện với người dùng. bao gồm việc hiện dữ liệu ra màn hình, cung cấp các menu, nút bấm, hộp đối thoại, chọn lựa…, để người dùng có thể thêm, xóa, sửa, tìm kiếm và làm các thao tác khác đối với dữ liệu trong hệ thống. View làm nhiệm vụ render trang web từ các action do controller truyền sang kết hợp với dữ liệu từ model, có thể hiểu View đóng vai trò như là template render. Thành phần view này được đặt trong thư mục admin/views và public/views Trong thư mục views này có 3 thành phần scripts Chứa các thư mục gồm các file ánh xạ đến các controller/action để hiển thị trang giao diện tương ứng helpers : Trong thư mục này chứa các các lớp mà chúng ta tạo ra và các lớp này sẽ được nạp tự động cho đối tượng Zend_view thông qua Zend_View_Helper để giúp chúng ta dễ dàng gọi đến hàm được xây dựng trong lớp này mà không cần phải khai báo trước vì nó được xem là một thành phần trong thư viện của Zend (được nạp tự động). filters : Tương tự như thành phần helpers, filters chứa các lớp giúp cho chúng ta có thể thay đổi hoặc xóa những dữ liệu không mong muốn trong quá trình nhập liệu thông qua bộ lọc này. Controller Là phần điều khiển toàn bộ logic về hoạt động của giao diện, tương tác với thao tác của người dùng và cập nhật, thao tác trên dữ liệu theo đầu vào nhận được và điều khiển việc chọn phần “Hiển thị” thích hợp để truyền dữ liệu tới người dùng. Controller làm nhiệm vụ điều hành trang web của bạn, 1 trang web có thể có nhiều module , 1 module có thể có nhiều controller. Một controller sẽ gồm nhiều action . Zend Framework sử dụng đối tượng Front Controller để quản lý các Request được gởi đến Web server. Và dựa trên Request đó, nó sẽ gọi các lớp xử lý Model và trả về kết quả trình bày với các lớp View. Ví dụ: Trong website bán hàng it4girl sẽ có AuthController bao gồm các action như:loginAction(), captchAction(), logoutAction(),… Bootstrap : Ngoài ra trang web của bạn cần có 1 file quan trọng chính là bootstrap, làm nhiệm vụ chờ và nhận tất cả các request vào, sau đó khởi tạo controller và dispatch request đến controller tương ứng. Điều đó có nghĩa là thay vì bạn tổ chức với đầy đủ chức năng từ kết nối đến database , xử lý và hiển thị kết quả ra trình duyệt chỉ trong một file thì với mô hình kiến trúc MVC này bạn tách làm 3 thành phần riêng biệt (có thể ví như việc phân công lao động theo chuyên môn của mổi người vậy) mỗi phần sẽ đảm nhiệm môt nhiệm vụ đặc trưng của mình(áp dụng nguyên tắc phân nhỏ và nguyên tắc tách khỏi). Trong quá trình xây dựng code cho chương trình thường có nhiều thay đổi. Vì vậy người ta chia chương trình thành các class riêng. Trong mỗi class sẽ có các hàm thực hiện các chức năng riêng biệt. Như vậy khi cần thay đổi, sửa chữa ta chỉ cần thay đổi cục bộ mà không ảnh hưởng đến toàn bộ chương trình. Các phẩm chất cục bộ phát triển từ đơn giản đến phức tạp để tạo ra những ưu điểm riêng biệt. Nguyên tắc phẩm chất cục bộ tạo ra những sản phẩm tối ưu, có thể mở rộng. Các nguyên tắc kết hợp, phân nhỏ, phẩm chất cục bộ còn phản ảnh khuynh hướng phát triển biện chứng : Sự liên kết , hợp tác hóa đi kèm với sự phân công chức năng nhiệm vụ và chuyên sâu hơn. Giúp cho việc đồng nhất quá trình hoạt động của chương trình ta có file bootrap, được dùng để nhận các yêu cầu và gọi các hàm khởi tạo, nguyên tắc sao chép được vận dụng khi chúng ta kế thừa các lớp và các hàm để xử lí trong chương trình. Những mẫu lập trình như mẫu thiết kế MVC thì không còn quá xa lạ với chúng ta nữa .bây giờ chúng ta sẽ tìm hiểu một số mẫu còn lại khác như :  Singleton, Registry,Factory,Strategy,Iterator,Buider,… Bây giờ chúng ta hãy xem Zend_Controller_Front implements nó như thế nào trong Zend Framework : class Zend_Controller_Front { // Singleton instance protected static $_instance = null; // Constructor // Instantiate using {@link getInstance()}; front controller is a singleton object. protected function __construct() { …… } // Enforce singleton; disallow cloning private function __clone() { } // Singleton instance public static function getInstance() { if (null === self::$_instance) { self::$_instance = new self(); } return self::$_instance; } Chúng ta lưu trữ các instance trong một biến tĩnh biến là $_instance với  khai báo protected hoặc private . Sau khi hàm getInstance() được gọi để instance  một đối tượng vào lúc khởi tạo đầu tiên. Chúng ta cần chú ý đến hàm __clone()  bị chặn vì nó được khai báo private ,nghĩa là chúng ta không thể sao chép các đối tượng và instance nó được nhiều hơn một lần . Bây giờ chúng ta có thể instance đối tượng Zend_Controller_Front chỉ bằng cách thông qua Zend_Controller_Front::getInstance() Registry cung cấp một cơ chế giúp bạn lưu trữ và duy trì các đối tượng của bạn trong ứng dụng .nó nhắm ngăn ngừa việc sử dụng đối tượng toàn cục không đúng cách bởi người dùng . Registry thường cung cấp các functions làm cho bạn thoải mái để quản lý các đối tượng lưu trữ , lấy ,xóa bỏ , … đối tượng . Chúng ta cần phải quan tâm đến một điều  là Zend_Cache được khai báo là class abstract .Điều này làm cho nó không thể khởi tạo và chỉ được sử dụng như một factory cung cấp cho các objects bạn cần .Đây là một cơ chế hiệu quả làm ngăn ngừa tình trạng hỗn độn từ việc dùng sai factory . Mặt khác , chúng ta cũng có thể thấy một số biến tĩnh như $standardFrontends mà có thể được xem là chuẩn của produ

Các file đính kèm theo tài liệu này:

  • docM7908C L7908C.doc