PDA

View Full Version : [TUTOR] Học Cold Fusion (part II)



wheremylove?
03-10-2002, 01:07
II. Giới thiệu về Cold Fusion.
1. Các thành phần Cold Fusion
Quay trở lại những ngày đầu tiên của CF, CF là các script CGI. Mỗi khi người sử dụng yêu cầu một CF (hiển thị dữ liệu hay chèn thêm và cập nhật các bản tin), thì Web server sẽ thực thi chương trình CF. CF sẽ xử lý yêu cầu của người sử dụng, thực hiện bất kỳ hành động nào cần thiết và đưa về dạng HTML đầu ra cho người sử dụng.
Khi tính năng của CF đã phát triển, thì cũng là thời điểm các yêu cầu ứng dụng phát triển theo. Vì các chương trình CGI nạp và ngưng khi cần (as needed), nên không có cách nào duy trì các biến, các thiết lập, các kết nối cơ sở dữ liệu, và các file xử lý (handle) giữa các phiên (sesion) khác nhau. Sự thực thi là cả một vấn để.
Đội ngũ phát triển Allaire đã phát triển với một thiết kế mới có khả năng chia nhỏ và tao nhã hơn. Họ chia Cold Fusion thành nhiều phần như sau:
 Nhân của CF, xử lý các yêu cầu của khách hàng, trở thành dịch vụ Win NT. Như một dịch vụ, CF có thể giữ nguyên việc thực thi tại mọi thời điểm, thậm chí khi không có ai log in server.
 Bản thân các Web servers không có "idea"làm cách nào liên kết với một dịch vụ CF, vì vậy các module server được viết cho ba server API khác nhau. Các module này là chất keo gắn Web server và dịch vụ CF.
 Đối với các Web server không hỗ trợ server APIs, một script gọi là CF.exe, được tạo. Script CGI này bảo đảm rằng mọi Web server hỗ trợ các CGI có thể được sử dụng với CF. Tất nhiên, các script CGI giao tiếp với CF chậm hơn các giao diện APIs, vì vậy chỉ nên sử dụng khi server không hỗ trợ.
Dịch vụ CF NT thực tế là một chương trình phân tách và xử lý bất kỳ lệnh (instruction) nào. Các lệnh được làm hợp với CF sử dụng các template.
Một template nhìn trông giống một file HTML. Khác với các file HTML, các template CF có thể chứa các thẻ đặc biệt chỉ dẫn cho CF thực hiện các vận hành đặc biệt. Listing 2.1 bao gồm một ví dụ về template CF mà chúng ta sẽ sử dụng trong <tutor> này sau. Đừng lo lắng nếu nó làm cho bạn thấy khó hiểu, chúng ta sẽ học về các template CF chi tiết ở các phần sau.

Listing 2.1 Sample Cold Fusion Template


<CFQUERY
DATASOURCE="A2Z"
>
INSERT INTO Employees(FirstName, LastName, PhoneExtension)
VALUES(`#FirstName#', `#LastName#', `#PhoneExtension#')
</CFQUERY>
<HTML>
<HEAD>
<TITLE>Employee Added</TITLE>
</HEAD>
<BODY>
<H1>Employee Added</H1>
<CFOUTPUT>
Employee <B>#FirstName# #LastName#</B> added.
</CFOUTPUT>
</BODY>
</HTML>


Chúng ta đã biết Web server có đặc thù là trả lại nội dung của trang Web mà không chú ý vào nội dung của file. CF không làm như vậy. Khi CF nhận một yêu cầu, nó phân tích qua template tìm kiếm các thẻ CF đặc biệt (bắt đầu với CF) hay các biến và các hàm (luôn luôn bao bởi các dấu #). Các dòng thuần text và HTML được giữ riêng và đưa ra Web server. Các lệnh CF được xử lý, và nếu có kết quả chúng được đưa ra Web server.
Web server sau đó gửi toàn bộ nội dung cho trình duyệt yêu cầu nó.

2. CFML--The Cold Fusion Markup Language
Khả năng của CF có do ngôn ngữ linh hoạt và có sức mạnh của nó, CFML, mô hình hoá sau HTML, làm cho việc học dễ dàng hơn. CFML có thể:
 Đọc và cập nhật dữ liệu từ csdl và bảng.
 Tạo các trang xử lý dữ liệu (data-driven) động.
 Thực hiện xử lý có điều kiện.
 Lưu giữ form với các dữ liệu động.
 Xử lý đệ trình form.
 Tự động các thông báo e-mail.
 Đọc và ghi các cookies phía khách hàng.
Đó chưa phải là tất cả.

3. Cold Fusion URLs
Khi truy nhập các templates CF với trình duyệt, bạn cần có cách chỉ ra template nào mà bạn muốn thực hiện. Bạn làm việc này bằng việc chỉ ra tên template trong URL. Vì CF vừa là ứng dụng CGI vừa là module server, nên hai kiểu URL khác nhau sẵn sàng cho bạn sử dụng. Quy tắc chung, bạn nên luôn sử dụng module server khi có thể.
Cold Fusion CGI URL syntax:
http://www.a2zbooks.com/cgi/cf.exe?template=/a2z/hello1.cfm

Cold Fusion server module URL syntax:
http://www.a2zbooks.com/hello1.cfm

Làm cách nào mà Web server biết để thực hiện template và trả về kết quả thay vì trả về chính template. Câu trả lời là một kỹ thuật gọi là "document type mapping"( ánh xạ kiểu văn bản). Khi CF được cài đặt, nó cấu hình Web server của bạn để nó biết rằng bất kỳ một file nào có đuôi là cfm, hay cfml là file CF. Sau đó, khi nào một file CF được yêu cầu, Web server sẽ biết để đưa file này cho CF xử lý thay vì trả về file đó. Tất nhiên, nếu bạn cần đưa tham số vào một template CF, bạn vẫn có thể làm việc này. Ví dụ sau đưa tham số src vào template đãyử lý:
http://www.a2zbooks.com/hello1.cfm?src=10

TIP: Nếu bạn có Web server mà CF có các module server API sẵn sàng, bạn nên luôn sử dụng nó thay vì CGI

4. Nối kết với các ứng dụng bên ngoài
Một trong số các đặc điểm lớn nhất của Cold Fusion là nó có khả năng nối kết với dữ liệu tạo và xử lý bởi các chương trình khác bao gồm:
 Cơ sở dữ liệu Corporate
 Hệ thống cơ sở dữ liệu Client-server (Microsoft SQL Server, Oracle)
 Các bảng tính (Spreadsheets)
 Liên hệ (contact) với các phần mềm quản lý.
 Các file định giới (delimited) ASCII
Cách CF truy nhập tới các ứng dụng này là thông qua ODBC.

Hì hì. tớ dịch từ e-books không được chuẩn lắm, vì trình độ Anh < A. Thực ra tớ cũng chưa biết gì về CF, nhưng thấy một số người nói hay nên thử xem sao. Bạn cùng học với tớ nhé.