Ngụn ngữ lập trỡnh sử dụng với ASP

Một phần của tài liệu XML và ứng dụng XML trong giáo dục đào tạo tại trường Đại học Quy Nhơn (Trang 34)

1.6.4.1. Ngụn ngữ lập trỡnh Script

Cỏc ngụn ngữ lập trỡnh script cú cấu trỳc tƣơng đối đơn giản và gọn nhẹ. Điểm khỏc biệt cơ bản giữa cỏc ngụn ngữ script là ngữ phỏp và quy trỡnh thực hiện.

Cú thể sử dụng kết hợp nhiều loại ngụn ngữ trong toàn bộ một ứng dụng ASP, khụng nhất thiết phải sử dụng một ngụn ngữ duy nhất.

Ngụn ngữ mặc định mà ASP sử dụng là VBScript, nếu khụng chỉ rừ chƣơng trỡnh đƣợc viết bằng ngụn ngữ script nào thỡ ASP sẽ tự động chuyển cỏc cõu lệnh chƣơng trỡnh cho script engine để thực hiện. Ngƣợc lại, ta dựng tiền chỉ thị ở vị trớ đầu tiờn của script: <%@ LANGUAGE=ScriptEngine%> để đặt ASP ở chế độ mặc định với ngụn ngữ lập trỡnh Script nào đú. Chẳng hạn, buộc ASP sử dụng Jscript nhƣ một ngụn ngữ mặc định khi biờn dịch, ta cú đoạn mó sau trong vị trớ đầu tiờn của Script: <%@ LANGUAGE=Jscript%>.

1.6.4.2. Lập trỡnh script từ phớa mỏy khỏch

Nhƣ đó đƣợc trỡnh bày, ngụn ngữ định dạng siờu văn bản HTML cú thể chứa một định dạng hết sức chi tiết nội dung văn bản, hỡnh ảnh, bảng biểu và cỏc siờu liờn kết dƣới dạng một trang Web tĩnh. Tuy nhiờn, nú khụng cho phộp trang Web đỏp ứng cỏc thụng tin nhập vào từ phớa ngƣời dựng trừ khi chuyển họ đến một trang khỏc, hay núi một cỏch khỏc nú khụng mở ra đƣợc giải phỏp nào cho cỏc ứng dụng trờn Web động.

Một trong những giải phỏp cho vấn đề trờn đƣợc Netscape đƣa ra là Javascript. Nú cho phộp nhỳng vào trang Web một số tập lệnh để cú thể thực thi trờn mỏy khỏch khi ngƣời dựng sử dụng trỡnh duyệt Web để xem trang Web này.

Hóng Microsoft cũng đó đƣa ra giải phỏp riờng của họ cú tờn gọi Visual Basic Script. Cũng nhƣ JavaScript, nú cũng cho phộp tạo cỏc trang Web động cú thể tƣơng tỏc với mỏy chủ Web.

Ngoài ra, cũn cú cỏc ngụn ngữ lập trỡnh script phớa mỏy khỏch khỏc nhƣ Pythos, Awk, PerlScript. Một điểm chung nhất của cỏc ngụn ngữ lập trỡnh Script là mó chƣơng trỡnh đều nằm trong cặp thẻ <script></script> và cú thờm thuộc tớnh language để chỉ ra ngụn ngữ cho trỡnh duyệt.

Để cú thể lập trỡnh script từ phớa mỏy khỏch thỡ phải hỗ trợ script engine. Hai ngụn ngữ JavaScript và VBScript là đƣợc dựng phổ biến nhất hiện nay. [8]

1.6.4.3. Lập trỡnh script từ phớa mỏy chủ

Khi trỡnh duyệt yờu cầu một tập tin cú phần mở rộng là ASP, IIS sẽ nạp một thƣ viện liờn kết động ASP.DLL và biờn dịch cỏc mó ASP trong tập tin đú. Kết quả của việc thi hành biờn dịch này sẽ đƣợc đặt trong một tài liệu HTML đơn giản trƣớc khi gửi trả lại mỏy khỏch.

ASP.DLL sẽ biờn dịch tất cả những mó trong tập tin nếu chỳng nằm giới hạn trong <%... %>. Dấu giới hạn này cho phộp chốn vào dũng HTML bất cứ thứ gỡ, thớ dụ nhƣ một biến, lệnh gọi hàm,... Sử dụng tốt nú khụng chỉ tạo đƣợc cỏc trang HTML động mà cũn tạo ra cả mó script cho phớa mỏy khỏch.

ASP là mụi trƣờng giỳp tạo và chạy những ứng dụng Web động, cú tƣơng tỏc và tốc độ cao bằng cỏch nhỳng cỏc script. Cỏc script này nằm trong trang HTML, nhƣng nú hoàn toàn chạy trờn mỏy chủ. Mỏy chủ Web sẽ dịch cỏc kịch bản này, trộn nú vào trang HTML hoàn thiện và sau đú gửi cho trỡnh duyệt Web.

1.6.5. Cỏc đối tượng ASP

Cú sỏu đối tƣợng ASP đƣợc tạo sẵn, nú hỗ trợ về mặt thuộc tớnh và phƣơng phỏp cụ thể nhƣ sau: [7,18]

Đối tượng Request: Đối tƣợng Request chịu trỏch nhiệm kiểm soỏt cỏch ngƣời dựng gửi thụng tin đến mỏy chủ. Dựng đối tƣợng Request, mỏy chủ cú thể lấy thụng tin về nhu cầu ngƣời dựng một cỏch tƣờng minh chẳng hạn nhƣ thụng qua mó ASP đƣợc lập trỡnh hoặc khụng tƣờng minh nhƣ thụng qua tiờu đề HTTP. Đối tƣợng Request chứa cỏc thụng tin của trỡnh duyệt Web gửi đến mỏy chủ thụng qua giao thức TCP/IP.

Tập hợp Diễn giải

Cookies Giỏ trị của cỏc cookies đƣợc gửi từ trỡnh duyệt.

Form Giỏ trị của phần tử trong form đƣợc gửi từ trỡnh duyệt. QueryString Giỏ trị cỏc biến trong chuỗi truy vấn HTML.

ServerVariable Giỏ trị của cỏc biến HTTP và cỏc biến mụi trƣờng.

Thuộc tớnh Diễn giải

TotalBytes Chỉ định số byte mà mỏy khỏch sẽ gửi trong nội dung yờu cầu.

Phƣơng thức Diễn giải

BinaryRead Truy cập dữ liệu gửi đến mỏy chủ dƣới dạng một phần của yờu cầu POST

Bảng 1.6.5.a: Cỏc tập hợp, đặc tớnh và phương thức của đối tượng Request

Đối tượng Response: Đối tƣợng Response chịu trỏch nhiệm gửi kết quả xử lý của mỏy chủ đến mỏy khỏch. Đối tƣợng này cho phộp cỏc quyền kiểm soỏt tớn hiệu đỏp HTTP tới mỏy khỏch. Nhƣ vậy, đối tƣợng Response là tƣơng ứng với Request, tức đối tƣợng Request thu thập thụng tin từ mỏy chủ và mỏy khỏch., đối tƣợng Response gửi, hoặc gửi lại thụng tin tới mỏy khỏch bằng cỏch ghi vào luồng dữ liệu HTTP.

Tập hợp Diễn giải

Cookies Giỏ trị của tất cả cookie gửi đến trỡnh duyệt

Thuộc tớnh Diễn giải

Buffer Quyết định trang cú đƣợc tạo bộ đệm cho đến khi hoàn chỉnh hay khụng (adsbygoogle = window.adsbygoogle || []).push({});

CacheControl Quyết định mỏy chủ uỷ quyền (proxy) cú đƣợc phộp trữ dữ liệu do ASP xuất ra trờn vựng nhớ truy cập nhanh hay khụng

ContentType Kiểu nội dung HTTP (vớ dụ “Text/HTML”) dành cho phản hồi

IsClientConnected Cho biết khỏch hàng cú bị mỏy chủ ngắt kết nối hay khụng

Phƣơng thức Diễn giải

AddHeader Thờm hoặc thay đổi giỏ trị trong tiờu đề HTML AppendToLog Thờm văn bản vào nhật ký của Web server

BinaryWrite Gửi văn bản tới trỡnh duyệt khụng cần chuyển đổi tập hợp ký tự

Clear Xúa bỏ một vài dữ liệu xuất HTML chứa trong bộ đệm End Ngƣng xử lý trang và trả về kết quả hiện hành

Flush Xúa dữ liệu trong bộ đệm

Bảng 1.6.5.b: Cỏc tập hợp, đặc tớnh và phương thức của đối tượngResponse

Đối tượng Server: Đối tƣợng Server cung cấp một vài chức năng hỗn hợp cú thể dựng trong cỏc ứng dụng ASP. Đối tƣợng này đại diện cho mỏy chủ Web và nhiều chức năng của nú cung cấp hoàn toàn là cỏc chức năng mà mỏy chủ Web sử dụng khi xử lý cỏc yờu cầu từ mỏy khỏch hay đỏp ứng từ mỏy chủ.

Thuộc tớnh Diễn giải

ScriptTimeout Thời gian kịch bản cú thể chạy trƣớc khi lỗi xảy ra

Phƣơng thức Diễn giải

CreateObject Tạo thực thể của đối tƣợng hoặc thành phần Server HTMLEncode Áp dụng việc mó húa HTML vào chuỗi đƣợc chỉ định MapPath Chuyển đƣờng dẫn ảo thành đƣờng dẫn vật lý

URLEncode Áp dụng việc mó húa URL vào chuỗi

Bảng 1.6.5.c: Cỏc tập hợp, đặc tớnh và phương thức của đối tượng Server.

Đối tượng Application: Mỗi trỡnh ứng dụng đƣợc đại diện bằng một thực thể của đối tƣợng Application. Đối tƣợng này lƣu trữ cỏc biến và đối tƣợng để chỳng đƣợc sử dụng trong phạm vi ứng dụng. Nú cũng nắm giữ cỏc thụng tin về mọi phiờn làm việc hiện thời đang hoạt động. IIS khởi động đối tƣợng Application vào thời điểm mỏy khỏch đầu tiờn yờu cầu bất

kỳ một file nào trong thƣ mục ảo xỏc định. Nú tồn tại trong bộ nhớ mỏy chủ cho đến khi dịch vụ Web kết thỳc.

Tập hợp Diễn giải

Contents Chứa tất cả cỏc đối tƣợng đƣợc thờm vào ứng dụng thụng qua cỏc lệnh kịch bản.

StaticObjects Chứa đối tƣợng đƣợc thờm vào ứng dụng bằng thẻ <Object>

Phƣơng thức Diễn giải

Lock Ngăn cỏc mỏy khỏch khỏc thay đổi cỏc đặc tớnh ứng dụng Unlock Cho phộp cỏc mỏy khỏch khỏc thay đổi cỏc đặc tớnh ứng

dụng

Sự kiện Diễn giải

OnStart Xuất hiện khi một trang trong trỡnh ứng dụng đƣợc tham chiếu lần đầu tiờn

OnEnd Xuất hiện khi trỡnh ứng dụng kết thỳc, cú nghĩa là khi mỏy chủ Web ngừng hoạt động

Bảng 1.6.5.d: Cỏc tập hợp, đặc tớnh và phương thức của Application

Đối tượng Session: Đối tƣợng Session đƣợc sử dụng để theo dừi trỡnh duyệt riờng biệt khi nú định hƣớng qua Web site. Đối tƣợng này đại diện phiờn làm việc hiện thời của ngƣời sử dụng trờn mỏy chủ Web. Cỏc thuộc tớnh, phƣơng thức của nú cho phộp thao tỏc cỏc thụng tin trờn mỏy chủ, cụ thể húa thời hạn kết nối của ngƣời sử dụng.

Đối tƣợng này đƣợc mỏy chủ Web tự động tạo khi ngƣời dựng truy cập vào trang đầu tiờn của ứng dụng và dựng để lƣu trữ, chia sẻ và cũng nhƣ truy nhập thụng tin của phiờn làm việc đú. Khi ngƣời dựng di chuyển từ trang Web này đến trang Web khỏc trong cựng một Site thỡ cỏc thụng tin lƣu trữ trong Phiờn khụng bị mất. (adsbygoogle = window.adsbygoogle || []).push({});

Khi bắt đầu một phiờn làm việc trờn mỏy chủ Web, mỗi ngƣời sử dụng đƣợc gỏn một giỏ trị PhiờnID duy nhất và đƣợc lƣu trữ trong bộ nhờ trờn

mỏy chủ Web. Giỏ trị PhiờnID này là một mó mà mỏy chủ Web gửi về trỡnh duyệt Web ở mỏy khỏch và đƣợc lƣu trữ trờn mỏy này. Để nhận ra ngƣời sử dụng, mỏy chủ truy tỡm và so khớp với số PhiờnID trờn bộ nhớ.

Tập hợp Diễn giải

Contents Chứa tất cả cỏc hạng mục đƣợc thờm vào phiờn làm việc thụng qua cỏc lệnh kịch bản

StaticObject Chứa tất cả cỏc đối tƣợng đƣợc thờm vào phiờn làm việc bằng thẻ <OBJECT>

Phƣơng thức Diễn giải

Abandon Hủy bỏ đối tƣợng Phiờn và giải phúng cỏc tài nguyờn

Thuộc tớnh Diễn giải

SessionID Trả về mục nhận dạng cho ngƣời sử dụng

TimeOut Thiết lập thời gian trƣớc khi kết thỳc phiờn làm việc, tớnh theo phỳt

Sự kiện Diễn giải

OnStart Xảy ra khi mỏy chủ tạo phiờn làm việc mới

OnEnd Xảy ra khi phiờn làm việc bị hủy bỏ hay hết thời hạn

Bảng 1.6.5.e: Cỏc tập hợp, đặc tớnh và phương thức của đối tượng Phiờn

Đối tượng ObjectContext: Đối tƣợng ObjectContext cung cấp cỏc chức năng trong kịch bản để chấp nhận hoặc hủy bỏ cỏc ASP Transaction đƣợc điều khiển bởi MTS (Microsoft transaction Server). Khi mà file ASP cú chức từ khúa @TRANSACTION ở đầu thỡ file ASP sẽ chạy cho đến khi mà TRANSACTION thực hiện thành cụng hay thất bại. Thớ dụ, gắn đoạn

<%@TRANSACTION=Required%> vào đầu dũng trong kịch bản.

Dũng mó này sẽ thụng bỏo cho mỏy chủ Web sử dụng MTS để đảm bảo rằng kịch bản thành cụng hay thất bại.

Phƣơng thức Mục đớch

SetComplete Khai bỏo là ASP Transaction đó hoàn tất. Nú đƣợc ƣu tiờn hơn của bất kỳ phƣơng thức SetAbort đƣợc

gọi trƣớc đú trong kịch bản.

SetAbort Loại bỏ Transaction do ASP khởi tạo.

Sự kiện Mục đớch

OnTransactionCommit Xuất hiện sau khi ASP Transaction của kịch bản xỏc nhận

OnTransactionAbort Xuất hiện nếu ASP Transaction bị hủy bỏ

Bảng 1.6.5.f: Cỏc tập hợp, đặc tớnh và phương thức của ObjectContext [7]

1.7. Ngụn ngữ lập trỡnh PHP

1.7.1. Giới thiệu chung

PHP đƣợc Rasmus Lerdorf đề xuất năm 1994, nhằm giải quyết việc viết lặp đi lặp lại cựng đoạn mó khi tạo cỏc trang chủ. Dần dần nú đƣợc tiếp tục phỏt triển thành ngụn ngữ kịch bản mó nguồn mở, nghĩa là 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 là kịch bản trờn mỏy chủ, đƣợc thiết kế cho phộp xõy dựng ứng dụng Web trờn cơ sở dữ liệu. Mó PHP cú thể thực thi trờn mỏy chủ Web để tạo ra trang HTML và xuất ra trỡnh duyệt Web theo yờu cầu của ngƣời sử dụng. Nú cú khả năng thực hiện với tốc độ rất nhanh và hiệu quả. Một mỏy chủ cú thể đỏp ứng đƣợc hàng triệu truy cập tới trong một ngày.

PHP cú thể sử dụng đƣợc trờn tất cả cỏc hệ điều hành chớnh nhƣ Linux, nhiều biến thể của Unix (HP-UX, Solaris, và OpenBSD), Microsoft Windows, Mac OS X, RISC OS, và cú thể trờn cỏc hệ điều hành khỏc nữa. Hiện nay, PHP cũng hỗ trợ hầu hết trờn cỏc mỏy chủ Web, bao gồm Apache, IIS (Microsoft Internet Information Server), Netscape và iPlanet Servers, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd và nhiều mỏy chủ khỏc. Với những mỏy chủ hỗ trợ chuẩn CGI, PHP cú thể làm việc nhƣ một bộ xử lý CGI. PHP cũng cú thể truy cập dễ dàng bất kỳ dạng văn bản nào nhƣ XHTML và mọi file XML khỏc. (adsbygoogle = window.adsbygoogle || []).push({});

Một trong những điểm mạnh nhất và đặc tớnh quan trọng nhất trong PHP là sự hỗ trợ của nú cho một phạm vi rộng cỏc cơ sở dữ liệu. Hiện PHP hỗ trợ cho những cơ sở dữ liệu sau: Adabas D, Indres, Oracle (OCI7 và OCI8), Dbase, InterBase, ProntBase, MySQL, PostgreSQL, ODBC, IBM DB2,...

PHP cũng hỗ trợ việc giao tiếp với những dịch vụ khỏc sử dụng những giao thức nhƣ HTTP, COM, POP3, LDAP, IMAP, SNMP, NNTP và nhiều giao thức khỏc. Ngoài ra, PHP cũn hỗ trợ lập trỡnh hƣớng đối là sử dụng cỏc lớp, quan hệ, thuộc tớnh và phƣơng thức của đối tƣợng trong hệ thống để hỗ trợ phỏp triển phần mềm theo cấu trỳc kế thừa và sử dụng lại mó kết quả [4].

1.7.2. Giới thiệu lập trỡnh PHP

Khi thiết kế trang PHP, cú thể sử dụng 4 loại thẻ PHP khỏc nhau :

Kiểu Short: đõy là thẻ mặc định mà cỏc nhà lập trỡnh PHP thƣờng sử dụng. Để cho phộp trang PHP cú thể thực thi với loại thẻ này, chẳng hạn nhƣ <? Echo Welcome to PHP.; ?>

Kiểu định dạng XML: thẻ này sử dụng với văn bản định dạng XML, nếu lập trỡnh PHP sử dụng với XML trong Web site, khai bỏo thẻ PHP trong trang PHP nhƣ <?php echo Welcome to PHP with XML; ?>

Kiểu Script: Sử dụng PHP nhƣ một kịch bản tƣơng tự nhƣ khai bỏo JavaScript hay VBScript, chẳng hạn khai bỏo nhƣ sau:

<script language= php> echo PHP Script;

</script>

Kiểu ASP: Cú thể khai bỏo thẻ PHP nhƣ một phần trong trang PHP, thẻ này đƣợc sử dụng khi cho phộp chỳng bằng cỏch cấu hỡnh (asp_tags) trong tập tin config, cỳ phỏp nhƣ <% echo PHP Script; %>

Làm việc với cỏc trang PHP, cũng giống nhƣ cỏc kịch bản trờn mỏy chủ khỏc, ta muốn submit dữ liệu ngƣời dựng nhập từ trang Web phớa khỏch lờn phớa mỏy

chủ phải sử dụng thẻ Form với hai phƣơng thức Get và Post trong Action. Dữ liệu đến từ kịch bản là biến PHP nếu sử dụng dấu $ trƣớc tờn biến. Cú thể dựng biến để lấy giỏ trị của cỏc thẻ trong thẻ Form bằng cỏch sử dụng mảng $HTTP_POST_VARS và $HTTP_GET_VARS, chẳng hạn nhƣ lấy giỏ trị của thẻ TagName sẽ là $HTTP_GET-VARS[“TagName”].

1.7.2.1. Cỏc kiểu dữ liệu của biến trong PHP

PHP hỗ trợ 5 kiểu dữ liệu:

Integer: sử dụng cho giỏ trị cú kiểu dữ liệu là số.

Double: sử dụng cho giỏ trị cú kiểu dữ liệu là số thực.

String: sử dụng cho giỏ trị cú kiểu dữ liệu là chuỗi, ký tự.

Array: sử dụng cho giỏ trị cú kiểu là mảng cú cỏc phần tử cựng kiểu dữ liệu.

Object: sử dụng cho giỏ trị cú kiểu là đối tƣợng của lớp.

1.7.2.2. Một số toỏn tử và phỏt biểu cú điều khiển

Cũng giống nhƣ cỏc ngụn ngữ lập trỡnh khỏc, ngụn ngữ lập trỡnh PHP cũng cung cấp cỏc toỏn tử sử dụng để thao tỏc trờn biến. Giỏ trị và biểu thức bằng cỏch thực hiện cỏc phộp toỏn. Chẳng hạn nhƣ, cỏc phộp toỏn số học: “+, -, *, /, %”; Cỏc phộp gỏn: “=”; Cỏc phộp toỏn gỏn kết hợp: “+=, ++, -=, *=,... ”; Cỏc phộp toỏn so sỏnh: “==, ===, !=,... ”; Cỏc phộp toỏn logic: “!, &&, ||,... ”; Phộp toỏn Error: “@ (Error)”;...

Phỏt biểu cú điều khiển là những cấu trỳc bờn trong ngụn ngữ, cho phộp điều khiển cỏc dũng thực hiện trong suốt chƣơng trỡnh hay kịch bản, nhƣ phỏt biểu if, switch, while, for, do..while.

1.7.2.3. Cỏc thao tỏc cơ bản trờn dữ liệu mảng, chuỗi

Lập trỡnh PHP cho phộp thao tỏc làm việc trờn cỏc tập tin hay cơ sở dữ liệu. Một số hàm thao tỏc trờn tập tin nhƣ

fopen (): mở file với hai tham số là tờn và đƣờng dẫn đầy đủ của file, chế độ mở file

fwrite (), fputs (): ghi ra file

fclose (): đúng file

fget (): đọc từ file

file_exists (): kiểm tra file, ...

Một trong những cấu trỳc dữ liệu khỏ thụng dụng thƣờng đƣợc sử dụng trong cỏc ngụn ngữ lập trỡnh đƣợc PHP cung cấp đú là mảng và kiểu dữ liệu cũng thƣờng xuyờn đƣợc dựng là kiểu chuỗi. PHP cho phộp khai bỏo và sử dụng mảng là biến (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu XML và ứng dụng XML trong giáo dục đào tạo tại trường Đại học Quy Nhơn (Trang 34)