Hướng dẫn php pear
PEAR là một trong những từ ngữ được nhắc đến khá phổ biến trong cộng đồng PHP. Ở một khía cạnh nhất định, việc sử dụng PEAR sẽ giúp cho các lập trình viên giải quyết nhanh công việc với chất lượng sinh mã tốt nhờ vào sự phong phú và độ chuẩn của thư viện PEAR. PEAR là viết tắt của “PHP Extension and Application Repository”, nó cung cấp: • Một thư viện có cấu trúc các mã nguồn mở cho người dùng PHP Các thư viện nổi tiếng nhất của PEAR như PEAR:DB, PEAR:Mail… được phân phối kèm với PEAR trong các bản PHP 4.x/5.x package. Các gói thư viện khác nếu muốn dùng thì phải được tải về độc lập và cài vào PEAR trên máy chủ. Quá trình này diễn ra nhanh chóng và tiện lợi nhờ các công cụ cài đặt PEAR đi kèm với bản PHP. Ngoài ra, các nhà phát triển PEAR còn cung cấp thêm công cụ cài PEAR qua web. PEAR được phân phối dưới giấy phép GPL (GNU General Public License), nó miễn phí và có thể tải về để sử dụng. Tuy nhiên, các thư viện được quản lý trong PEAR thì lại được phân phối theo các giấy phép khác nhau mặc dù tất cả đều là mã nguồn mở. Vì vậy hãy kiểm tra điều kiện sử dụng của mỗi một thư viện bạn muốn dùng để đảm bảo không có ràng buộc gì về vấn đề bản quyền. Mặc dù có hàng trăm thư viện mã hay các framework đang tồn tại cạnh PEAR trong thế giới PHP, nhưng PEAR vẫn được đánh giá cao như là một sự lựa chọn an toàn và chất lượng. Bạn cần những gì trước khi cài đặt PEAR trên Windows? PEAR cần được cài đặt trước khi sử dụng. Trước hết, bạn cần cài đặt Apache 1.3/2.0, PHP 4.3.x (bản package), MySQL 3.x trở lên trên máy tính chạy Windows 2K/XP. (Bạn có thể tham khảo bài viết hướng dẫn cài đặt PHP, Apache và MySQL đã đăng trên TGVT A tháng 8/2004, ID: A0408_110). Lưu ý, bạn có thể thay đổi các cấu hình trong bài viết cho phù hợp với máy của bạn. Cấu hình 1: Cài PHP4 vào thư mục c:serverphp4. Tôi dùng bản PHP 4.3.10. Cấu hình 2: Cài Apache 2 vào c:serverapache2. Thư mục phục vụ web được chuyển về thư mục c:webroot. File php.ini được đặt vào thư mục bin của Apache 2. Các bước tiến hành cài đặt PEAR Bước 1: Cài PEAR vào webroot • Trong C:webroot tạo một thư mục là sharedlib hoặc một cái tên khác tùy bạn. Bước 2: Sửa đổi php.ini Tìm đến thư mục chứa php.ini. Giả sử là thư mục bin của Apache 2. Tìm đến dòng ;include_path = “.;c:php=includes” include_path = “.;c:webrootsharedlibPEAR” Bước 3: Kiểm tra Bạn dùng một text editor hay một phần mềm viết PHP chuyên dụng như PHP Designer 2005 để tạo ra đoạn code sau:
require_once DB.php; $user = root; $pass = ; $host = localhost; $db_name = test; // Data Source Name $dsn = “mysql://$user:$pass@$host/$db_name”; $db = DB::connect($dsn); if (DB::isError($db)) { die ($db->getMessage()); } else { echo Connected successfully; } $db->disconnect(); ?> Tạm thời thì bạn có thể chỉ cần biết là với đoạn mã trên chúng ta đã dùng gói PEAR:DB, một gói được cài đặt trong quy trình trên để kết nối vào cơ sở dữ liệu MySQL với user là root, mật khẩu để trống (hoặc không trống là tùy vào cấu hình của bạn), và cơ sở dữ liệu là test. Nếu kết nối thành công thì bạn sẽ nhận được dòng thông báo “Connected successfully” còn không thì sẽ là một thông báo lỗi “DB Error: connect failed”. Như vậy là bạn đã thực hiện xong việc cài đặt PEAR. Sau khi thực hiện xong việc cài đặt, nếu có kết nối Internet, bạn có thể thực hiện việc nâng cấp các gói thư viện trong PEAR. Việc nâng cấp này được thực hiện qua tệp pear.bat cùng được tạo ra cùng với PEAR_ENV.reg trong quá trình cài đặt PEAR. Do ở trên chúng ta đã chủ ý đưa tệp này vào đường dẫn hệ thống cho nên chúng ta có thể gọi lệnh đến tệp này mà không cần phải chỉ đường dẫn đến chúng. Quy trình thực hiện như sau: · Vào Run, gõ cmd. Trong cửa sổ DOS, ta gõ pear (và nhấn Enter). Khi đó bạn sẽ thấy xuất hiện các câu lệnh liên quan đến PEAR. Bạn có thể xem chú thích cho từng câu lệnh này bằng cách
gõ pear help · Để nâng cấp toàn bộ các gói hiện có trong PEAR, bạn gõ pear upgrade-all. Lưu ý, câu lệnh chỉ đảm bảo cho bạn nâng cấp các gói đã cài trong bản PEAR. PEAR là một thư viện rất lớn và bản PEAR cài ở trên chỉ là một vài gói tiêu biểu được phân phối kèm với bản PHP 4.x package. Để xác định xem các gói nào trên máy của bạn đã có bản nâng cấp thì bạn gõ lệnh: pear list-upgrades • Để cài đặt một gói thư viện mới, bạn gõ pear install tên_gói. Ví dụ: pear install html_quickform. Xin chú ý: PEAR là một hệ thống thư viện có liên kết chặt chẽ như là một framework. Chính vì thế, bạn sẽ thường gặp trường hợp một gói này sử dụng mã thư viện của một gói khác. Để cài đặt một gói nhất định, bạn cần cài đặt gói mà nó phụ thuộc trước. Ví dụ: việc cài HTML_QuickForm phụ thuộc vào gói HTML_Common cho nên bạn cần cài HTML_Common trước. • Để biết hiện PEAR có những gói gì và trên máy của bạn đã có những gói gì, bạn dùng pear list-all. Nếu không kết nối Internet, bạn sẽ chỉ có thể dùng pear list để xem các gói đã cài trên máy. Theo dõi thông tin cài đặt PEAR với gói PEAR_Info Để dùng gói này, bạn hãy tạo ra một file pear_info.php hay tên nào đó tùy bạn với nội dung như sau: require_once PEAR/Info.php; $info = new PEAR_Info(); $info->show(); ?> Chạy file này trên localhost, bạn sẽ thấy một trang web có giao diện như hình. PEAR với HTML_Quickform HTML_QuickForm là một trong các gói rất nổi tiếng của PEAR. QuickForm cung cấp một thư viện tiện ích giúp xử lý các biểu mẫu HTML bao gồm các phương thức để tạo, xác định tính hợp lệ và hiển thị các biểu mẫu HTML một cách linh hoạt. Nó có khả năng tùy biến và mở rộng theo nhiều cách. QuickForm bao gồm nhiều tệp: tệp chính là QuickForm.php có mặt trong thư mục con HTML nằm trong thư mục cài PEAR; các tệp quan trọng khác như element.php và group.php, xử lý các phương thức liên quan đến các phần tử của biểu mẫu, cả hai đều đặt trong thư mục HTML/QuickForm cùng với các đối tượng biểu mẫu khác; tệp input.php chứa một lớp chung cho tất cả phần tử của kiểu giá trị nhập (text, password…). QuickForm có các đối tượng chung cho tất cả phần tử biểu mẫu: select, text, password, checkbox, file, submit, reset, button, image, radio, hidden, textarea. Vì HTML_QuickForm không được phân phối kèm PEAR với PHP 4.3.x nên bạn cần cài đặt nó từ Internet hoặc tải về dưới dạng nén và dùng pear.bat để cài đặt. Ví dụ: pear install c:downloadHTML_QuickForm-3.2.4pl1.tgz Để làm quen với HTML_QuickForm, chúng ta sẽ tạo ra một biểu mẫu đơn giản sau: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> http://www.w3.org/1999/xhtml”> charset=”UTF-8”> require_once “HTML/QuickForm.php”; $form = new HTML_QuickForm(formTest, get); $form->addElement(header, headerQuickformtest, Golden Key Language Center Registration); $form->addElement(text, txtName, What is your name?); $form->addElement(reset, buttonClear, Clear); $form->addElement(submit, buttonSubmit, Submit); $form->display(); ?> Dòng 1: require_once “HTML/QuickForm.php”; cho phép đưa thư viện HTML_QuickForm vào để phục vụ cho việc gọi các phương thức của nó sau này. Dòng 2: $form = new HTML_QuickForm(formTest, get); tạo ra một đối tượng HTML_QuickForm có tên là frmTest và form này sẽ dùng phương thức GET để truyền các giá trị nó nhận được từ form để gửi lên server. Biến $form sẽ có nhiệm vụ tham chiếu đến đối tượng này. Dòng 3: $form->addElement (header, headerQuickformtest, Golden Key Language Center Registration); giúp tạo ra một phần tử của form với phương thức addElement. Câu lệnh ở trên giúp tạo ra một phần tử giả làm nhiệm vụ đặt một nhãn trên đầu của form. Phần tử này có tên hdrQuickformtest để các câu lệnh sau này có thể tác động lên nó, và tạo ra nhãn hiện dòng chữ Golden Key Language Center Registration. Dòng 4, 5, 6: Dùng addElement để tạo ra 3 phần tử form khác rất quen thuộc là phần tử text input với nhãn in dòng chữ What is your name (dòng 4), nút Reset với nhãn Clear dùng để đưa text input trở lại trạng thái nhập liệu ban đầu (dòng 5), nút Submit dùng để gửi thông tin từ text input đi. Dòng 7: $form->display(); giúp hiển thị tất cả các phần tử form nói trên ra màn hình. QuickForm có phương thức cho phép bạn phong tỏa một phần tử form để ngăn người dùng chỉnh sửa nội dung (ví dụ như hộp text), xử lý tính hợp lệ dữ liệu nhập vào, xử lý kết quả (sau khi form được “Submit”)… Bạn có thể tìm hiểu các tính
năng của HTML_Quickform ở trang web http://pear.php.net/package/HTML_QuickForm. |