Tài liệu Cổng thông tin ẩm thực hà thành

  • Số trang: 64 |
  • Loại file: DOC |
  • Lượt xem: 100 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 27125 tài liệu

Mô tả:

Đồ án tốt nghiệp Ngành: Công nghệ thông tin 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ó ảnh hưở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ới nhữ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ết sứ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ải trí, 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ọng hơ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ó. Ẩm thực là một nội dung quan trọng, vừa là văn hóa vật chất, vừa là văn hóa tinh thần.Nó thể hiện cốt cách, phẩm hạnh của một dân tộc, một con người, mà cũng là một tiêu chí đánh giá chất lượng cuộc sống. Việc xây dựng một Website về ẩm thực Hà Nội không những cho ta thông tin hữu ích về sức khỏe con người mà còn là nét văn hóa đặc trưng văn hóa, điều này sẽ làm tăng khả năng tận dụng ưu thế của công nghệ thông tin nói chung cũng như Internet nói riêng trong cuộc sống con người… 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ảo củ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ực trong cuộc sống. Những kiến thức đã được học trong nhà trường sẽ là hành trang vững chắc giúp em bước vào đời một cách tự tin hơn. Chính vì vậy cùng với sự hướng dẫn của PGS.TS Nguyễn Đăng Tộ,GV Phạm Trí Công và sự nỗ lực của bản thân, em đã chọn thực hiện đề tài “Cổng thông tin ẩm thực Hà Thành”. Mai Thị Thoa – 49th2 Page 1 Đồ án tốt nghiệp Ngành: Công nghệ thông tin Chương 1:Giới thiệu 1.1 Đặt vấn đề 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ông tin 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 được nhiề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 nhu cầu về sức khỏe, ăn ngon là rất thiết yếu.Vì vậy em xây dựng đề tài “Cổng thông tin ẩm thực Hà Thành” không chỉ cung cấp thông tin về nhu cầu cuộc sống, mà còn mang lại những nét văn hóa riêng của Hà Nội. 1.2 Mục tiêu đề tài Đề tài đưa ra những thông tin về Hà Nội :  Tin tức về ẩm thực chung và hà nội.  Ẩm thực dành cho sức khỏe, dinh dưỡng, làm đẹp.  Video hướng dẫn về công thức chế biến món ngon,  Giới thiệu nhà hàng .  Quảng cáo, link chia sẻ. 1.3 Nội dung đề tài Xử lý về quản lý và tìm kiếm thông tin:  Cập nhập thông tin thường xuyên.  Chỉnh sửa, thay đổi thông tin khi không còn phù hợp.  Tìm kiếm thông tin 1.4 Công cụ và môi trường làm việc  Ngôn ngữ lập trình php.  Viết trên framework kohana 10.1.13 , mô hình simple MVC Mai Thị Thoa – 49th2 Page 2 Đồ án tốt nghiệp Ngành: Công nghệ thông tin Chương 2 :Công cụ và giới thiệu 2.1 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 chu cấ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ều hà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ại củ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ủ (server stack). 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ệu MySQL. 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ạm và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 sao ché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êm bao 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 :  WAMP được cập nhật đều đặn.  Có thể cài đặt WAMP dễ dàng.  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í Mai Thị Thoa – 49th2 Page 3 Đồ án tốt nghiệp Ngành: Công nghệ thông tin Sau đây là những chương trình tự động cài đặt khi bạn cài WAMP:  Apache: chương trình sử dụng máy chủ, cho phép máy chủ phân phát các trang web, nhưng nó chỉ hiểu HTML thôi!  PHP: coi như một “plugin” của Apache, nó cần có Apache để hoạt động. Nhờ PHP mà Apache biết làm việc với những trang Php, nói cách khác Apache+PHP = một server PHP.  MySQL: một chương trình rất hữu ích, cho phép mình sử dụng cơ sở dữ liệu (CSDL)!  PhpMyAdmin: dùng để quản lý CSDL. 2.2 Cơ sở dữ liệu My SQL 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à được cá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ập CSDL trên internet. MySQL rất thích hợp cho các ứng dụng có truy cập CSDL từ trên internet. 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à đối Mai Thị Thoa – 49th2 Page 4 Đồ án tốt nghiệp Ngành: Công nghệ thông tin tượ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ột miề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ều cộ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. 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 khung nhì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ần tì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. Mai Thị Thoa – 49th2 Page 5 Đồ án tốt nghiệp Ngành: Công nghệ thông tin  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 thi khi 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 đó.  Ràng buộc - Constaints: Là một đối tượng, nó là một phần nhỏ trong bảng, chúng ràng buộc dữ liệu trong bảng hoặc các bảng khác phải tuân theo một quy tắc nào đó.  Khung nhìn (View): Là khung nhìn hay một bảng ảo của bảng. Cũng giống như bảng nhưng View không thể chứa dữ liệu, bản thân View có thể tạo thêm trường mới dựa vào những 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ới nhau 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 theo nhu 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ười dù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ình SQL 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: Mai Thị Thoa – 49th2 Page 6 Đồ án tốt nghiệp Ngành: Công nghệ thông tin 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ệu hiệ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àm trong 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 PHP 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 trang Web 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 Web based. 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. Trước tiên chúng ta hãy tìm hiểu cách thứ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ứa cá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ình duyệ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áy chủ (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ình Mai Thị Thoa – 49th2 Page 7 Đồ án tốt nghiệp Ngành: Công nghệ thông tin nà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ôn dạ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 được trả về cho trình duyêt. Và đây chính là cái gọi là "Trang Web động". Không như các trang web tĩnh, trang web động cho phép bạn có sự tương tác với máy chủ thông qua cá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 để đá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ỗi trong chương trình này. PHP rất ổn định và tương hợp, PHP Ngoài ra PHP chạy được trê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ập giữ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 đổi giao diện.  PHP là phần mềm mã nguồn mở :  PHP không chỉ là phần mềm mã nguồn mở mà còn thực sự miễn phí (kể cả khi bạn sử dụng cho mục đích thương mại).  Do là phần mềm mã nguồn mở, các lỗi (bug) của PHP được công khai và nhanh chóng được sửa chữa bởi nhiều chuyên gia.  Tốc độ :  Nhờ vào sức mạnh của Zend Engine, khi so sánh PHP với ASP, có thể thấy Mai Thị Thoa – 49th2 Page 8 Đồ án tốt nghiệp Ngành: Công nghệ thông tin PHP vượt hơn ở một số test, vượt trội ở tốc độ biên dịch.  Tính khả chuyển :  PHP được thiết kế để chạy trên nhiều nền tảng khác nhau, có thể làm việc với nhiều phần mềm máy chủ, cơ sở dữ liệu (ví dụ: bạn có thể phát triển dự án trên UNIX, sau đó chuyển sang NT mà không gặp phải bất cứ vấn đề gì). 2.4 FRAMEWORK MVC 2.4.1 Mô hình MVC Model 3.Response 2.Request 4.Request controller 5.Response view 1.Request user 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úc MVC 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ác thà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 Mai Thị Thoa – 49th2 Page 9 Đồ án tốt nghiệp Ngành: Công nghệ thông tin đượ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. View hiển thị các thông tin cho người dùng của ứng dụng và được giao nhiệm vụ cho việ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 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ủa thành phần View. Controller (tạm dịch là phần “Điều khiển”): Controller là tầng trung gian giữa Model và View. Controller được giao nhiệm vụ nhận các yêu cầu từ phía máy khá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ăng logic thích hợp từ thành phần Model và sau đó sinh ra các kết quả cho người dù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 được rấ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ường rất ít khi ảnh hưởng đến các thành phần khác. 2.4.2 Ưu điểm và nhược điểm của mô hình MVC  Ưu điểm Mô hình MVC giúp cho ứng dụng dễ bảo trì, mobule hóa, và được xây dựng nhanh 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ính nă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át triể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át triển prototype. MVC cho phép thay đổi trong 1 phần của ứng dụng mà không ảnh hưở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ững component của chương trình trở nên rất khó khăn khi chúng phụ thuộc chặt chẽ vào nhau, đặc biệt đối với những thành phần giao diện. Để test giao diện của một phần mề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ời gian 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ó Mai Thị Thoa – 49th2 Page 10 Đồ án tốt nghiệp Ngành: Công nghệ thông tin để 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ác vấn đề như lưu trữ, hiển thị và cập nhật dữ liệu thành 3 nhóm components, những component 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 khi muố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 những script test để giả lập những thao tác của con người. Để viết những script này thườ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 giao diệ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ép MODEL có thể được test độc lập với phần hiển thị và điều đó sẽ giảm thiểu những test case liên quan đến giao diện.  Nhược điểm Chúng ta không nên dùng mô hình MVC một cách hoàn toàn cứng nhắc mà phải dùng mô hình MVC một cách linh hoạt trong từng Framework. 2.5 Khái quát về PHP Framework 2.5.1 PHP Framewrk là gì? 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 đẩy nhanh 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à Mai Thị Thoa – 49th2 Page 11 Đồ án tốt nghiệp Ngành: Công nghệ thông tin Model View Controller (MVC). 2.5.2 Tại sao chúng ta nên sử dụng PHP Framework? 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ập trì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ị hacker khai 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ậm chí 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 ứng dụ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ài framework hay chưa, và nên xài framework nào. 2.5.3 PHP Framework phổ biến nhất hiện nay 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 đến cá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ông phả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à 5 framework được đánh giá là tốt và phổ biến nhất hiện nay: Mai Thị Thoa – 49th2 Page 12 Đồ án tốt nghiệp Ngành: Công nghệ thông tin  The Zend Framework Zend Framework có 1 cộng đồng phát triển rộng lớn, và nó tập trung vào các ứng dụng web theo phong cách 2.0. Vì được phổ biến rộng rãi, và có 1 cộng đồng người dùng tích cực, Zend được gọi là “Công ty PHP”. Zend là 1 trong những framework phổ 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ác cô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ó. Mai Thị Thoa – 49th2 Page 13 Đồ án tốt nghiệp Ngành: Công nghệ thông tin  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 mạnh về khía cạnh rapid development, giúp lập trình viên đẩy nhanh quá trình phát triể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 là một trong framework phổ biến nhất hiên nay.  Symfony Mai Thị Thoa – 49th2 Page 14 Đồ án tốt nghiệp Ngành: Công nghệ thông tin Symfony được ra đời nhằm mục đích giúp đỡ nâng cao hơn cho những lập trình viê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ác framework khác.  Codelgniter Mai Thị Thoa – 49th2 Page 15 Đồ án tốt nghiệp Ngành: Công nghệ thông tin Codelgniter được biết đến như 1 framework dễ hiểu và dễ sử dụng, cho hiệu suất cao. Không giống như Symfony, PHP framework này phục vụ mục đích lý tưởng cho việ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ướng dẫ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ới làm quen với framework.  Seagull Mai Thị Thoa – 49th2 Page 16 Đồ án tốt nghiệp Ngành: Công nghệ thông tin Seagull cũng là 1 PHP framework tốt phục vụ cho việc xây dưng website và các GUI. 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ới lậ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àm quen 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ùy chỉ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ấp cá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à modular codebase - 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.5.4 Khái quát về Kohana Framework Kohana là một ứng dụng web khuôn khổ cho PHP5 mà thực hiện theo mô hình Model View Controller (HMVC). Nó được thiết kế để được an toàn, nhẹ, và dễ sử dụng. Trong khi việc phát hành ban đầu của Kohana là bản chất là một phiên bản cải tiến của CodeIgniter Mai Thị Thoa – 49th2 Page 17 Đồ án tốt nghiệp Ngành: Công nghệ thông tin Nó đòi hỏi rất ít cấu hình, hỗ trợ đầy đủ UTF-8 và I18N, và cung cấp nhiều công cụ mà một nhà phát triển nhu cầu trong một hệ thống rất linh hoạt. Lớp tích hợp tự động tải, hệ thống tập tin tầng, API nhất quán cao, và 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ỏ. Mai Thị Thoa – 49th2 Page 18 Đồ án tốt nghiệp Ngành: Công nghệ thông tin Mô hình MVC của framework Kohana Tại sao phải sử dụng kohana ? Kiến trúc của Kohana Framework đuợc thiết kế một cách khá linh động, giúp người sử dụng vừa sử dụng các features có sẵn mà kohana cung cấp, đồng thời cho phép mở rộng (extends) các features mà không làm ảnh hưởng đến hệ thống. Một số tính năng nổi bật của Kohana :  Dễ dàng mở rộng hệ thống khi cần thiết  Dễ dàng cập nhật các phiên bản kohana framework mới  Dễ dàng tích hợp các vendors bên ngoài như các php template engines (smary, twig , rain tpl...), mail sender (swiff mail), tinymce ....  Tích hợp sẳn một số component: encryption, validation, data access (ORM), code profiling  So sánh giữa Kohana và zend framework Mai Thị Thoa – 49th2 Page 19 Đồ án tốt nghiệp Ngành: Công nghệ thông tin Kohana: - Nhanh chóng , gọn nhẹ. - Phát triển ứng dụng nhanh - Tài liệu không quá phức tạp . Zend framework: - Chậm, lớn. - Ứng dụng phát triển nhanh chóng nhưng ít sử dụng. - Tài liệu phức tạp . Nếu bạn cần một số tính năng trong Zend thì bạn nên sử dụng Kohana nó mang tính hiệu quả hơn. 2.5.5 Khái quát simple framework MVC 2.5.5.1 Giới thiệu simple Framework MVC 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 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ên PHP 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ông thườ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 ứng dụ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, upload file, xử lý hình ảnh, phân trang, cookie, session, bảo mật … Đồng thời các thư viện này cũng giúp chúng ta tổ chức code tốt hơn với mô hình MVC. Mai Thị Thoa – 49th2 Page 20
- Xem thêm -