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

xây dựng website bán đồ điện tử

71 394 2

Đ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 71
Dung lượng 5,42 MB

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

Nội dung

Xem thông tin của sản phẩm theo từng chuyên mục Website có các chức năng được phân cấp rõ ràng, hỗ trợ người dùng cập nhập dữ liệuchinh xác và nhanh chóng Để xây dựng được Website có tí

Trang 1

LỜI NÓI ĐẦU

Ngày nay song song với quá trình phát triển công nghệ khoa học và kỹ thuật thìngành công nghệ thông tin cũng đã đóng một vai trò vô cùng quan trọng, có ảnhhưởng lớn đến cuộc sống của con người, và đang đạt được những thành tựu rực rỡ, vớinhững bước tiến nhảy vọt Mạng Internet là một trong những sản phẩm có giá trị hếtsức lớn lao và ngày càng trở thành một công cụ không thể thiếu, là nền tảng chính cho

sự truyền tải, trao đổi thông tin trên toàn cầu

Sự phát triển nhanh chóng của nền kinh tế toàn cầu cũng như nền kinh tế nước

ta trong những năm gần đây dẫn đến việc các doanh nghiệp phát triển ngày càng mạnh

mẽ hơn Mức sống của con người ngay càng được nâng cao hơn Con người hiện đại,ngoài các nhu cầu thông thường còn có thêm nhiều nhu cầu khác, như vui chơi, giảitrí, tham quan, du lịch, tìm hiểu thông tin…

Với cuộc sống và công việc luân bận rộn thì Internet càng trở nên quan trọnghơn Không cần phải mất nhiều thời gian và công sức để tìm kiếm một thông tin nào

đó, với Internet, mọi thứ dường như đã được trang bị đầy đủ, theo như số liệu điều tra,

cứ mỗi giây lại có thêm vài chục trang Web mới bổ xung vào hàng tỷ trang đã có Song song với sự phát triển của công nghệ thông tin thì nhu cầu mua hàng điện tửcũng là một vấn đề cần thiết, việc xây dựng một Website chỉ dẫn mua bán hàng điện tửcủa con người là khá cần thiết, điều này sẽ làm tăng khả năng tận dụng ưu thế của côngnghệ thông tin nói chung cũng như Internet nói riêng trong cuộc sống con người…

Xuất phát từ nhu cầu trên, đồng thời được sự hướng dẫn tận tình của PGS.TSNguyễn Đăng Tộ và thầy Phạm Trí Công ,em xin chọn đề tài cho đồ án tốt nghiệp củamình là“Xây dựng website bán đồ điện tử ”

Trong thời gian học tập và nghiên cứu tại nhà trường, dưới sự dạy dỗ và chỉ bảocủa các thầy, cô giáo, em đã trang bị được những kiến thức bổ ích và rất thiết thựctrong cuộc sống Những kiến thức đã được học trong nhà trường sẽ là hành trang vữngchắc giúp em bước vào đời một cách tự tin hơn

Hà Nội, ngày 10 tháng 7 năm 2011

Sinh viên thực hiện

Đỗ Thị Bích

Trang 2

LỜI CẢM ƠN

Trong suốt quá trình học tập và hoàn thành đồ án tốt nghiệp, em đã nhận được

sự hướng dẫn, giúp đỡ quý báu của các thầy cô và các bạn Với lòng kính trọng và biết

ơn sâu sắc em xin được bày tỏ lới cảm ơn chân thành tới:

Giảng Viên Phạm Trí Công người thầy đã tận tình giúp đỡ, trực tiếp chỉ bảo,

hướng dẫn em trong suốt quá trình thực tập và làm đồ án tốt nghiệp Trong quá trìnhhọc tập với thầy em không ngừng học tâp và tiếp thu thêm được rất nhiều kiến thức bổích mà còn học tập được tinh thần làm việc, thái độ nghiên cứu nghiêm túc, hiệu quả.Đây là những điều rất cần thiết cho em trong quá trình học tập và làm việc sau này

Các thầy cô trong trường Đại học Thủy Lợi nói chung và các thầy cô trongkhoa Công nghệ thông tin nói riêng đã tận tình giảng dạy, truyền đạt cho em nhữngkiến thức và kinh nghiệm quý báu trong suốt thời gian học tập tại trường

Em xin gửi lời cảm ơn tới gia đình, bạn bè đã luôn ở bên động viên, góp ý, giúp

đỡ em trong suốt quá trình học tập của mình

Mặc dù em đã cố gắng hoàn thành đồ án tốt nghiệp của mình với khả năng củamình, nhưng do năng lực và kinh nghiệm còn hạn chế nên không tránh khỏi nhữngthiếu sót Em kính mong nhận được sự cảm thông và tận tình góp ý chỉ bảo của cácthầy cô và các bạn

Trang 3

CHƯƠNG 1 :GIỚI THIỆU

Các hệ thống máy tính hiện nay có tốc độ xử lý cao, dung lượng đĩa cứng lớn…giúp cho việc xử lý chương trình và lưu trữ thông tin trở nên dễ dàng hơn Tuy nhiên,kèm theo đó lại nảy sinh một vấn đề bất cập, đó là việc quản lý dữ liệu, thông tin đượclưu trữ trong máy tính, với dung lượng vài chục ghitabyte Việc tìm kiếm các thông tintrong đó quả là không dễ dàng Cách tốt nhất là xây dựng những hệ thống tìm kiếmthông tin, chúng ta cập nhập nhanh chóng và chính xác thông tin muốn tìm

Tra cứu và tìm kiếm thông tin là một hoạt động thường xuyên của con người.Các Website quản lý thông tin là những hệ thống hỗ trợ việc tra cứu và tìm kiếm thôngtin liên quan đến nhiều lĩnh vực trong đời sống Giúp người xem có thể tiết kiệm đượcnhiều thời gian và công sức cũng như tiền của cho việc tìm kiếm chúng khi không cóInternet Hiện nay, Vấn đề cần tìm hiểu về thông tin hàng điện tử đang trở nên kháquan trọng để có thể đưa ra những lựa chọn và quyết định đúng đắn trong việc muacho mình một sản phẩm tốt Vì vậy, việc xây dựng một Website quản lý các thông tin

về đồ điện tử là một vấn đề khá cần thiết

Qua đó, em đã mạnh dạn chọn đề tài “Xây dựng website bán đồ điện tử” làm

đề tài tốt nghiệp.Website được xây dựng trên Framework MVC-Kohana, Frameworknày được viết bằng PHP, sử dụng hệ quản trị cơ sở dữ liệu MYSQL

1.2 Mục tiêu đề tài

Đề tài “Xây dựng website bán đồ điện tử” với mục tiêu tìm hiểu về web

Framework ,mô hình MVC ,Kohana và áp dụng nó để dựng website bảo đảm tính tiệndụng đối với cả người sử dụng và người quản trị Nội dung của website được trình bày

rõ ràng, mạch lạc,dễ sử dụng và thân thiện với người dùng

Website được thiết kế và lập trình bằng ngôn ngữ PHP trên cơ sở dữ liệuMySQL Nội dung của website bao gồm các chức năng như:

Giới thiệu về các loại hàng điện tử :máy tính ,điện thoại ,đồ gia dụng…

Giới thiệu về công ty bán đồ điện tử

Hướng dẫn mua bán online,hỗ trợ trực tuyến

Trang 4

Thông tin về các sản phẩm cấu hình ,giá…

Thông tin về các chương trình Khuyến mãi

Thông tin về sản phẩm bán chạy nhất và được quan tâm nhiều nhất

Các thông tin khác…

Quảng bá thông tin cho người dùng có thể lựa chọn một sản phầm phù hợp với điềukiện của họ

Nội dung chính là xử lý các chức năng về quản lý và tìm kiếm thông tin:

Quản lý tin tức

Quản lý các chuyên mục của tin tức

Quản lý các chuyên mục của sản phẩm

Quản lý User

Cập nhập thông tin một cách thường xuyên

Chỉnh sửa, thay đổi khi thông tin không còn phù hợp

Tìm kiếm thông tin

Xem thông tin của sản phẩm theo từng chuyên mục

Website có các chức năng được phân cấp rõ ràng, hỗ trợ người dùng cập nhập dữ liệuchinh xác và nhanh chóng

Để xây dựng được Website có tính thực tế cao, dễ sử dụng, thân thiện, thỏa mãn

các yêu cầu với người dùng thì yêu cầu:

Cần phải khảo sát thông tin của hệ thống một cách chi tiết và chính xác

Phân tích dữ liệu đầu vào, đầu ra một cách rõ ràng, chặt chẽ và chính xác

Trên cơ sở những thông tin đã thu thập được tiến hành xây dựng sơ đồ chức năngngiệp vụ, mô hình UseCase, mô hình Sequence Diagram, mô hình ClassDiagram, mô hình quan hệ giữa các thực thể,mô hình quan hệ…

Trang 5

Thiết kế một số modul quan trọng( lưu trữ, tìm kiếm, xử lý thông tin).

Thiết kế giao diện: Là yêu cầu khá quan trọng, giao diện phải đảm bảo vừa mangtính nghiệp vụ lại vừa đẹp mắt, dễ sử dụng,thân thiện với người dùng…

Lập dự kiến xây dựng cơ sở dữ liệu cho hệ thống, phân tích, đánh giá được phạm

vi lưu trữ, độ an toàn của dữ liệu khi vận hành

Kết quả cuối cùng của hệ thống phải có tính ưu việt, khả năng xử lý được lượngthông tin lớn, lưu trữ khoa học, thuận tiện và bảo mật caoHệ thống được xâydựng trên Framework MVC -Kohana được viết bằng ngôn ngữ PHP và hệ quảntrị cơ sở dữ liệu MYSQL 5.1.36

Hiện nay có rất nhiều công nghệ được sử dụng để phát triển website (PHP, ASP,ASP.NET, JSP ) để lựa chọn công cụ phát triển một cách thích hợp dựa trên cácthông số cơ bản như: tính kinh tế, khả năng ứng dụng, mức độ bảo mật, môi trường hỗtrợ và tốc độ xử lý Đây là bảng so sánh các công nghệ phát triển website:

PHP:

Tốc độ xử lý nhanh, hiệu quả cao

Chi phí giá thành thấp(ngôn ngữ free không tốn chi phí mua bản quyền)

Thời gian code và triển nhanh, đơn giản

Số lượng nhà cung cấp hosting nhiều, dễ lựa chọn

Số nhà cung cấp website nhiều, khả năng chọn lựa một trang web phù hợp tốthơn

Khả năng mở rộng và phát triển dễ dàng và nhanh chóng

Các công cụ và công nghệ hỗ trợ phong phú, đa dạng Phát triển web trên nềnweb 2.0 Sử dụng công nghệ Ajax làm cho quá trình duyệt web nhanh chóng vàthân thiện hơn đối với người dùng

ASP.NET:

Tốc độ xử lý nhanh, hiệu quả cao

Trang 6

Thời gian code và triển khai hơi phức tạp, chậm hơn PHP

Số lượng nhà cung cấp hosting không nhiều, vì vậy khó cho việc lựa chọn

Số nhà cung cấp website nhiều, khả năng chọn lựa một trang web phù hợp tốthơn

Mở rộng và phát triển website dẽ dàng

Các công cụ và công nghệ hỗ trợ phong phú, đa dạng Phát triển web trên nềnweb 2.0 Sử dụng công nghệ Ajax làm cho quá trình duyệt web nhanh chóng vàthân thiện hơn đối với người dùng

ASP

Tốc độ xử lý rất chậm

Chi phí giá thành trung bình (do một phần phải mua bản quyền)

Thời gian code và triển khai trung bình

Số lượng nhà cung cấp hosting không nhiều, vì vậy khó cho việc lựa chọn

Chi phí giá thành cao

Thời gian code và triển khai hơi phức tạp, chậm hơn PHP

Số lượng nhà cung cấp hosting ít, khó tìm

Số nhà cung cấp website ít, khả năng chọn lựa để xây dựng 1trang web phù hợprất khó

Khả năng mở rộng và phát triển website khó khăn

Công cụ và công nghệ hỗ trợ ít, khó tìm

Trang 7

Đối với đa số website nên chọn ngôn ngữ phát triển website PHP/MySQL vìgiá thành tương đối, tốc độ xử lý nhanh, dễ lựa chọn nhà cung cấp… Sau quá trìnhxem xét và cân nhắc, em đã lựa chọn ngôn ngữ PHP/MySQL để xây dựng websiteđồng thời kết hợp với các công cụ:

Hệ quản trị cơ sở dữ liệu MYSQL 5.1.36

Framework MVC được viết bằng ngôn ngữ PHP

Thiết kế giao diện bằng ngôn ngữ HTML và CSS

Cài đặt localhost trên window với Wamp server 2.0 để chạy chương trình

Trang 8

CHƯƠNG 2 : TÌM HIỂU WAMP,MYSQL,PHP,FRAMEWORF MVC

2.1 WAMP

2.1.1 Các đăc điểm nổi bật của wamp

Wamp: Một gói phần mềm Web Server tất cả trong một (All-in-One)gồm: Apache, MySQL, PHP chạy trên nền Windows Chồng phần mềm Wamp chucấp các nhà phát triển với bốn phần tử then chốt của một máy chủ web: một hệ điềuhành, kho dữ liệu, máy chủ đãi web và phần mềm ra văn mã cho mạng web Sự hợp lạicủa việc sử dụng những chương trình này gọi là một chồng trên máy chủ (serverstack) Trong chồng này, Microsoft Windows hệ điều hành (operating system), Apache

là phần mềm máy chủ web, MySQL lo liệu các thành phần kho dữ liệu, trong lúc PHP,Python, hoặc PERL tượng trưng các ngôn ngữ chủ động ra văn mã

Nó cho phép bạn tạo các ứng dụng Web với Apache, PHP, và cơ sở dữ liệuMySQL Nó cũng đi kèm với PHPMyAdmin và SQLiteManager để dễ dàng quản lý

cơ sở dữ liệu của bạn WampServer cài đặt tự động (cài đặt), và cách sử dụng của nó làrất trực quan Bạn sẽ có thể điều chỉnh ngay cả máy chủ của bạn mà không cần chạmvào các tập tin cài đặt WampServer là chỉ đóng gói giải pháp mà sẽ cho phép bạn saochép sản xuất máy chủ của bạn Khi WampServer được cài đặt, bạn có khả năng thêmbao nhiêu Apache, MySQL, và PHP bản phát hành như bạn muốn WampServer cũng

có một trayicon để quản lý các máy chủ của bạn và các thiết lập của nó

Các đặc điểm nổi bật của Wamp :

Có thể cài đặt WAMP dễ dàng

WAMP được cập nhật đều đặn

Cho phép lựa chọn các phiên bản PHP, MySQL khác nhau

Rất tốt cho việc tạo máy chủ Web để chạy thử, thiết kế Website bằng PHP

Hỗ trợ tốt cho Joomla 1.5, Joomla 1.0

Hỗ trợ phiên bản PHP5 mới nhất

Tương thích Windows XP / Windows Vista / Windows 7

Hoàn toàn miễn phí

Trang 9

2.2 CƠ SỞ DỮ LIỆU MYSQL

2.2.1 Giới thiêu chung về MySQL

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và đượccác nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ

sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều

hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh

Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cậpCSDL trên internet MySQL rất thích hợp cho các ứng dụng có truy cập CSDL từ trêninternet MySQL được sử dụng miễn phí hoàn toàn Nó có nhiều phiên bản cho các hệđiều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux,Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,…MySQL là một trong những ví dụ rất cơ bản về Hệ Quản Trị Cơ Sở Dữ liệu quan

hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL)

MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm

nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,…

2.2.2 Các đối tượng của MySQL

 Bảng - Table :

Trong cơ sở dữ liệu, bảng (Table) là thành phần chính của chúng Do đó bảng làđối tượng lưu trữ dữ liệu thực, khi cần giao tiếp với cơ sở dữ liệu khác, bảng là đốitượng căn bản nhất trong bất kỳ loại cơ sở dữ liệu nào, chúng được coi như mộtmiền dữ liệu

Bảng dùng để lưu trữ tất cả dữ liệu và được tổ chức thành nhiều hàng và nhiềucột Mỗi cột trong bảng có thể lưu một loại thông tin nhất định gọi là kiểu dữ liệu,

dữ liệu nhập vào có thể chấp nhận hoặc từ chối tùy thuộc vào nguyên tắc ràng buộc

dữ liệu hoặc dữ liệu tương thích do hệ thống hay người dùng định nghĩa

Khi định nghĩa cơ sở dữ liệu ta cần quan tâm đến các thông số sau:

Key: Trường đó có khóa hay không

ID: Trường có thuộc tính Identity hay không

Column Name: Tên của trường

Trang 10

Data type: Loại dữ liệu cho trường tương ứng.

Size: Kích thước trường dữ liệu

Allow null: Cho phép giá trị rỗng lưu trong trường hay không

Default: Giá trị mặc nhiên cho trường

Identity: Nếu bạn cần sử dụng một trường có giá trị tự động nhưAutonumber trong access, trường này not null và Identity: yes (no).Identity seed: Nếu trường (cột) này là identity, cần số bắt đầu số 1 hoặc 2

 Chỉ mục - Indexs:

Index hay còn gọi là chỉ mục, đối tượng này chỉ tồn tại trong bảng hay khungnhìn (view) Chỉ mục này có ảnh hưởng tới tốc độ truy cập số liệu, nhất là khi cầntìm kiếm thông tin trên bảng, chỉ mục giúp tăng tốc độ cho việc tìm kiếm

Clustered: Ứng với mỗi chỉ mục này một bảng chỉ có một chỉ mục, và sốliệu được sắp xếp theo trang

Non-clustered: Ứng với chỉ mục này một bảng có thể có nhiều chỉ mục

và dữ liệu được sắp xếp theo trường dữ liệu mà bạn chỏ tới

 Bẫy lỗi - Triggers:

Nếu đối tượng chỉ tồn tại trong bảng, cụ thể là một đoạn mã, và tự động thực thikhi có một hành động nào đó xảy ra đối với dữ liệu trong bảng như: Insert, Update,Delete

Trigger có thể sử dụng để bẫy rất nhiều tình huống như copy dữ liệu, xóa dữliệu, cập nhập dữ liệu, kiểm tra dữ liệu theo tiêu chuẩn nào đó

Trang 11

phép toán, biểu thức của MY SQL Bên cạnh đó View có thể kết nối nhiều bảng lại vớinhau theo quan hệ nhất định cùng với những tiêu chuẩn, nhằm tạo ra một bảng theonhu cầu của người dùng.

View cho phép bạn chia ngang hay dọc thông tin từ một hay nhiều bảng trong

cơ sở dữ liệu, sử dụng View như là một đối tượng trong MY SQL, khi cần thiết sửdụng đến View, kết quả View trả về bằng việc truy vấn dữ liệu theo yêu cầu ngườidùng

Mục đích sử dụng View:

Hạn chế tính phức tạp của dữ liệu đến người dùng

Kết nối dữ liệu từ nhiều bảng lại với nhau

Sử dụng tài nguyên Server để thực hiện việc truy vấn

Tạo ra một bảng ảo có dữ liệu như yêu cầu

Kết hợp một số hàm và phương thức tạo ra các cột mới

 Thủ tục nội (stored Procedure):

Thủ tục nội hay còn gọi là Spocs, tiếp tục phát triển như một phần lập trìnhSQL trên cơ sở dữ liệu Store Procedure cho phép khai báo biến, nhận tham sốcúng như thực thi các phát biểu có điều kiện Store Procedure có các ưu điểm sau:

Kế thừa tất cả các phát triển của SQL, và là một đối tượng xử lý số liệuhiệu quả nhất khi dùng MY SQL

Tiết kiệm thời gian thực thi trên dữ liệu

Có thể gọi những Stored Procedure theo cách gọi của thủ tục hay hàmtrong các ngôn ngữ lập trình truyền thống, đồng thời sử dụng lại khi cóyêu cầu

2.3.1 Giới thiệu chung về PHP

PHP được phát triển từ ngôn ngữ kịch bản (script) với mục địch xây dựng trangWeb cá nhân (Personal Home Page) Sau đó đã được phát triển thành một ngôn ngữhoàn chỉnh và được ưa chuộng trên toàn thế giói trong việc phát triển các ứng dụng

Trang 12

Web based.

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ết chomá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ẩmtươ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ộtngôn ngữ lập trình web phổ biến nhất thế giới

Chương trình PHP hoạt động như thế nào? Trước tiên chúng ta hãy tìm hiểu cáchthức hoạt động của hệ trình duyệt (Web Client) và máy chủ cung cấp dịch vụ Web(Web server ):

Bước 1: Trình duyệt gửi một yêu cầu HTTP đến máy chủ, yêu cầu một file nào đóBước 2: Máy chủ sẽ chuyển yêu cầu này đến chương trình xử lý tương ứng,chính là chương trình Web server

Bước 3: Web server phân tích chuỗi yêu cầu nhận được, kiểm tra xem trình duyệt

ở máy khách yêu cầu gì Nếu đó là các file bình thường (không phải là các file chứacác đoạn mã script thực thi phía máy chủ), nó sẽ tìm kiếm file đó và trả về cho trìnhduyệt ở máy khách Còn nếu đó là các file chứa các đoạn mã script thực thi phía máychủ (các chương trình CGI, hay các file thư viện liên kết động ISAPI, hoặc các file

*.asp hay *.php), nó sẽ triệu gọi chương trình thực thi các đoạn mã này Chương trìnhnày sẽ chịu trách nhiệm chạy các đoạn mã, trả chúng về cho Web server dưới khuôndạng của HTML Sau đó, Web server mới trả kết quả lấy được cho trình duyệt

Như vậy, chương trình của bạn phải được thực thi trên máy chủ, sau đó mới đượctrả về cho trình duyêt Và đây chính là cái gọi là "Trang Web động" Không như cáctrang web tĩnh, trang web động cho phép bạn có sự tương tác với máy chủ thông quacác đoạn script thực thi phía server Nhờ có sự tương tác này, bạn có thể truy xuất cơ

sở dữ liệu, lấy thông tin người sử dụng, điều khiển các hoạt động khác

2.3.2 Lý do chọn PHP

PHP Rất đơn giản đối với nhưng người còn xa lạ với chương trình này đây là sựlôi cuốn mạnh mẽ nhất Thậm chí là rất ít hoặc không có một chương trình nào có thểtạo ra một tốc độ đáng kinh ngặc trong việc phát triển bành trướng như PHP Bởi vì nó

đc thiết kế đặc biệt trong các ứng dụng Web, PHP xây dựng được rất nhiều tính năng

Trang 13

để đáp ứng những nhu nhu cầu chung nhất

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ục các lỗitrong chương trình này PHP rất ổn định và tương hợp, PHP Ngoài ra PHP chạy đượctrên nhiều hệ điều hành khác nhau

Rút ngắn thời gian phát triển :

PHP cho phép bạn tách phần HTML code và phần script, do đó có thể độc lậpgiữa công việc phát triển mã và thiết kế Điều này vừa giúp lập trình viên dễdàng hơn vừa có thể làm cho chương trình mềm dẻo hơn trong việc thay đổigiao diện

Trang 14

MVC = Model - View - Controller

Kiến trúc MVC là việc chia tất cả mục của một ứng dụng ra làm ba thành phần(component) khác nhau Model, View và Controller Các thành phần của kiến trúcMVC một trách nhiệm duy nhất và không phụ thuộc vào các thành phần khác Những

sự thay đổi trong một thành phần sẽ không có hoặc là có rất ít ảnh hưởng đến cácthành phần khác Các trách nhiệm của mỗi thành phần là:

Model ( tạm dịch là phần “Mô hình” ): Model được giao nhiệm vụ cung cấp dữliệu cho cơ sở dữ liệu và lưu dữ liệu vào các kho chứa dữ liệu Tất cả các nghiệp

vụ logic được thực thi ở Model Dữ liệu vào từ người dùng sẽ thông qua Viewđược kiểm tra ở Model trước khi lưu vào cơ sở dữ liệu Việc truy xuất, xác nhận,

và lưu dữ liệu là một phần của Model

View (tạm dịch là phần “Hiển thị”): Là phần giao diện với người dùng Viewhiển thị các thông tin cho người dùng của ứng dụng và được giao nhiệm vụ choviệc nhận các dữ liệu vào từ người dùng, gửi đi các yêu cầu đến bộ điều khiển,sau đó là nhận lại các phản hồi từ bộ điều khiển và hiển thị kết quả cho người

Trang 15

dùng Các trang HTML, JSP, các thư viện thể và các file nguồn là một phần củathành phần View.

Controller (tạm dịch là phần “Điều khiển”): Controller là tầng trung gian giữaModel và View Controller được giao nhiệm vụ nhận các yêu cầu từ phía máykhách Một yêu cầu được nhận từ máy khách được thực hiện bởi một chức nănglogic thích hợp từ thành phần Model và sau đó sinh ra các kết quả cho ngườidùng và được thành phần View hiển thị ActionServlet, Action, ActionForm vàstrutsconfig.xml là các phần của Controller

Với cơ sở là kiến trúc MVC, ta có thể xây dựng các ứng dụng của mình, tránh đượcrất nhiều những vất vả khi bảo trì, thay đổi Những thay đổi ở mỗi thành phần thườngrất ít khi ảnh hưởng đến các thành phần khác

2.4.1 Ưu nhược điểm của mô hình MVC

Mô hình MVC giúp cho ứng dụng dễ bảo trì, mobule hóa, và được xây dựngnhanh chóng MVC tách các tác vụ của ứng dụng thành các phần riêng lẽ model, view,controller giúp cho việc xây dựng ứng dụng nhẹ nhàng hơn Dễ dàng thêm các tínhnăng mới, và các tính năng cũ có thể dễ dàng thay đổi MVC cho phép các nhà pháttriển và các nhà thiết kế có thể làm việc đồng thời với nhau, kể cả trong bước pháttriển prototype MVC cho phép thay đổi trong 1 phần của ứng dụng mà không ảnhhưởng đến các phần khác

Sự dễ dàng trong viết code test là một thuận lợi khi áp dụng MVC Test nhữngcomponent của chương trình trở nên rất khó khăn khi chúng phụ thuộc chặt chẽ vàonhau, đặc biệt đối với những thành phần giao diện Để test giao diện của một phầnmềm, tất nhiên bạn phải qua các bước cài đặt và đôi khi điều đó trở nên rất mất thờigian khi chỉ để test một chức năng đơn giản Tệ hơn khi xảy ra lỗi, chúng ta sẽ rất khó

để phát hiện lỗi ở phần nào Đó là lý do tại sao chia nhỏ các thành phần chức năng làmột trong những chiều hướng chính của các thiết kế quan trọng MVC chia nhỏ cácvấn đề như lưu trữ, hiển thị và cập nhật dữ liệu thành 3 nhóm components, nhữngcomponent này có thể được test độc lập với nhau

Ngoài vấn đề về sự phụ thuộc, giao diện của phần mềm cũng rất phức tạp khimuốn test Người ta thường sử dụng người thật để test giao diện, hoặc sẽ phải viết

Trang 16

những script test để giả lập những thao tác của con người Để viết những script nàythường rất mất thời gian và phức tạp MVC không giải quyết được vấn đề về test giaodiện, nhưng nó tách rời phần dữ liệu Model ra khỏi những xử lý hiển thị và cho phépMODEL có thể được test độc lập với phần hiển thị và điều đó sẽ giảm thiểu những testcase liên quan đến giao diện.

PHP là 1 ngôn ngữ script rất phổ biến hiện nay bởi những lý do: linh hoạt, dễ sử dụng,

dễ học… nhưng đôi khi việc viết mã PHP, hay bất cứ ngôn ngữ (lập trình) nào khác,

có thể trở nên đơn điệu và lủng củng Đó là lúc PHP framework có thể giúp ban

PHP frameworks làm cho sự phát triển của những ứng dụng web viết bằng ngôn

ngữ PHP trở nên trôi chảy hơn, bằng cách cung cấp 1 cấu trúc cơ bản để xây dựng

những ứng dụng đó Hay nói cách khác, PHP framework giúp đỡ các bạn thúc đẩynhanh chóng quá trình phát triển ứng dụng, giúp bạn tiết kiệm được thời gian, tăng sự

ổn định cho ứng dụng, và giảm thiểu số lần phải viết lại mã cho lập trình viên Ngoài

ra Framework còn giúp những người mới bắt đầu có thể xây dựng các ứng dụng ổn

định hơn nhờ việc tương tác chính xác giữa các Database, mã (PHP) và giao diện (HTML) 1 cách riêng biệt Điều này cho phép bạn dành nhiều thời gian để tạo ra các

ứng dụng web, hơn là phí thời gian để viết các đoạn mã lặp lại trong 1 project

Ý tưởng chung đằng sau cách thức làm việc của 1 PHP framework được kể đến làModel View Controller (MVC) MVC là 1 mô hình (kiến trúc) trong lập trình, chophép tách biệt các mã nghiệp vụ (business logic) và giao diện thành các phần riêngbiệt, điều này đồng nghĩa với việc ta có thể chỉnh sửa chúng 1 cách riêng lẻ Trongcụm từ MVC thì: Model (M) có thể hiểu là phần xử lý các thao tác về nghiệp vụ

(business logic), View được hiểu là phần xử lý lớp giao diện (presentation layer), và

Controller làm nhiệm vụ lọc các request đc gọi từ user, có chức năng như 1 route: điềuchỉnh, phân luồng các yêu cầu để gọi đúng Model & View thích hợp Về cơ bản, MVCchia nhỏ quá trình xử lý của 1 ứng dụng, vì thế nên bạn có thể làm việc trên từng thànhphần riêng lẻ, trong khi những thành phần khác sẽ không bị ảnh hưởng tới Thực chất,

Trang 17

điều này giúp đỡ bạn lập trình PHP nhanh hơn và ít phức tạp hơn

2.4.2.2 Tại sao chúng ta nên sử dụng PHP Frameword

Có rất nhiều lý do khác nhau để các lập trình viên sử dụng PHP framework,nhưng 1 trong những lý do chính vẫn là khả năng giúp các lập trình viền tăng tốc quátrình phát triển ứng dụng Việc sử dụng lại các mã lệnh giống nhau trong nhiều project

sẽ giúp các bạn tiết kiệm được thời gian và công sức 1 cách đáng kể Một framework

sẽ cung cấp sẵn các module nền tảng cần thiết để xây dựng 1 project, vì thế, các lậptrình viên có thể tận dụng được thời gian để phát triển các ứng dụng thực tế, hơn làmất thời gian để xây dựng lại nền tảng trên mỗi project

Sự ổn định là 1 lý do lớn đối với các lập trình viên đang sử dụng Framework.Tính đơn giản là 1 điểm mạnh của PHP, đó là lý do tại sao lại có nhiều người thích sửdụng nó, nhưng đồng thời đó cũng là điểm yếu của nó PHP thì khá dễ học và sử dụng,đặc biệt là đối với những người mới làm quen với lập trình, tuy nhiên, họ có thểthường xuyên viết mã 1 cách không khoa học và thậm chí không hề nhận thức đượcđiều này, với PHP, trong nhiều trường hợp các ứng dụng vẫn sẽ làm việc được, nhưng

vô tình họ có thể tạo ra các lỗ hổng bảo mật lớn trong mã lệnh của mình, và bị hackerkhai thác

Hầu hết các PHP framework đều có sẵn rất nhiều thành phần mở rộng(extensive), và cũng có rất nhiều framework khác nhau để các bạn lựa chọn Bạn thậmchí còn có thể tự viết riêng cho mình 1 framework Tuy nhiên, bạn nên cân nhắc kỹ

trước khi quyết định sử dụng 1 framework nào cho mình hay không, nên tự đặt câu hỏi

cho chính mình là: Nó có tiết kiệm được cho bạn thời gian và công sức hay không? Cógiúp ứng dụng bạn hoạt động tốt hơn không? Có cải thiện được sự ổn định cho ứngdụng không? Hãy tìm ra câu trả lời cho chính mình để quyết định xem bạn có cần xàiframework hay chưa, và nên xài framework nào

2.4.2.3 Khi nào nên sử dụng PHP frameword

Đây thường là 1 câu hỏi chung của cả những người đã có kinh nghiệm và mới bắt

đầu trong lập trình PHP, và cũng không có câu trả lời trực tiếp nào cho câu hỏi này.

Với những bạn mới bắt đầu, 1 framework cũng có cung cấp những tính năng đơn giản

và ổn định, vì thế bạn cũng nên tập sử dụng framework bất cứ khi có thể Nó sẽ giúpbạn giảm bớt, hoặc loại bỏ các đoạn mã thiếu tính khoa học, và tăng tốc cho quá trìnhxây dựng ứng dụng của bạn

Trang 18

Mặt khác, đối với các lập trình viên PHP đã có kinh nghiệm, framework đượcxem như 1 công cụ giúp đỡ các lập trình viên còn yếu, chưa biết làm thế nào để viết

mã 1 cách gọn gàng, tốt hơn và có khoa học Cho dù điều này là đúng hay sai trongcác cuộc thảo luận, nhưng sự thật không thể phủ nhận là PHP framework là 1 công cụđược sử dụng để tiết kiệm thời gian và giúp cho việc viết code chặt chẽ hơn

Khi làm việc trên 1 project với thời gian giới hạn chặt chẽ, sử dụng PHPframework là 1 lợi thế rất lớn, nó có thể giúp tăng tốc quá trình viết mã Vì thế, nếubạn đang làm việc trong 1 tình trạng thời gian gấp rút, PHP framework sẽ rất có íchcho bạn Một trường hợp khác, bạn nên quan tâm đến PHP framework là khi bạn làm 1project với số lượng mã phải viết quá lớn, nó sẽ giúp công việc của bạn trở nên bớt dàidòng hơn

2.4.2.4 Những điểm cần lưu ý khi sử dụng PHP frameword

Có rất nhiều loại PHP framework sẵn có hiện nay cho bạn lựa chọn, thậm chí bạn

có thể tự tạo ra 1 PHP framework cho riêng mình, tuy nhiên, điều này chỉ được khuyến

khích dành cho các chuyên gia PHP (PHP expert), những người đã có kiến thức và

hiểu biết vững vàng về framework Khi bạn cần tìm một loại PHP framework phù hợp

nhất với nhu cầu của mình, đừng quên lưu ý về độ phổ biến của nó, ngoài ra ứng dụngweb của bạn được phát triển bởi bao nhiêu người cũng là 1 điều nên lưu ý Một PHPframework càng được phổ biến, tức là nó càng được nhiều người sử dụng và pháttriển Mặt khác, nếu bạn muốn xây dựng ứng dụng cho website của riêng mình, tốtnhất bạn nên chọn 1 PHP framework phù hợp và dễ sử dụng nhất đối với nhu cầu củabạn - không quan trọng nó có được nhiều người sử dụng hay không

Các yếu tố bạn nên lưu ý trước khi muốn tìm kiếm 1 PHP framework để sử dụngbao gồm như sau: dễ sử dụng, phát triển nhanh và hiệu quả, phổ biến giữa cácdeveloper, có các tính năng mạnh mẽ, có diễn đàn hỗ trợ Hầu hết các framework đều

có các điểm yếu và thế mạnh khác nhau, ví dụ Zend Framework đã được phổ biến từversion 1.3 và có đầy đủ các tính năng mạnh mẽ, cộng thêm 1 cộng đồng phát triển hỗ

trợ extension rộng lớn Ngược lại, CakePHP lại là 1 loại PHP framework khác, mới ra

đời sau này, nhưng lại ít có cộng đồng phát triển hỗ trợ hơn Zend, nhưng nó cũng đượcnhiều người lựa chọn vì tính thân thiện với người dùng và dễ sử dụng

Như bạn có thể thấy, mỗi loại PHP framework đều có lợi thế riêng của nó

2.4.2.5 Những frameword phổ biến nhất hiện nay

Trang 19

Trong vài năm qua, PHP đã tiến triển thành 1 ngôn ngữ script được lựa chọn bời

hầu hết các nhà phát triển website, đã có 1 sự bùng nổ về các PHP framework, dẫn đếncác cuộc tranh luận lớn về đề tài: PHP framework nào là tốt nhất, bởi vì thực tế khôngphải tất cả các framework đều được xây dựng trên khuôn khổ dành cho nhiều người sửdụng Dưới đây là các framework được đánh giá là tốt và phổ biến nhất hiện nay:Kohana là một mã nguồn mở ứng dụng web khuôn khổ cho PHP 5.Nó sử dụng môhình Model View Controller thiết kế và nhằm mục đích để được an toàn, nhẹ, và dễ sửdụng.Kohana giải thưởng xã phát triển, tốc độ, tính linh hoạt, và tài liệu như giá trị cốtlõi của nó.Tính đến phiên bản 2.0 Kohana tận dụng tối PHP 5 để phát triển, nhanhchóng khuôn khổ hướng đối tượng trên đó để phát triển các ứng dụng web tuyệt vời

The Zend Framework

Hình 2.2: Hình ảnh của Zend Framework

Trang 20

Zend Framework có 1 cộng đồng phát triển rộng lớn, và nó tập trung vào các ứngdụng web theo phong cách 2.0 Vì được phổ biến rộng rãi, và có 1 cộng đồng ngườidùng tích cực, Zend được gọi là “Công ty PHP” Zend là 1 trong những frameworkphổ biến nhất hiện nay Nó có các tính năng mạnh mẽ, thường được sử dụng cho cáccông ty lớn, và bạn cần phải có lượng kiến thức khá sâu rộng về PHP để có thể sửdụng được nó.

CakePHP

Hình 2.3: Hình ảnh của CakePHP

CakePHP là 1 lựa chọn tuyệt với cho những lập trình viên có kiến thức nâng cao

về PHP Nó dựa trên cùng 1 nguyên tắc thiết kế với Ruby on Rails, là 1 framework

Trang 21

mạnh về khía cạnh rapid development, giúp lập trình viên đẩy nhanh quá trình pháttriển ứng dụng của họ Với các hệ thống hỗ trợ, tính đơn giản và mỗi trường mở cao đã

giúp cho CakePHP trở thành 1 trong những framework phổ biến nhất hiện nay.

Symfony

Hình 2.4: Hình ảnh Symfony

Symfony được ra đời nhằm mục đích giúp đỡ nâng cao hơn cho những lập trìnhviên muốn tạo ra các ứng dụng website doanh nghiệp Đây là 1 PHP framework mãnguồn mở với đầy đủ các tính năng cần thiết nhưng nó có vẻ chạy chậm hơn cácframework khác

Codelgniter

Trang 22

Hình 2.5 : Hình ảnh Codelgniter

Codelgniter được biết đến như 1 framework dễ hiểu và dễ sử dụng, cho hiệu suấtcao Không giống như Symfony, PHP framework này phục vụ mục đích lý tưởng choviệc xây dưng các ứng dụng chia sẻ, lưu trữ Nó cung cấp các giải pháp đơn giản, và

có một thư viện video hướng dẫn phong phú, diễn đàn hỗ trợ, và cung cấp sẵn 1 hướngdẫn sử dụng cho người mới bắt đầu PHP framework này rất phù hợp cho 1 người mớilàm quen với framework

Seagull

Trang 23

Hình 2.6 : Hình ảnh Seagull

Seagull cũng là 1 PHP framework tốt phục vụ cho việc xây dưng website và cácGUI Nó là 1 framework cực kỳ dễ sử dụng cho cả những người mới mới làm quen vớilập trình PHP đến những chuyên gia trong lập trình PHP Với những người mới làmquen với lập trình PHP, Seagull cung cấp 1 thư viện các mẫu ứng dụng có thể được tùychỉnh để phù hợp với nhu cầu của bạn Đối với các chuyên gia PHP, Seagull cung cấpcác tùy chọn máy chủ, bao gồm các phương pháp hay nhất, tiêu chuẩn, và modularcodebase - giúp các lập trình viên xây dựng các ứng dụng web một cách nhanh chóng

và dễ dàng Seagull có một cộng đồng phát triển rộng lớn và nhiều tài liệu hướng dẫn

hỗ trợ

2.4.3 Khái quát về simple Fareword MVC

2.4.4.1 Giới thiệu về simple Frameword MVC

Mô hình MVC cho Simple framework MVC

Hình 2.7 : Mô hình MVC cho Simple framework MVC

Simple framework MVC là một PHP framework theo cấu trúc MVC được viết

Trang 24

trên PHP4 và hỗ trợ cả PHP4 và PHP5 Nó là một tập hợp các thư viện viết sẵn trênPHP giúp chúng ta phát triển web bằng PHP nhanh hơn là cách viết lắp ghép thôngthường, các thư viện này giúp chúng ta thực hiện các tác vụ thông thường của một ứngdụng web như kết nối và thực hiện các công việc liên quan đến cơ sở dữ liệu, uploadfile, xử lý hình ảnh, phân trang, cookie, session, bảo mật … Đồng thời các thư việnnày cũng giúp chúng ta tổ chức code tốt hơn với mô hình MVC.

Cơ bản về simple framework MVC, trong folder cse_wru application trong thưmục system ta chú ý đến :

File htaccess để thực hiện rewrite URL, thay đổi request về file index.php sẽ cótham số route trong query string sẽ chuyển hướng tất cả các yêu đến thư mục css,images, js, upload…

File Index.php đóng vai trò là bootstrapper cho ứng dụng, nó sẽ nhận yêu cầu vàphân tích nội dung request để chuyển tới file php khác thực hiện xử lý thích hợp

Nó là nơi để cấu hình hoàn toàn trang web

File Defile.php dùng để kết nối với cơ sở dữ liệu, kết nối các thư mục …

Thư mục core là thư mục chứa các file cơ bản và tổng quát nhất :

 Ta chú ý đến file ConfigDb.php dùng để cấu hình thông tin liên quan đến

cơ sở dữ liệu.Tại đây sẽ khai báo tất cả các bảng và các field ,khóachính… trong cơ sở dữ liệu

 File Config.php để điều phối hay chỉ đường, nó dùng để cấu hình thông tintên site.url

 Ngoài ra trong thư mục này còn chứa các file như BaseLogic.php,BaseBlock.php, BaseDb.php… các file này gồm những hàm được viếttổng quát nhất.File BaseDb.php dùng để viết các hàm insert, update, delete

và select tác động trực tiếp vào Database

Trong thư mục Action Nơi đặt các file thực hiện chức năng controller trong MVC( điều hướng và xử lý yêu cầu )

Trong thư mục logic chứa các file thực hiện chức năng model trong MVC, cụ thể

ở đây có thể là các file giúp bạn thao tác với cơ sở dữ liệu theo yêu cầu từcontroller

Trang 25

Trong thư mục db sẽ truy xuất dữ liệu vào trong databse.

Trong thư mục views chứa các file thực hiện tác vụ view trong mô hình MVC, cứtạm xem nó là nơi chứa file giao diện cho ứng dụng Tại file này nó sẽ hiển thị dữliệu ra giao diện người dùng

Ngoài ra còn có các thư mục khác như image, upload ,css, js…

Tóm lại, trong MVC controler là phần kết nối điều khiển truy suất giữu view vàmodel View để hiển thị định dạng ra browser còn Model đóng vai trò là người quản lý

dữ liệu(truy suất hay cập nhật dữ liệu phải qua model)

2.4.4.2 Lợi ích khi sử dụng simple Frameword MVC

Việc phát triển sử dụng simple frameworks MVC cho nhiều lý do khác nhau,nhưng một số lý do cơ bản nhất và dễ hiểu nhất là tiết kiệm thời gian phát triển ứngdụng web PHP Dùng lại mã qua các dự án tương tự sẽ tiết kiệm được rất nhiều cácnhà phát triển một số lượng đáng kể về thời gian và nỗ lực trong dự án.simpleFrameworks MVC cung cấp mô-đun trước được xây dựng để thực hiện nhiệm vụ tẻnhạt mã hóa, do đó, các nhà phát triển có thể dành nhiều thời gian của họ vào việc pháttriển các ứng dụng thực tế hơn là tái xây dựng nền tảng với nhau và mỗi dự án

Khi làm việc trên một dự án có giới hạn về thời gian, sử dụng simple frameworksMVC có vẻ như là một giải pháp tối ưu nhất nhằm đẩy nhanh quá trình viết mã Vìvậy, nếu bạn đang trong thời gian khủng hoảng và cấp bách nhất của dự án đòi hỏi gấprút về thời gian, PHP frameworks lợi thế sẵn có bạn có thể sử dụng bất kỳ lúc nào bạnmuốn Một ví dụ khác, nên xem xét là khi bạn làm việc trên một dự án kiếm khá nhiềutiền… và giúp công việc trôi chảy kinh doanh phát đạt hơn

Nói tóm lại, sự sẵn có của simple frameworks MVC một điều tuyệt vời Bạnthậm chí có thể tạo riêng cho bạn, mặc dù các nhà phát triển nhiều bầu chọn từ bấtframeworks nổi tiếng nhất do sự phổ biến của chúng, hỗ trợ rộng lớn, và các diễn đàn/cộng đồng cho phép bạn tương tác với các nhà phát triển khác, những người sử dụngcùng một frameworks Lưu ý, bạn nên luôn luôn kiểm tra dự án đầu tiên của bạn đểquyết định xem bạn có nên sử dụng một frameworks hay không Một số câu hỏi bạnnên hỏi bản thân bạn là: nó sẽ giúp bạn tiết kiệm, và bất kỳ ai khác có thể sử dụng nó,thời gian và công sức? Ứng dụng sẽ hoạt động tốt hơn? Nó sẽ cải thiện sự ổn định?Nếu bạn có thể có câu trả lời bất kỳ câu hỏi nào, một simple frameworks MVC có thể

là câu trả lời đúng cho rằng dự án cụ thể

Trang 27

CHƯƠNG 3 :TÌM HIỂU VỀ KOHANA

3.1 TỔNG QUAN VỀ KOHANA

3.1.1 Khái niệm và xu hướng phát triển của kohana

-KN :Kohana là một framework mã nguồn mở có sử dụng mô hình Model View

Controller để phát triển ứng dụng sử dụng PHP nhằm mục đích an toàn, nhẹ, và dễ sửdụng

-Xu hướng phát triển :Hệ thống có khả năng mở rộng liên tục của các ứng dụng

của nó Bạn sẽ được tách dự án của bạn phụ thuộc vào mô-đun ít nhất.Vì nó là một khuôn mẫu đơn giản và dễ dàng Xu hướng mới nhất trong các trang web, đặc biệt là

sự cần thiết của việc ứng dụng khả năng mở rộng

Kohana tận dụng lợi thế của hmvc sử dụng cơ chế yêu cầu duy nhất của nó thực hiện Chúng ta có thể có những yêu cầu rõ ràng từ bên trong ứng dụng hoặc cho một ứng dụng bên ngoài

Trang 28

3.1.2 Tại sao chúng ta nên dùng Kohana

 Bạn cần phải xây dựng các ứng dụng một cách nhanh chóng

Nhiều thành phần phổ biến bao gồm: công cụ dịch thuật, truy cập cơ sở dữ liệu, hồ sơ mã, mã hóa, xác nhận, và nhiều hơn nữa

 Bạn cần phải sử dụng thư viện và các công cụ cụ thể

Mở rộng thành phần hiện có và thêm các thư viện mới là rất dễ dàng

 Bạn cần phải viết các ứng dụng thương mại

Sử dụng giấy phép BSD, vì vậy bạn có thể sử dụng và sửa đổi nó cho mục đích thương mại

 Bạn muốn có một khuôn khổ rất nhanh

Điểm chuẩn một khuôn khổ rất khó và hiếm khi phản ánh thế giới

thực, nhưng Kohana là rất hiệu quả và cẩn thận tối ưu hóa cho việc sử dụng thế giới thực

 Bạn muốn gỡ lỗi và các công cụ tốt hồ sơ

Công cụ đơn giản và hiệu quả giúp xác định và giải quyết vấn đề hiệu suất nhanh chóng

 Bạn muốn biết những gì khuôn khổ đang làm

Nhận xét rất tốt mã và một cấu trúc định tuyến đơn giản làm cho nódễ dàng

để hiểu những gì đang xảy ra

 Bạn thích làm việc với các đối tượng và các lớp học, hơn là các tập tin và chức năng

Đây là một khuôn khổ OOP DRY Tất cả mọi thứ được xây dựng bằng cách sử dụng PHP 5,2 nghiêm ngặt các lớp học và các đối tượng

 Bạn thích viết mã của riêng bạn, thay vì phải nó tạo ra cho bạn

Không có máy phát điện mã và các file cấu hình bất tận, để thiết lập là nhanh chóng và dễ dàng

Trang 29

Cung cấp nhiều công cụ phát triển nhu cầu trong hệ thống rất linh hoạt

Dễ dàng mở rộng tích hợp dễ dàng với các thư viện nhà cung cấp làm cho nó khảthi cho bất kỳ dự án, lớn hay nhỏ

Nhược điểm:

Lỏng kiến trúc

Ít tài liệu tham khảo

3.2.1 Cách cái đặt kohana

Download Kohana tại http://kohanaframework.org/download

Tiếp theo giải nén file zip source code và đặt tên thư mục là nameproject

Trang 30

Chúng ta sẽ đuợc cấu trúc thư mục cơ bản của một kohana project như sau:

Đưa Project lên sever và kiểm tra môi trường trên sever có hoạt động không Mặcđịnh sẽ có 1 file install.php trong kohana source code, để kiểm tra xem server có đápứng hầu hết các required để có thể run kohana php framework hay không

Hình bên dưới là kết quả khi test enviroment trên localhost

Trang 31

Xóa hoặc đổi tên file install.php trong file hệ thống

Quy ước Base cho project:

Mở file “example.htaccess” thay đổi:

RewiteBase/

Thành:

RewiteBase/nameproject/

Sau đó lưu thành file “.htaccess”

Mở file “application/Bootstrap.php” và thay đổi :

Trang 32

CHƯƠNG 4 :KHẢO SÁT VÀ PHAN TÍCH YÊU CẦU HỆ THỐNG

4.1 KHẢO SÁT YÊU CÀU HỆ THỐNG

4.1.1 Xác định yêu cầu của hệ thống

4.1.1.1 Đối với người duyệt web

Website đảm bảo các yêu cầu sau:

Website cung cấp giao diện đồ họa trực quan cho người duyệt, có thể dễdàng tra cứu, tìm kiếm thông tin một cách nhanh chóng

Website hiển thị các tin theo từng chuyên mục

Cung cấp các chức năng tìm kiếm

4.1.1.2 Đối với người quản trị hệ thống

Để có thể thực hiện những tác vụ của người quản trị, hệ thống sẽ yêu cầu ngườiquản lý đăng nhập vào hệ thống Sau khi đăng nhập website cung cấp các chức năng:

Kết nối cơ sở dữ liệu mới với cơ sở dữ liệu cũ của website trước

Quản lý dữ liệu: tiến hành cập nhập, thêm mới hay xóa bỏ các dữ liệu khôngphù hợp

Quản lý tin tức: tiến hành cập nhâp,thêm mới,xóa bỏ các dữ liệu tin tứckhông phù hợp

Quản lý chuyêm mục tin tức: có thể cập nhâp, thêm mới, xóa bỏ các dữ liệukhông phù hợp

Quản lý các liên kết website, quảng cáo có thể cập nhập, thêm mới, sửa, xóaQuản lý User: có thể cập nhập,thêm,xóa,phân quyền cho người sử dụngChức năng tìm kiếm cho người quản trị

Phân quyền sử dụng website

Thay đổi mật khẩu khi cần thiết để đảm bảo tính bảo mật và an toàn choWebsite

Trang 33

4.1.2 Mô tả chức năng chi tiết với từng người sử dụng

4.1.2.1 Đối với người duyệt web

Xem thông tin sản phẩm

Mục đích Chức năng cho phép độc giả có thể xem thông tin chi tiết về sản

phẩm

Dữ liệu vào Lựa chọn thông tin sản phẩm muốn xem

Xử lý Lấy thông tin sản phẩm từ Database

Dữ liệu ra Hiển thị thông tin được yêu cầu

Xem tin tức

Mục đích Chức năng cho phép độc giả có thể xem tin tức

Dữ liệu vào Lựa chọn mục tin muốn xem

Dữ liệu ra Hiển thị thông tin được yêu cầu

Tìm kiếm thông tin sản phẩm

Mục đích Cho phép người xem tìm kiếm các thông tin về các sản phẩm đồ

điện tử

Dữ liệu vào +Nhập từ khóa muốn tìm.

+Tìm kiếm với tất cả các từ nhập vào

Xử lý Truy vấn trong cơ sở dữ liệu, hiện kết quả

Dữ liệu ra Hiển thị các thông tin chi tiết

Tìm kiếm tin tức

Mục đích Cho phép người xem tìm kiếm các tin tức

Trang 34

Dữ liệu vào +Nhập từ khóa muốn tìm.

+Tìm kiếm với tất cả các từ nhập vào

Xử lý Truy vấn trong cơ sở dữ liệu, hiện kết quả

Dữ liệu ra Hiển thị các thông tin chi tiết

4.1.2.2 Đối với người quản trị admin

 Đăng nhập

Mục đích Cho Phân quyền để kiểm soát hệ thống một cách chặt chẽ, tránh

tình trạng hệ thống bị thay đổi và phá hủy

Dữ liệu vào Tên đăng nhập, mật khẩu

Xử lý So sánh với bảng user trong cơ sở dữ liệu

Dữ liệu ra Chuyển đến trang của đối tượng nếu đúng, báo lỗi nếu sai tên hay

mật khẩu

 Quản lý sản phẩm mới

Mục đích Người quản trị có thể kiểm soát được sản phẩm mới nhất

Dữ liệu vào Trường new của sản phẩm hiện tại, khi người quản trị muốn cho

sản phẩm này là sản phẩm mới nhất

Xử lý

Lưu trường new với giá trị mới vào Database, sau đó ta sẽ sắp xếptheo trường new với giá trị giảm dần, từ đó ta sẽ lấy ra sản phẩmmới nhất

Dữ liệu ra Hiện ra sản phẩm mới nhất, bên phía người dùng

 Quản lý dữ liệu

a Quản lý danh mục sản phẩm

Mục đích Admin có thể tìm kiếm, xem, sửa xóa và cập nhật các danh mục

sản phẩm

Dữ liệu vào +Tìm kiếm danh mục sản phẩm

Trang 35

+Thêm danh mục sản phẩm mới.

+Sửa danh mục sản phẩm

Xử lý Truy xuất dữ liệu để chỉnh sửa danh mục sản phẩm và cập nhập dữ

liệu khi thêm danh mục sản phẩm mới

Dữ liệu ra Hiển thị tất cả các danh mục sản phẩm chỉnh sửa và danh mục sản

Dữ liệu ra Hiển thị tất cả các mặt hàng chỉnh sửa và mặt hàng mới

c Quản lý tin tức

Mục đích Admin có thể tìm kiếm, xem, sửa xóa và cập nhật các tin tức

Dữ liệu vào

+Tìm kiếm tin tức

+Xem chi tiết tin tức

+Thêm tin tức mới

+Sửa tin tức

Xử lý Truy xuất dữ liệu để chỉnh sửa tin tức và cập nhập dữ liệu khi

thêm tin tức mới

Dữ liệu ra Hiển thị tất cả các tin tức chỉnh sửa và tin tức mới

4.2 THIẾT KẾ HỆ THỐNG

4.2.1 Mô hình phân cấp chức năng

 Trang dành cho Admin

Ngày đăng: 17/10/2014, 08:00

HÌNH ẢNH LIÊN QUAN

Hình 2.2: Hình ảnh của Zend Framework - xây dựng website bán đồ điện tử
Hình 2.2 Hình ảnh của Zend Framework (Trang 19)
Hình 2.3: Hình ảnh của CakePHP - xây dựng website bán đồ điện tử
Hình 2.3 Hình ảnh của CakePHP (Trang 20)
Hình 2.4: Hình ảnh Symfony - xây dựng website bán đồ điện tử
Hình 2.4 Hình ảnh Symfony (Trang 21)
Hình 2.5 : Hình ảnh Codelgniter - xây dựng website bán đồ điện tử
Hình 2.5 Hình ảnh Codelgniter (Trang 22)
Hình bên dưới là kết quả khi test enviroment trên localhost - xây dựng website bán đồ điện tử
Hình b ên dưới là kết quả khi test enviroment trên localhost (Trang 30)

TỪ KHÓA LIÊN QUAN

w