Đề tài Xây dựng Component quản lý dự án phần mềm cho Website Joomla

Ngày nay, các ứng dụng mã nguồn mở hầu như đáp ứng đầy đủ các yêu cầu sử dụng của doanh nghiệp. Từ việc triển khai các trang web với Joomla, diễn đàn với PhpBB, hệ thống elearning Moodle cho đến các ứng dụng quản lý khách hàng SugarCRM, quản lý dự án. Một trong những thuận lợi đầu tiên của việc ứng dụng mã nguồn mở là tiết kiệm chi phí. Ngoài ra, khi ứng dụng phần mềm chạy trên nền web người dùng sẽ dễ dàng truy cập và sử dụng bằng các trình duyệt như Firefox hay IE mà không cần phải cài đặt gì thêm. Có nhiều chương trình mã nguồn mở khác nhau, chúng tôi chọn tìm hiểu về hệ thống quản lý tin Joomla CMS vì Joomla được sử dụng ở khắp mọi nơi trên thế giới, từ những website cá nhân cho tới những hệ thống website doanh nghiệp có tính phức tạp cao, cung cấp nhiều dịch vụ và ứng dụng. Joomla có thể dễ dàng cài đặt, dễ dàng quản lý và có độ tin cậy cao. Joomla giúp mọi người có thể phát triển việc kinh doanh, học tập, giảng dạy, giới thiệu, quảng bá hình ảnh, dịch vụ, sản phẩm của mình, của công ty, của trường mình một cách tốt nhất, hiệu quả nhất với chi phí thấp nhất. Ngoài ra, chương trình này còn được hỗ trợ bởi một cộng đồng rộng lớn, đáp ứng các yêu cầu về an toàn và bảo mật thông tin.

doc96 trang | Chia sẻ: tuandn | Lượt xem: 2438 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng Component quản lý dự án phần mềm cho Website Joomla, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel. (84-511) 3736 949, Fax. (84-511) 842 771 Website: itf.ud.edu.vn, E-mail: cntt@ud.edu.vn BÁO CÁO THỰC TẬP TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN MÃ NGÀNH : 05115 ĐỀ TÀI : XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLAXây dựng ứng dụng quản lý dự án phần mềm SINH VIÊN : Nguyễn Thị Thu Thiện Lê Thị Hồng Thủy LỚP : 04T4 CBHD : T.STS. Nguyễn Thanh Bình Th.SThS. Nguyễn Văn Nguyên ĐÀ NẴNG, 05/2009 LỜI CẢM ƠN Tôi chân thành cảm ơn Thầy cô trong khoa Công nghệ thông tin cũng như các thầy cô giảng dạy trong trường Đại học Bách khoa Đà Nẵng đã truyền đạt những kiến thức quý báu cho chúng tôi trong những năm học vừa qua. Đặc biệt, tôi xin chân thành cảm ơn thầy giáo Nguyễn Thanh Bình và thầy Nguyễn Văn Nguyên - thuộc khoa Công nghệ thông tin, trường Đại học Bách khoa Đà Nẵng đã tận tình hướng dẫn, động viên và giúp đỡ tôi trong suốt thời gian thực hiện đề tài. Và để có được kết quả như ngày hôm nay, tôi rất biết ơn gia đình đã động viên, khích lệ, tạo mọi điều kiện thuận lợi nhất trong suốt quá trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp này. Xin chân thành cám ơn các bạn trong khoa Công nghệ thông tin – khóa 04, đặc biệt là các bạn lớp 04T4 đã ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu có được cho tôi trong quá trình nghiên cứu và thực hiện đề tài. Một lần nữa tôi xin chân thành cảm ơn ! LỜI CAM ĐOAN Tôi xin cam đoan: Những nội dung trong báo cáo này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy T.S Nguyễn Thanh Bình và thầy Th.S Nguyễn Văn Nguyên. Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm. Sinh viên, Ngưyễn Thị Thu Thiện Lê Thị Hồng Thủy MỤC LỤC CHƯƠNG 1 MỞ ĐẦU Đặt vấn đề Ngày nay, các ứng dụng mã nguồn mở hầu như đáp ứng đầy đủ các yêu cầu sử dụng của doanh nghiệp. Từ việc triển khai các trang web với Joomla, diễn đàn với PhpBB, hệ thống elearning Moodle cho đến các ứng dụng quản lý khách hàng SugarCRM, quản lý dự án... Một trong những thuận lợi đầu tiên của việc ứng dụng mã nguồn mở là tiết kiệm chi phí. Ngoài ra, khi ứng dụng phần mềm chạy trên nền web người dùng sẽ dễ dàng truy cập và sử dụng bằng các trình duyệt như Firefox hay IE mà không cần phải cài đặt gì thêm. Có nhiều chương trình mã nguồn mở khác nhau, chúng tôi chọn tìm hiểu về hệ thống quản lý tin Joomla CMS vì Joomla được sử dụng ở khắp mọi nơi trên thế giới, từ những website cá nhân cho tới những hệ thống website doanh nghiệp có tính phức tạp cao, cung cấp nhiều dịch vụ và ứng dụng. Joomla có thể dễ dàng cài đặt, dễ dàng quản lý và có độ tin cậy cao. Joomla giúp mọi người có thể phát triển việc kinh doanh, học tập, giảng dạy, giới thiệu, quảng bá hình ảnh, dịch vụ, sản phẩm của mình, của công ty, của trường mình một cách tốt nhất, hiệu quả nhất với chi phí thấp nhất.. Ngoài ra, chương trình này còn được hỗ trợ bởi một cộng đồng rộng lớn, đáp ứng các yêu cầu về an toàn và bảo mật thông tin... Để tìm hiểu mô hình hoạt động và cách xây dựng một ứng dụng trên nền Joomla, chúng tôi xin giới thiệu đề tài « Xây dựng component quản lý dự án phần mềm cho website Joomla » Mặc dù ứng dụng đã triển khai được phần lớn các yêu cầu chính trong việc quản lý một dự án phần mềm, tuy nhiên việc xây dựng một chương trình quản lý dự án là khá phức tạp. Do đó ứng dụng này không tránh khỏi những thiếu sót, rất mong nhận được nhiều ý kiến nhận xét của thầy cô và các bạn để chúng tôi có thể rút kinh nghiệm cho việc xây dựng những ứng dụng thực tế sau này. Lý do chọn đề tài Trong thuật ngữ của chuyên ngành Kĩ nghệ Công nghệ phần mềm, Quản lý dự án phần mềm là các hoạt động trong lập kế hoạch, giám sát và điều khiển tài nguyên dự án, thời gian thực hiện, các rủi ro trong dự án và cả quy trình thực hiện dự án; nhằm đảm bảo thành công cho dự án. Khi triển khai một dự án phần mềm thì các vấn đề sau thường xảy ra: thời gian thực hiện quá mức dự kiến, kết quả của dự án không như mong đợi...Để tránh những vấn đề đó xảy ra đòi hỏi người quản lý phải làm tốt về: Quản lý thời gian: lập lịch, kiểm tra đối chiếu quá trình thực hiện dự án với lịch trình, điều chỉnh lịch trình khi cần thiết Quản lý nhân lực: xác định, điều phối nhân lực cho hợp lý Quản lý sản phẩm: thêm, bớt các chức năng phù hợp với yêu cầu của khách hàng Quản lý rủi ro: xác định, phân tích rủi ro và đề xuất giải pháp khắc phục. Xuất phát từ những yêu cầu trên, chúng tôi đã chọn đề tài « Xây dựng component quản lý dự án phần mềm cho website Joomla » sửa lại tên eề tài làm đề tài tốt nghiệp. Việc xây dựng một ứng dụng như vậy nhằm áp dụng những kiến thức mà chúng tôi đã được học ở trường trong thời gian qua vào thực tiễn với mong muốn sẽ làm cho công việc quản lý dự án doanh nghiệp phần mềm sẽ thuận tiện hơn. Chương trình được viết trên nền web nên những người tham gia dự án chỉ cần truy cập vào website của công ty để lấy những thông tin về dự án, trao đổi về công việc. Hơn nữa người quản lý vẫn có thể xem xét quá trình làm dự án, trực tiếp quản lý dự án đó khi vắng mặt ở công ty. Hướng nghiên cứu của đề tài Về mặt lý thuyết Tìm hiểu về CMS Joomla, ngôn ngữ PHP, MySQL, cách xây dựng component cho website Joomla. Tìm hiểu về các thao thác cơ bản trong việc quản lý dự án nói chung và quản lý dự án phần mềm nói riêng. Đưa ra một số định hướng để phát triển đề tài. Công cụ xây dựng đề tài Công cụ nghiên cứu cơ sở lý thuyết: Các tài liêu tham khảo về ngôn ngữ PHP, MySQL, Joomla, quản lý dự án... Công cụ thiết kế phần mềm: trình duyệt Firefox, Internet Explore, Joomla 1.5.9, Jcode studio for Joomla, StarUML... Dự kiến kết quả đạt được Xậy dựng component cho website Joomla thực hiện một số công việc cơ bản của quản lý dự án phần mềm như: Hiển thị thông tin các dự án mà công ty đang thực hiện. Chương trình cho phép admin và trưởng dự án trực tiếp chỉnh sửa, cập nhật thông tin về dự án trên đó. Nhân viên sau khi xem thông tin về dự án nếu muốn tham gia có thể gởi yêu cầu và nếu đựợc admin hay trưởng dự án đồng ý thì sẽ trở thành thành viên của dự án. Trưởng dự án có thể chia một dự án ra thành nhiều task nhỏ, mỗi task có một thời hạn deadline riêng, do một nhân viên trực tiếp chịu trách nhiệm để tiện cho việc quản lý Mỗi dự án phần mềm được chia ra thành những phần cụ thể như : Task: Mỗi dự án chia ra thành các công việc nhỏ hơn. Mỗi công việc có một thời hạn deadline riêng. Requirement: đưa ra những yêu cầu của khách hàng về dự án phần mềm đó Design: đưa ra các bản thiết kế cho phần mềm sao cho phù hợp với requirement, mỗi requirement có thể có nhiều mẫu design khác nhau Coding: phần này để quản lý việc coding của dự án, ứng với mỗi design thì có một hoặc nhiều phần coding khác nhau Risks: là nơi đưa ra những rủi ro dự kiến được của dự án, hậu quả và cách khắc phục... Delivery: trưởng dự án đưa ra thông tin về kế hoạch chuyển giao cho khách hàng ở đây để mọi người tham khảo và điều chỉnh kế hoạch làm việc của mình cho kịp tiến độ Quản lý file: Các thành viên của dự án có thể đưa những tài liệu có liên quan lên đây cho mọi người. Chương trình cho phép tạo một thư mục mới và liên kết với task có liên quan. Diễn đàn thảo luận nội bộ của các thành viên trong dự án: là nơi để các thành viên trong dự án đưa lên những ý kiến của mình, những khó khăn khi thực hiện để trưởng dự các và các thành viên khác xem xét, cân nhắc, đưa ra ké hoạch làm việc phù hợp. Quản lý thành viên: Mỗi nhân viên phải có tài khoản đăng kí trên website của công ty. Nếu muốn nhân viên đó trở thành thành viên của dự án thì admin hay trưởng dự án sẽ dùng tên tài khoản mà nhân viên đã đăng kí hoặc địa chỉ mail của nhân viên để add vào dự án Nội dung tóm tắt các chương tiếp theo Chương 1: Cơ sở lý thuyếtnên tóm tắt ngắn gọn nội dung môi chương Chương 2: Phân tích và thiết kế hệ thống Chương 3: Xây dựng chương trình và kết quả thực hiện Chương 4: Kết luận CHƯƠNG 2 CƠ SỞ LÝ THUYẾT Giới thiệu về joomlaquá chi tiết, nên giới thiệu ngăn gọn thôi Joomla là gì? Joomla là một hệ quản trị nội dung mã nguồn mở (Open Source Content Management Systems).Joomla được viết bằng ngôn ngữ PHP và kết nối tới cơ sở dữ liệu MySQL , cho phép người sử dụng có thể dễ dàng xuất bản các nội dung của họ lên Internet hoặc Intranet. Joomla có các đặc tính cơ bản là: bộ đệm trang (page caching) để tăng tốc độ hiển thị, lập chỉ mục, đọc tin RSS (RSS feeds), trang dùng để in, bản tin nhanh, blog, diễn đàn, bình chọn, lịch biểu, tìm kiếm trong Site và hỗ trợ đa ngôn ngữ. Joomla! được sử dụng rất phổ biến, từ những website cá nhân cho tới những hệ thống website doanh nghiệp, cung cấp nhiều dịch vụ và ứng dụng. Joomla dễ dàng cài đặt, quản lý và có độ tin cậy cao. Joomla có mã nguồn mở do đó việc sử dụng Joomla là hoàn toàn miễn phí. Các dòng phiên bản của Joomla Joomla có 2 dòng phiên bản chính: Joomla 1.0.x và Joomla 1.5.x Dòng phiên bản 1.0.x: Là phiên bản phát hành ổn định. Được sử dụng rộng rãi, có nhiều thành phần mở rộng (component, module, mambot)... Dòng phiên bản 1.5.x: Là phiên bản cải tiến từ Joomla 1.0.x (phần mã được viết lại hoàn toàn, tuy nhiên vẫn giữ cách hành xử như cũ) . Joomla 1.5 hỗ trợ đa ngôn ngữ. Joomla 1.5 dùng charset mặc định là UTF-8 (thay vì ISO-8859-1 trong Joomla 1.0.x) Kiến trúc Joomla Joomla! 1.5 gồm có 3 tầng hệ thống. Tầng dưới cùng là mức nền tảng, chứa các thư viện và các plugin (còn được biết với tên gọi mambot). Tầng thứ hai là mức ứng dụng và chứa lớp JApplication. Hiện tại tầng này gồm 3 lớp con: JInstallation, JAdministrator và JSite. Tầng thứ ba là mức mở rộng. Tại tầng này có các thành phần (component), mô đun (module) và giao diện (template) được thực thi và thể hiện Hình 1: Kiến trúc Joomla Một số khái niệm trong Joomla Front-end và back-end Front-end Front-end (tiền sảnh), còn được biết với tên gọi Public Front-end: phần giao diện phía ngoài, nơi tiếp xúc với mọi người sử dụng. Bất cứ ai cũng có thể trông thấy khi gõ đúng đường dẫn URL vào trình duyệt. Front-end chứa 1 trang đặc biệt là FrontPage (homepage) - trang chủ. Back-end Back-end, còn được biết với tên gọi Public Back-end, Administrator, Control Pane: phần dành cho người quản trị. Những người bình thường không biết đường dẫn để truy cập, hoặc nếu có biết thì cũng phải qua bước kiểm tra tài khoản. Phần back-end được truy cập thông qua đường dẫn: Template Là giao diện, khuông dạng, kiểu mẫu, hình thức được thiết kế để trình bày nội dung của trang Web và có các vị trí định sẵn để tích hợp các bộ phận, thành phần của trang Web. Joomla! cho phép cài đặt và thay đổi Temp cho Web Site hay cho từng trang Web khác nhau một cách dễ dàng. Menu Joomla! có rất nhiều kiểu Menu, mỗi Menu sẽ là một trang hiển thị có nội dung và cách trình bày theo nhiều kiểu khác nhau.  Các Menu này được quản lý theo mã số ID nên có thể thay đổi tên và vị trí mà ảnh hưởng đến nội dung, địa chỉ liên kết của chúng. Joomla! cho phép lựa chọn và quyết định Menu nào làm Trang chủ (Home) là trang sẽ xuất hiện đầu tiên khi truy cập vào địa chỉ của trang Web. Tất cả các thành phần, nội dung,... trong Joomla! đều có thể cho phép hiển thị hay không hiển thị (sử dụng hay không sử dụng) thông qua chức năng Published hay Unpublish Các thành phần mở rộng Module Module là một trong 3 thành phần mở rộng chính của Joomla! Đó là một đoạn mã nhỏ thường được dùng để truy vấn các thông tin từ cơ sở dữ liệu và hiển thị các kết quả tìm được. Nó có thể được nạp vào một vị trí bất kỳ trên template (vị trí left, right, top, bottom... hoặc vị trí do người dùng định nghĩa); có thể hiện trên tất cả các trang của Website hay một số trang được ấn định.  Khả năng tương tác giữa người sử dụng và hệ thống thông qua module là hạn chế (chúng ta thường chỉ nhận thông tin trả về). Module có tên bắt đầu bằng mod_. Chúng ta có các module thông dụng: Lastest News (mod_latestnews): Module hiển thị các tin mới nhất Popular News (mod_mostreads): Module hiển thị các bài được quan tâm nhiều nhất Related Items (mod_related_items): Module hiển thị các bài viết liên quan Random Image (mod_random_image): Module hiển thị các ảnh ngẫu nhiên Search Module (mod_search): Module công cụ tìm kiếm Login Module (mod_login): Module hiển thị form đăng nhập hệ thống Stats Module (mod_stats): Module hiển thị các thông tin thống kê về hệ thống Menu Module (mod_mainmenu): Module hiển thị các menu của website Banners Module (mod_banners): Moudule hiển thị các banner quảng cáo ... Component Component là một thành phần mở rộng lớn nhất và phức tạp nhất của Joomla CMS. Các component có thể xem như là các ứng dụng con và nếu joomla là một hệ điều hành thì các component là các ứng dụng desktop. Ví dụ component nội dung (com_content) là một ứng dụng mini xử lý tất cả các vấn đề về nội dung được trả lại như thế nào mỗi khi có yêu cầu duyệt nội dung được đưa ra. Một component có hai thành phần chính: phần quản trị và phần trên site. Phần trên site là phần được sử dụng để tải về các trang khi được triệu gọi trong quá trình hoạt động của một website thông thường. Phần quản trị cung cấp giao diện để cấu hình, quản lý các khía cạnh khác nhau của component và được truy cập thông qua ứng dụng quản trị của Joomla      Component có thể có thêm modul để hỗ trợ cho việc hiển thị các chức năng và nội dung của component Thông thường sau khi cài đặt joomla có sẵn các component: Banner (quản lý các bảng quảng cáo), Contact ( quản lý việc liên hệ giữa người dùng với ban quản trị website), Search (quản lý việc tìm kiếm), Web links (quản lý các liên kết ngoài website), và các component quản lý nội dung của trang web Mambot (Plug-in) Mambot (plug-in) là chức năng được bổ sung thêm cho component, các mambot này sẽ can thiệp, bổ sung vào nội dung của trang web trước khi nó được hiển thị. Mambot được xem như là phương tiện giao tiếp giữa hệ thống joomla với component, chẳng hạn tìm kiếm thông tin Cách xây dựng một component trong Joomla 1.5 Giới thiệu mô hình MVC Bắt đầu từ phiên bản Joomla 1.5.x hoặc các phiên bản sau này, Joomla đã đưa vào một framework mới, mang lại những thuận tiên rất lớn cho những người phát triển. Các đoạn code giờ đây rất dễ dàng để kiểm tra và khá rõ ràng. Framework này đưa ra một mẫu thiết kế mới, thiết kế MVC (Model-View-Controller) trong Joomla.       Model-View-Controller (gọi tắt là MVC) là một mẫu thiết kế phần mềm được dùng để tổ chức các đoạn mã theo cách mà việc xử lý dữ liệu và biểu diễn dữ liệu tách rời nhau. Điều này tạo ra tiền đề cho hướng tiếp cận sau này khi mà việc xử lý dữ liệu được nhóm vào trong một section, khi đó giao diện hay quá trình tương tác với người dùng bao quanh dữ liệu có thể được định dạng và tùy biến lại mà không phải lập trình lại việc xử lý dữ liệu nữa. Model: là thành phần của component đóng gói dữ liệu cho ứng dụng. Nó thường cung cấp các thủ tục để quản lý, thao tác dữ liệu trong đó có thêm các thủ tục để lấy dữ liệu từ model. Có thể là bổ sung (insert), loại bỏ (delete) hay cập nhật (update) thông tin về một trường nào đó trong cơ sở dữ liệu (CSDL). Theo cách này, nếu một ứng dụng chuyển đổi sang việc sử dụng một file bình thường để lưu trữ thông tin của nó thay vì sử dụng CSDL thì chỉ có thành phần Model là thay đổi còn các thành phần View và Controller là không đổi. View: là một thành phần của component được sử dụng để trả lại dữ liệu từ model. Đối với ứng dụng web, view thông thường là các trang HTML để trả lại dữ liệu. View lấy dữ liệu từ Model (dữ liệu này được chuyển qua View tới Controller). Sau cùng là đưa dữ liệu vào trong template (dữ liệu này sẽ hiển thị với người dùng). View không làm thay đổi dữ liệu, nó chỉ hiển thị dữ liệu lấy từ Model mà thôi) Controller: Controller chịu trách nhiệm phản hồi các hành động của người dùng. Trong các ứng dụng web, một hành động của người dùng thông thường là một yêu cầu tải trang. Controller sẽ xác định yêu cầu gì được người dùng đưa ra và phản hồi thích hợp bằng việc yêu cầu Model tính toán dữ liệu phù hợp và chuyển từ Model vào View. Controller không thể hiện dữ liệu từ Model, nó kích hoạt các phương thức trong Model để hiệu chỉnh dữ liệu và sau đó chuyển từ Model sang View để hiển thị dữ liệu      Trong Joomla, mô hình MVC được hỗ trợ thông qua 3 lớp JModel, JView và Jcontroller. Cài đặt Joomla MVC Trong Joomla mấu MVC được thực hiện sử dụng 3 lớp: JModel JView JController Tạo một component Đối với component cơ sở của chúng ta, chúng ta chỉ cần 5 file: hello.php - đây là điểm vào cho component của chúng ta controller.php - file này có chứa controler cơ bản views/hello/view.html.php - file này nhận các dữ liệu cần thiết và đặt nó lên template views/hello/tmpl/default.php - file này là temple cho đầu ra hello.xml - đây là một file XML nói cho joomla biết cách cài đặt component của chúng ta như thế nào Tạo một entry point Joomla luôn luôn được truy cập thông qua một điểm vào đơn: index.php cho các ứng dụng site và administrator/index.php cho ứng dụng quản trị. Sau đó ứng dụng sẽ tải các component cần thiết dựa trên giá trị chọn lựa trong URL hoặc trong dữ liệu POST. Đối với component của chúng ta URL sẽ như sau:index.php?option=com_hello&view=hello. Việc này sẽ tải file chính của chúng ta và có thể được xem như một điểm vào đơn cho component của chúng ta: components/com_hello/hello.php. <?php defined( '_JEXEC' ) or die( 'Restricted access' ); require_once( JPATH_COMPONENT.DS.'controller.php' ); if($controller = JRequest::getWord('controller')) { $path=JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php'; if (file_exists($path)) { require_once $path; } else { $controller = ''; } } $classname = 'HelloController'.$controller; $controller = new $classname( ); $controller->execute( JRequest::getVar( 'task' ) ); $controller->redirect(); ?> Câu lệnh đầu tiên là câu lệnh kiểm tra bảo mật. JPATH_COMPONENT là đường dẫn tuyệt đối tới component hiện tại, trong trường hợp của chúng ta là components/com_hello. Nếu bạn cần xác định site component hoặc admin component thì bạn có thể sử dụng JPATH_COMPONENT và JPATH_COMPONENT_ADMINISTRATOR. DS là dấu phân cách thư mục trong hệ thống của bạn: có thể là “\” hoặc “/”. Điều này được thiết lập tự động bởi frameword, vì thế developer không phải quan tâm đến việc phát triển các phiên bản khác nhau cho các hệ điều hành khác nhau. DS sẽ luôn được sử dụng khi tham chiếu đến các file trên máy chủ cục bộ. Sau khi tải controler cơ bản, chúng ta sẽ kiểm tra một controler cụ thể cần đến. Trong component này, controler cơ bản chỉ là một controler nhưng chúng ta đề cập đến điều này cho các công việc trong tương lai. JRequest:getVar() tìm một biến trong URL hoặc POST dữ liệu. Bởi vậy nếu URL của chúng ta là: index.php?option=com_hello>controller=controller_name thì chúng ta có thể nhận được tên controler của chúng ta trong component bằng sử dụng câu lệnh sau: echo JRequest::getVar(’controller’); Bây giờ chúng ta đã có controler cơ sở ‘HelloController’ trong com_hello/controller.php, và nếu cần thiết bổ sung thêm các controler dạng như: ‘HelloControllerController1’ trong com_hello/controllers/controller1.php. Sau khi controler được tạo ra, chúng ta cho controler chạy nhiệm vụ như được chỉ ra trong URL: index.php?option=com_hello&task=sometask. Nếu không có nhiệm vụ nào được thiết lập thì nhiệm vụ mặc định ‘display’ sẽ được giả định. Khi ‘display’ được sử dụng, biến ‘view’ sẽ quyết định cái gì sẽ được hiển thị. Các nhiệm vụ khác như ‘save’, ‘edit’, ‘new’, … Controler có thể quyết định redirect the page (thực hiện tải lại một trang), thông thường là sau khi một nhiệm vụ như ‘save’ được hoàn thành. Câu lệnh cuối cùng thực hiện việc này. Điểm vào chính (hello.php) về bản chất đã thông qua việc điều khiển controler thực hiện các nhiệm vụ được đặt ra trong request. Tạo Controller Component của chúng ta chỉ có một nhiệm vụ - greet the world (thể hiện lời chào).