Ngôn ngữ lập trình PHP

Một phần của tài liệu Ứng dụng PHP FOR APPLICATIONS FRAMEWORK xây dựng WEBBASE APPLICATIONS quản lý học sinh trường Trung học cơ sở (Trang 30)

o PHP là gì?

PHP (Hypertext Preprocessor) là kịch bản trên Server (Server Script), được thiết kế cho phép bạn xây dựng ứng dụng Web trên CSDL. Mã PHP có thể thực thi trên Web Server để tạo ra trang HTML và xuất bản ra trình duyệt Web theo yêu cầu người dùng.

PHP là Open Source (mã nguồn mở), điều này có nghĩa là bạn có thể làm việc trên mã nguồn, thêm, sửa, sử dụng và phân phối chúng.

PHP dễ sử dụng, chi phí thấp. Thêm vào đó, PHP có thể chạy trên các CSDL không yêu cầu bản quyền như MySQL, PostgreSQL,…

o PHP có một số ưu nhược điểm khi sử dụng để xây dựng Web

PHP là ngôn ngữ dễ học, ngôn ngữ có thể tạo ra các trang Web động tuyệt đẹp và hiện nay PHP là một ngôn ngữ đang được chú trọng vì nó có tốc độ xử lý nhanh, PHP xây dựng được nhiều tính năng để đáp ứng nhu cầu của nhà thiết kế.

PHP là một mã nguồn thông tin mở. Bởi vậy 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, mới đây PHP đã vận hành khá ổn định trên các hệ điều hành gồm cả Unix, Windows... Đồng thời nó cũng nối với một số máy chủ như IIS hay Apache.

Ta có thể sử dụng PHP để xây dựng một Website có khả năng tương tác cao. Vì các ngôn ngữ kịch bản như Vbscript, Jcript được tích hợp trong PHP nên rất tiện cho người phát triển.

Các ứng dụng PHP không cần trình biên dịch. Trong một vài công nghệ khác như CGI, để phát triển các trang Web động cần phải có một trình biên dịch để dịch thành một chương trình có thể chạy được sử dụng các môi trường phát triển ứng dụng truyền thống. Chỉ một chút sửa đổi thì ta phải biên dịch lại. PHP cung cấp các cách tạo lập trang Web một cách trực tiếp và dễ dàng hơn theo kiểu thông dịch.

3.3.3 Công nghệ PHP FOR APPLICATIONS FRAMEWORK

P4A là một framework PHP, một phần mềm chứa các thư viện, các module và các widget thường được sử dụng để xây dựng các ứng dụng và các ứng dụng đó được

WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS Với P4A bạn sẽ có thể phát triển các ứng dụng trên nền web với cách viết mã như bạn sẽ làm gì với những công cụ phát triển phát triển nhanh chóng nhất. Kết quả sẽ là một ứng dụng mà người dùng sẽ được sử dụng với cùng một cảm giác khi sử dụng một ứng dụng client trên desktop. Bạn sẽ không phải lo lắng về việc tạo giao diện đồ họa cho các dự án của bạn bởi vì P4A được tích hợp giao diện đẹp và trong sáng.

P4A có một số tính năng và ưu điểm:

P4A là một dự án được ủy quyền bởi Zend Framework, jQuery, jQuery UI and FCKEditor với các tính năng:

• 100% PHP5

• Tương thích với PHP 5.2.x, Apache 1.3.x/2.0.x and Microsoft IIS 6.0 web servers trên các hệ điều hành Linux/Unix/Windows

• Hoàn toàn là lập trình hướng đối tượng và sự kiện

• Xây dựng dựa trên Zend Framework 1.10.1 (using Zend_Date, Zend_Db, Zend_Locale, Zend_Validate, Zend_Translate)

• Sử dụng như một ứng dụng client trên desktop.

• Dễ dàng truy cập đến tất cả các cơ sở dữ liệu lớn (MySQL, PostgreSQL, Oracle, SQLite) thông qua Zend_DB, với thế hệ mặt nạ tự động dữ liệu đầu vào

• Nhiều cơ sở dữ liệu kết nối cùng một lúc

• Tự động nhận dạng kiểu dữ liệu cơ sở dữ liệu và chức năng theo sau để định dạng tự động và bình thường hóa (integers, decimals, floats, date and time formats, booleans) chặt chẽ với các cài đặt địa phương hóa

• Nhiều yếu tố giao diện người dùng (Widget) chẳng hạn như dòng đơn hoặc dòng văn bản nhiều lĩnh vực với sự hỗ trợ nâng cao WYSIWYG giàu chỉnh sửa văn bản, hộp kiểm tra, đơn lựa chọn nhiều lĩnh vực, các bảng, các nút, Navigators cây, các thanh công cụ, fieldsets vv ..

• Soạn thảo WYSIWYG (FCKeditor) với chức năng upload tập tin, hình ảnh

• Trong suốt trong việc hỗ trợ AJAX (bạn có thể quên về lập trình javascript, tất cả mọi thứ là AJAX được xây dựng trong P4A nhưng bạn có thể vô hiệu hóa hoàn toàn với một dòng mã, thiết kế lại một hoặc nhiều hoặc tất cả các vật dụng trên màn hình sau mỗi cuộc gọi chỉ AJAX sử dụng PHP hướng dẫn)

• Các phương thức được gọi với phương pháp chuỗi. ($ob->method1()->method2 ()) • Hộ trợ hơn 440 môi trường địa phương trong việc địa phương hóa (dạng số và định

dạng ngày) nhờ vào việc thực hiện ZendFramework với CLDR của Unicode • Hơn 40 bản dịch ngôn ngữ đi kèm.

• Hoàn toàn UTF-8.

• Tùy biến cao với các thông số về màu sắc, các gói icons và CSS.

WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS (adsbygoogle = window.adsbygoogle || []).push({});

Hình 3.1 Các thuộc tính của P4A

Hạn chế:

- PHP FOR APPLICATIONS FRAMEWORK là phần mềm ứng dụng còn ít người nghiên cứu, bản thân lại chưa có kinh nghiệm làm việc nhiều nên vừa phải tìm hiểu, nghiên cứu PHP FOR APPLICATIONS FRAMEWORK vừa thực hiện đồ án

Zend Framework

Zend Framework là một thư viện các class được xây dựng trên nền tảng ngôn ngữ PHP. Zend Framework được định hướng theo mô hình MVC, có tính mềm dẻo, linh hoạt và dễ dàng tích hợp các thư viện PHP có sẵn. Zend Framework thường được ứng dụng vào các dự án Open Source lớn. Mọi request đều tập trung vào 1 tập tin duy nhất là index.php

Mô hình MVC (Model-View-Controller )

WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS - VIEWS : Mô hình Views có nhiệm vụ liên kết với Mô hình Model và xuất các dữ liệu ra trình duyệt theo nhu cầu đòi hỏi của người tiêu dùng (user). Điển hình là các văn bản HTML.

- CONTROLLER : Mô hình CT liên kết hai mô hình MD và Views cũng như kiểm soát chính xác các tệp tin trước khi cho tệp tin đó hiện thị ra trình duyệt.

3.4 Các yêu cầu về phần cứng 3.4.1 Hệ thống máy chủ (server)

Hệ thống máy chủ cần phải cài đặt các phần mềm sau: - Cài đặt hệ điều hành Linux Fedora Core , Ubuntu - Cài đặt Apache web server

- Cài đặt PHP

- Cài đặt hệ quản trị cơ sở dữ liệu MySQL

Đối với mỗi khu vực cần trang bị 01(một) máy chủ. Như vậy sẽ cần 3 (ba) máy chủ với cầu hình đề nghị như sau:

- CPU Intel P4 2.4 Ghz trở lên

- Bộ nhớ trong (RAM) 1024 MB (1 GB)

- Ổ đĩa cứng (HDD): Hai ổ cứng 80 GB trở lên (IDE RAID) - Card mạng (NIC) 10/100

3.4.2 Hệ thống máy tính trạm

Hệ thống máy tính trạm cần phải cài đặt: - Hệ điều hành: Windows XP SP2

- Trình duyệt web IE (Internet Explore) 6.0 trở lên hoặc trình duyệt web Mozilla Firefox 1.5 trở lên

Cấu hình phần cứng đề nghị:

- CPU Intel P3 1000 Ghz hoặc Intel P4 trở lên - Bộ nhớ trong (RAM): 512 MB

- Ổ đĩa cứng (HDD): 40 GB - Card mạng (NIC) 10/100

Số lượng máy trạm tùy theo yêu cầu thực tế.

3.5 Cài đặt chương trình: 3.5.1 Cài đặt XAMP

Gói phần mềm XAMPP là miễn phí và tích hợp các gói phần mềm: - Apache (web server)

WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS - MySQL (hệ quản trị cơ sở dữ liệu dành cho PHP)…

- Tải về bản mới nhất tại địa chỉ:

http://www.apachefriends.org/en/xampp.html.

Sau khi tải về, bạn kích hoạt tập xampp-win32-1.6.8-installer.exe để cài đặt chương trình.

3.5.2 Cài đặt P4A (adsbygoogle = window.adsbygoogle || []).push({});

Để cài đặt P4A chúng ta thực hiện như sau:

Bước 1: Download P4A

- Download p4a tại http://p4a.crealabsfoundation.org/

Bước 2: Tạo cơ sở dữ liệu

Tại thanh địa chỉ của trình duyệt web, bạn gõ địa chỉ sau để vào trang quản lý cơ sở dữ liệu mysql.

http://localhost/phpmyadmin/

Tại giao diện phpMyAdmin, chúng ta tạo một database.

Ví dụ, tạo một database mới có tên là mydata và ngôn ngữ lựa chọn là utf8_general_ci.

Hình 3.2 Tạo database

Sau khi thiết lập xong các thông số trên, chọn để hoàn thành việc tạo cơ sở dữ liệu.

Bước 3: Tiến hành cài đặt

- Giải nén file vừa download vào thư mục: xampp/htdocs và đổi tên thành thư mục chứa web của bạn

Ví dụ đổi tên thành qlhs

WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS

3.6 Cấu trúc tạo một ứng dụng P4A 3.6.1 Một tập tin index.php:

Để khởi động ứng dụng và cấu hình nó. Tại trang này chúng ta thiết lập một vài thông số như đường dẫn thư mục tải lên, kết nối với CSDL, tạo một đối tượng của class.

Ví dụ: file index.php

<?php

define("P4A_LOCALE", 'en_US');

define("P4A_DSN", 'mysql://root:@localhost/qlhs'); // Require tới file p4a.php

require_once dirname(__FILE__) . '/../../p4a.php'; $check = p4a_check_configuration(); if (is_string($check)) { print $check; } else { $p4a = p4a::singleton("index_object"); $p4a->main(); }

File index.php trên lần lượt thực hiện các bước sau: + Kết nối tới CSDL là qlhs

+ Require tới file p4a.php

+ Gọi tới class index_object mà chúng ta sẽ tạo trong thư mục objects.

3.6.2 Một thư mục objects:

Thư mục này sẽ chứa tất cả các class, các file PHP của ứng dụng. Mỗi file PHP tương ứng một class mà khi chương trình ứng dụng gọi đến.

Ví dụ: Tạo file my_app.php trong thư mục objects. File này sẽ chứa class: index_object trong file index.php đã gọi và đồng thời mở Mask là my_mask.

<?php

class index_object extends P4A

{ (adsbygoogle = window.adsbygoogle || []).push({});

public function __construct()

{

parent::__construct();

$this->openMask('my_mask'); }

}

Tiếp theo chúng ta tạo một file my_mask.php trong thư mục objects. File này chứa class: my_mask. Tại class này chúng ta xây dựng các Form cho chương trình ứng

WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS - Để tạo một giao diện gồm các phần cơ bản sau:

+ Menu: Thường được sử dụng cho trình ứng dụng chính, thường nằm ở trên cùng của màn hình.

P4A_Menu có các phương thức:

+ Toolbar : Là thanh công cụ với các chức năng như: thêm mới, sửa, xóa… dữ liệu, chúng ta có thể hiển thị thanh công cụ này tại vị trí thích hợp.

P4A_Toolbar có các phương thức:

Cách xây dựng:

$this->build("p4a_full_toolbar", "toolbar") ->setMask($this);

+ Frame: Là 1 khung để thiết kế Form chương trình, sử dụng các thuộc tính: p4a_frame, tab_pane, p4a_fieldset, p4a_Canvas, p4a_Sheet…

WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS Cách sử dụng p4a_Fieldset: $this->build("p4a_fieldset", "fs_details") ->setWidth(600) ->anchor($field1) ->anchor($field2) ->anchorRight($field3); Cách sử dụng p4a_ frame: $this->build("p4a_frame", "frame") ->setWidth(600) ->anchor($this->fs_details) ->anchor($this->toolbar);

+ Display: Để hiển thị giao diện đã tạo…

$this

->display("main", $this->frame);

- Ngoài ra cần sử dụng các thuộc tính khác của P4A cần thiết cho chương trình

WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS

CHƯƠNG 4 – GIỚI THIỆU MỘT SỐ CHỨC NĂNG WEBSITE QUẢN LÝ HỌC SINH

Trong chương này từ nghiên cứu ứng dụng PHP FOR APPLICATIONS để xây dựng hệ thống “ Quản lý học sinh trường THCS” với một số Module sau đây:

4.1 Quản trị hệ thống:

Module này giúp người quản trị cập nhật danh sách menu các chức năng của hệ thống chương trình quản lý.

4.2 Quản lý danh mục

Dưới đây là các danh mục được thiết kế để phục vụ cho công việc quản lý và thống kê theo các danh mục.

Các danh mục được thiết kế với hình thức và chức năng tương tự như sau:

Hình 4.1 Giao diện quản lý danh mục

Muốn xem và sửa thông tin môn học nào, hãy chọn môn học đó từ danh sách này.

WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS (adsbygoogle = window.adsbygoogle || []).push({});

Các bước để thêm mới một thông tin: Bước 1: Nhấn nút

Bước 2: Điền thông tin mới ở bên phải hộp thoại. Bước 3: Nhân nút để lưu lại thông tin vừa nhập.

Các bước để sửa một thông tin:

Bước 1: Chọn thông tin cần sửa ở danh sách bên trái hộp thoại.

Khi đó thông tin chi tiết sẽ hiển thị bên phải hộp thoại.

Bước 2: Thực hiện sử thông tin trên hộp thoại.

Bước 3: Nhân nút để lưu lại thông tin vừa sửa đổi.

Các bước để xoá một thông tin ra khỏi danh sách:

Bước 1: Chọn thông tin cần xoá ở danh sách bên trái hộp thoại Bước 2: Nhân nút khi đó hộp thoại xuất hiện:

Nếu chọn , máy tính sẽ xoá toàn bộ thông tin này và không thể khôi phục lại được (trừ khi bạn nhập lại mới). Chọn nếu bạn chưa muốn xoá thông tin này.

4.2.1 Danh mục năm học

Quản lý thông tin chi tiết về năm học gồm tên năm học, năm học bắt đầu, năm học kết thúc.

4.2.2 Danh mục khối học

Nhập danh mục khối học phải dựa vào danh sách các khối học do bộ giáo dục quy định .

Đối với các trường THCS. Danh mục khối học gồm các khối: Khối 6, khối7, khối 8, khối 9

WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS

4.2.3 Danh mục lớp học

Chức năng này giúp nhà trường khai báo danh sách các lớp học cho năm học mới.

Có phân công giáo viên chủ nhiệm

Lựa chọn môn học ngoại ngữ và loại hình lớp học theo diện bán công hay công lập.

4.2.4 Danh mục môn học

Trường bạn dạy những môn nào, thông tin chi tiết về từng môn học ra làm sao? Chức năng này sẽ giúp làm điều đó.

Xác định những môn học mà học sinh có thể miễn học (thường là các môn năng khiếu).

4.2.5 Danh mục tổ chuyên môn

Mỗi nhà trường thường có các Tổ chuyên môn - nơi quản lý các hoạt động về chuyên môn của từng nhóm giáo viên theo các bộ môn. Chức năng này giúp các nhà trường khai báo danh sách các tổ chuyên môn trong trường.

4.2.6 Danh mục chức vụ

Trong nhà trường có nhiều cán bộ, mỗi người có một chức vụ. Danh mục này giúp cập nhật thông tin các chức vụ của trường.

4.2.7 Danh mục dân tộc

Chức năng này dùng cập nhật danh sách các dân tộc và thuận lợi cho việc thống kê theo dân tộc.

4.2.8 Danh mục thương binh (adsbygoogle = window.adsbygoogle || []).push({});

Cập nhật các loại thương binh theo quy định của nhà nước.

4.2.9 Danh mục quận/ huyện

Cập nhật các quận/ huyện theo quy định của nhà nước

4.3 Quản lý cán bộ

WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS - Thực hiện phân công giảng dạy cho giáo viên

o Chức năng cập nhật hồ sơ gồm: - Thêm một cán bộ mới.

- Xem và sửa thông tin hiện tại của cán bộ. - Xóa bỏ một hồ sơ cán bộ.

Hình 4.2 Cập nhật hồ sơ cán bộ

Chương trình cho phép quản lý thông tin của tất cả các cán bộ đang và đã từng dạy học, làm việc ở trường tại hộp trạng thái

. Hộp trạng thái cho biết một cán bộ đang là:

- Cán bộ là Giáo viên đang dạy học tại trường. - Cán bộ đang đi học.

- Cán bộ vừa mới tuyển về trong năm học. - Cán bộ đã chuyển công tác.

WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS Khi một Cán bộ không còn làm việc ở trường nữa, nhưng thông tin về họ vẫn được giữ nguyên trong CSDL. Điều này rất thuận tiện cho việc tra cứu và thống kê số liệu Cán bộ trong trường.

Bên khung cửa sổ trái là danh sách tất cả các Cán bộ trong nhà trường.

Để xem hay cập nhật thông tin 1 hồ sơ Cán bộ,chúng ta chọn bằng cách Click vào tên Cán bộ bên khung cửa sổ trái. Khi đó bên khung cửa sổ phải sẽ hiện thị các thông tin về Cán bộ được chọn cho chúng ta xem và sửa đổi thông tin.

4.4 Quản lý học sinh:

Module này thực hiện các chức năng quản lý danh sách học sinh: nhập mới hồ sơ học sinh, quản lý điểm, quản lý học sinh chuyển trường, quản lý học sinh lưu ban, quản lý học sinh bỏ học, quản lý học sinh chuyển lớp, tìm kiếm thông tin học sinh…

Một số chức năng đại diện:

o Cập nhật hồ sơ học sinh

Hình 4.3 Cập nhật hồ sơ học sinh

o Nhập điểm cho học sinh

Đây là phần giáo viên nhập điểm cho học sinh, vì mỗi giáo viên khi dạy một môn cho một lớp nào đó thì chỉ có quyền nhập, sửa và xử lý phần điểm thuộc quyền hạn của

Một phần của tài liệu Ứng dụng PHP FOR APPLICATIONS FRAMEWORK xây dựng WEBBASE APPLICATIONS quản lý học sinh trường Trung học cơ sở (Trang 30)