1. Trang chủ
  2. » Giáo án - Bài giảng

Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.

224 1,7K 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 224
Dung lượng 6,39 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

tính năng cao cấp, chẳng hạn như các vấn tin cơ sở dữ liệu, MySQL, SQLite và PDO của PHP © Với phương pháp hướng din bing vi du ban sẽ không những dé dàng nắm bắt các khái niệm căn bản,

Trang 2

tính năng cao cấp, chẳng hạn như các vấn tin cơ sở

dữ liệu, MySQL, SQLite và PDO của PHP

© Với phương pháp hướng din bing vi du ban sẽ không

những dé dàng nắm bắt các khái niệm căn bản, nâng

———.- — cao hơn cũng như cách sử dựng các công cụ lập trình

New Edition «= «ta PHP aé viét cac chuong trinh PHP can ban

* Mỗi chương còn cồ nhiều bài tập thực hành mà bạn

nên làm theo để nắm vững nội dưng được trình bày,

bao gồm sự cài đặt phần xnềm, cú pháp ngôn ngữ, các

Trang 3

Lor NÓI ĐẦU

Bộ sách "Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP" được biên soạn nhằm mục đích dành cho những người mới bắt đầu bước chân vào thế giới của ngôn

ngữ lập trình PHP Không giống như những sách khác,

sách này không đồi hỏi bạn phải học qua trước các vấn đề căn bản về lập trình Web hay cơ sở dữ liệu Mà điểm đặc biệt của bộ sách chính là ở phương pháp hướng dẫn rất đơn giản và cực kỳ đễ tiếp thu

Thực vậy, với phương pháp hướng dẫn bằng ví dụ bạn

sẽ không những dễ dàng nắm bắt các khái niệm căn bản,

mà thông qua đó sẽ dần trở nên quen thuộc với các khái

niệm nâng cao hơn cũng như cách sử dụng các công cụ lập

trình của PHP để viết các chương trình PHP căn bản

Hơn nữa, với trọn bộ 3 tập bạn sẽ có cơ hội cọ xát để nâng

cao kỹ năng lập trình thông qua việc thực hành sử dụng

các tỉnh năng cao cấp, chẳng hạn như các vấn tin cơ sở dữ

liệu, MySQL, SQILäte và PDO của PHP, các công nghệ

XML, cc cookie, session va header, va các phần mở rộng

của bên thứ ba

Sách có bố cục rõ ràng theo từng chương và đề mục,

các bước hướng dẫn cụ thể và dễ hiểu Mỗi chương còn có

nhiều bài tập thực hành mà bạn nên làm theo để nắm vững nội dung được trình bày, bao gồm sự cài đặt phần mềm, cú pháp ngôn ngữ, các cấu trúc đữ liệu, các thường trình điều khiển, các hàm cài sẵn, và nhiều tác vụ hữu

ích khác

Hy vọng sách sẽ là một tài liệu học tập hữu ích cho bạn

đọc trong quá trình trở thành một chuyên gia về PHP

Tác giả

Trang 4

Chitong 2: Sit dung cdc bién va toán tử

Chuong 3: Diéu khién dong chdy của

chuong trinh Chuong 4: Lam viéc véi cdc mang Cbương 5: Sử dụng các bam va Class Cbương 6: Làm tiệc uới các File va tht muc

Trang 5

8 Chương 1: Giới thiệu ngôn ngữ lập trình PHP

Giới thiệu ngôn ngữ lộp trình PHP

Những kỹ năng uà kbái niệm cbính

M@ Tim hiéu lich stt cla PHP

M Hoc nbiing khd nang d6c ddo clla PHP cho su phat tri€n ting dung web m@ Xem nbiing thanh phan ctia mot bé thing PHP tương tác ribtr thế nào 1i: biểu oăn phạm uà cấu tríc cơ bản của mét script PHP

@ Tao va chay mét chuong trinb PHP đơn giản

§ Những PHP trong mot trang HTML

HP Ba mẫu tự tạo nên tên của một trong những ngôn ngữ lập trình thông dụng nhất thế giới cho sự phát triển Web, bộ tiền

xử lý siêu văn bản (Hypertex Preprocessor) PHP Và mặc

dù có thể bạn cười thâm trước tính chuyên môn của từ ghép đệ quy, số liệu thống kê cho thấy PHP không được xem nhẹ: ngôn ngữ này được sử dụng ngày nay trên hơn 20 triệu Web site và hơn 1/3 các Web server của thế giới - không phải việc nhỏ đặc biệt khi bạn xem xét rằng con đường này

đã được phát triển hoàn toàn bởi một cộng đồng những người tình nguyện toàn cầu và có sẵn miễn phí trên Internet,

Trang 6

Chương 1: Giới thiệu ngôn ngữ lập trình PHP 9 Trong vài năm qua, PHP đã trở thành sự lựa chọn phổ biến cho việc phát triển các ứng dụng Web điều khiển bằng dữ liệu đáng chú ý do kha năng mở rộng, tính dễ sử dụng và sự hỗ trợ rộng rãi của nó cho các cơ sở dữ liệu và định dạng dữ liệu khác nhau Chương đầu tiên này sẽ giới thiệu nhẹ nhàng cho bạn về thế giới của PHP bằng việc đưa bạn khảo sát một vòng lịch sử các tính năng PHP, và dẫn đắt bạn qua việc viết và thực thi chương trình PHP đầu tiên Do đó hãy lật trang đầu tiên và bắt đầu

Lịch sử PHP

Phiên bản hiện hành của PHP, PHP 5.3, đã tồn tại hơn 14 năm; dòng dõi của nó có thể được truy nguyên trở lại năm 1994, khi một nhà phát triển có tên là Rasmus Lerdorf lần đầu tiên tạo ra một tập hợp script CGI

để giám sát số lần xem trang (page view) cho sơ yếu lý lịch trực tuyến của mình Phiên bản ban đâu này của PHP có tên là PHW/FI khá nguyên thủy, vì vậy mặc dù nó đã hỗ trợ việc nhập liệu form và cơ sở dữ liệu m§QL, nhưng nó thiếu nhiều tính năng an ninh và các add-on (chương trình phụ trợ) được tìm thấy trong các phiên bản PHP hiện đại

Sau đó Lerdorf đã cải tiến PHP/FI 1.0 và tung nó ra dưới dạng PHP/FT 2.0, nhưng chỉ trong năm 1997, khi các nhà phát triển Andi Gutmans và Zeev Suraski viết lại bộ phân tích cú pháp (parser PHP) va da tung ra né duéi dang PHP 3.0, thì sự phát triển PHP mới thực sự bắt đâu tăng tốc

Không chỉ cú pháp của PHP 3.0 mạnh hơn và nhất quán hơn, nó còn đã

giới thiệu một cấu trúc mới có thể mở rộng khuyến khích những nhà phát triển độc lập tạo những cải tiến và extension riêng của mình trong ngôn ngữ Không cân phải nói, điều này đã thúc đẩy việc lựa chọn ngôn ngữ và chẳng bao lâu PHP 3.0 đã bắt đầu xuất hiện trên hàng ngàn Web server Lân lặp lại kế tiếp của cây mã, PHP 4.0 đã được tung ra vào năm 2000

Nó cung cấp một bộ máy tốt hơn, hiệu suất và độ tin cậy tốt hơn và sự hỗ trợ cài sấn cho cde session va các tính năng hướng đối tượng Một cuộc khảo sát Nexen vào tháng 7 năm 2007 đã cho thấy phiên bản này của PHP, PHP 4.x, vẫn là phiên bản nổi bật đang được sử dụng trên các Web site của Internet, chiếm gần 80% các server có tính năng PHP được khảo sát Tuy nhiên, vào tháng 7 năm 2007, đội phát triển PHP đã thông báo rằng PHP 4.x không còn được hỗ trợ sau tháng 12 năm 2007 nữa, mở đường cho việc lựa chọn rộng rãi hơn các phiên bản mới hơn

PHP 5.0 được tung ra vào năm 2004, là một bản tái thiết kế triệt để của PHP 4.0, có một bộ máy được viết lại hoàn chỉnh, một mô hình đối

Trang 7

10 Chương 1: Giới thiệu ngôn ngữ lập trình PHP tượng cải tiến nhiều và những cải tiến an ninh và biệu suất khác nhau Điều mà các nhà phát triển đặc biệt quan tâm là mô hình đối tượng mới

mà bây giờ có hỗ trợ những tính năng mạnh mẽ của mô hình OOP chẳng hạn như các class trừu tượng, destructor (phương thức hủy tạo), đa giao điện (interface) và các gợi ý loại class PHP 5.0 cũng đã giới thiệu những công cụ mới và quan trọng khác nhau: một lớp truy cập cơ sở dữ liệu chung (common database access); xt lý ngoại lệ kiểu Java và một bộ máy cơ sở

đữ liệu tích hợp

.PHP 5.3, phiên bản gần đây nhất (và là phiên bản được sử dụng qua suốt sách này), được tung ra vào tháng giêng năm 2008 Nó cải tiến so với các tính năng mới được thể hiện đầu tiên trong PHP 5.0 và cũng cố gắng bảo dưỡng một số khiếm khuyết mà những người sử dụng các phiên bản ban đầu đã chú ý Một số cải tiến đáng chú ý nhất trong phiên bản này là:

hỗ trợ các namespace; một môi trường sạch hơn và an toàn hơn cho việc quan lý không gian biến; sự hỗ trợ cài sắn cho SQLite 3; và một driver riêng mới cho MySQL Cho đến bây giờ, tất cả thay đổi này đã thúc đẩy làm cho PHP 5.3 trở thành phiên bản PHP tốt nhất trong lịch sử 14 năm của ngôn ngữ này, một sự kiện được minh họa rất nhiều bởi sự khảo sát Neteraft tháng 4 năm 2008 cho thấy PHP đang được sử dụng trên hơn 30 triệu Web site

Các tính năng độc đáo

Nếu bạn quen thuộc với các ngôn ngữ phía server khác như ASP.NET hoặc JSP, có thể bạn đang tự hỏi điều gì làm cho PHP trở nên đặc biệt như vậy, hoặc khác biệt so với những lựa chọn cạnh tranh này Sau đây là một số lý đo:

Hiệu suất Các seript được viết bằng PHP thực thi nhanh hơn các script

được viết bằng những ngôn ngữ viết script khác, với vô số điểm mốc độc lập khiến cho ngôn ngữ này vượt trội những lựa chọn cạnh tranh như JSP, ASP.NET, và Perl Bộ máy PHP 5.0 đã được tái thiết kế hoàn chỉnh với một trình quản lý bộ nhớ (memory manager) tối ưu để nâng cao hiệu suất

và nhanh hơn cũng đáng kể so với phiên bản trước Ngoài ra các bộ gia tốc

(accelerator) bên thứ ba có sẵn để cải tiến hiệu suất và thời gian đáp ứng

hơn nữa

Tính khả chuyển PHP có sẵn cho các chương trình UNIX, Microsoft Windows, Mac O8, và OS/2, và các chương trình PHP khả chuyển giữa các nên Kết quả một ứng dụng PHP được phát triển trên, ví dụ, Windows

thường chạy trên UNIX mà không gặp bất kỳ vấn dé đáng kể Khả năng

Trang 8

Chương 1: Giới thiệu ngôn ngữ lập trình PHP 11

dễ đảm nhận sự phát triển nên chéo này là một khả năng đặc biệt khi vận hành trong một môi trường doanh nghiệp đa nên hoặc khi cố giải quyết nhiều phân khúc thị trường

Tính dễ sử dụng Như Leonardo da Vinci d4 néi "Don gidn chính là

sự phức tạp tột cùng" và qua thước đo đó, PHP là một ngôn ngữ lập trình cực kỳ tỉnh vi Cú pháp của nó rõ ràng và nhất quán và nó đính kèm tài liệu toàn điện cho 5000+ hàm đính kèm với các bản phân bố lõi Điều này giảm đáng kể đường cong học tập cho những nhà lập trình mới và những nhà lập trình có kinh nghiệm và nó là một trong những lý do PHP được

ưu tiên như là một công cụ nguyên mẫu nhanh cho các ứng dụng dựa trên nên tảng Web

Nguồn mở (Open Source) PHP là một dự án nguồn mở - ngôn ngữ

được phát triển bởi một đội những người tình nguyện trên toàn câu làm cho mã nguồn của nó có sẵn miễn phí trên Web và nó có thể được sử dụng

mà không phải trả các phí bản quyền hoặc các khoản đầu tư vào phần cứng hoặc phần mềm tốn kém Điều này giảm các chi phí phát triển phần mềm mà không ảnh hưởng đến sự linh hoạt hoặc độ tin cậy Bản chất nguồn mở của mã có nghĩa xa hơn nữa là bất kỳ nhà phát triển ở bất cứ nơi nào cũng có thể kiểm tra cây mã, phát hiện các lỗi và gợi ý các cách sửa chữa có thể có; điều này tạo ra một sản phẩm mạnh ổn định trong khi các lỗi một khi được phát hiện sẽ được giải quyết nhanh - đôi khi trong vòng một vài giờ phát hiện

Sự hỗ trợ của cộng đồng Một trong những điểu thú vị về một ngôn

ngữ được hỗ trợ bởi cộng đông như PHP là sự truy cập mà nó mang lại cho sức sáng tạo và trí tưởng tượng của hàng trăm nhà phát triển khắp thế giới Trong cộng đồng PHP, những thành quả của khả năng sáng tạo đó có thể được tìm thấy trong PEAR, PHP Extension and Application Reposi- tion (http://pear.php.net/) va PECL, PHP Extension Community Li- brary (http://pecl.php.net/, chia hang trăm widget va extension tai san

mà các nhà phát triển có thé sử dụng để dễ dàng thêm chức năng mới cho PHP Sử dụng những widget này thường là một lựa chọn phân phối mã riêng của bạn một cách hiệu quả hơn về thời gian và chi phi

Hỗ trợ ứng dụng bên thứ ba Một trong những ưu thế của PHP là

trước đây nó đã hỗ trợ một dãy rộng các cơ sở dữ liệu khác nhau bao gồm MySQL, PostgreSQL, Oracle, va Microsoft SQL Server PHP 5.3 hé trg hơn 15 bộ máy cơ sở di liệu khác nhau và nó có một API chung để truy cập

cơ sở đữ liệu Sự hỗ trợ XML làm cho dễ đọc (và viết) các tài liệu XML như

Trang 9

12 Chương 1: Giới thiệu ngôn ngữ lập trình PHP thể nó là những cấu trúc dữ liệu PHP riêng, truy cập các tập hợp nút XML

sử dụng Xpath và biến đổi XML thành những định dạng khác bằng các style sheet XSLT

Không chỉ dừng lại ở đó Cấu trúc mở rộng của PHP cho phép các nhà phát triển viết các ađđd-on tùy ý cho ngôn ngữ và kết quả là ngày nay các nhà phát triển PHP có thể đọc và viết các định dạng ảnh GIF, JEPG, và PNG; gởi và nhận e-mail sử dụng các giao thức SMTP, IMAP, và POP8; giao diện với các dịch vụ Web sử dụng các giao thức SOẠP và REST; hiệu lực hóa đữ liệu nhập sử dụng các biểu thức thông thường Perl; và tạo và xử

lý các tài liệu PDF Thậm chí PHP có thể truy cập các thư viện C (library

©), các class (lớp) Java, và những đối tượng COM và tận dụng mã chương trình được viết cho những ngôn ngữ này

Hỏi chuyên gia

Hỏi: Tôi có cần biên dịch các chương trình PHP trước khi thực thi chúng

như trong Java hoặc C++ hay không?

Đáp: Không, bởi vì PHP là một ngôn ngữ thông dịch Một ưu điểm của một ngôn ngữ thông dịch là nó cho phép bạn thực hiện các thay đổi đối với

mã nguồn và ngay lập tức test những thay đổi đó mà trước tiên không cần phải biên dịch mã nguồn thành dạng nhị phân (binary) Bồ qua bước biên dịch sẽ làm cho tiến trình phát triển nhanh hơn nhiều và PHP có khả năng quản lý bộ nhớ và lưu trữ trên bộ nhớ đệm (caching) để phủ định

- hiệu ứng của tải trọng thời gian chạy bổ sung đi kèm với việc sử dụng một trình thông dịch (interperter)

Những khái niệm cơ bản về phát triển

Khi phát triển một ứng dụng PHP cho Web, một phương pháp điển hình là nhúng mã PHP vào một hoặc nhiều tài liệu HTML chuẩn sử dụng các "tag" (thẻ) hoặc dấu phân cách đặc biệt

Trang 10

Chương 1: Gidi thiéu ngén ngi lap trinh PHP 13

</body>

</html>

Trong khi một tài liệu HTML như thế được yêu cầu bởi một người dùng, một Web server nhận biết PHP có thể nhận ra và thực thi các khối mã PHP và nội suy đầu ra vừa có được vào tài liệu HTML trước khi trả nó trở

về người dùng yêu câu Kết quả: một trang Web hoặc ứng dụng mà hầu như còn sống, phản hồi một cách thông minh đối với các hành động người dùng thông qua logic chương trình PHP được nhúng bên trong nó Hình 1.1 minh hoa tiến trình, trình bày bốn phân tit cia framework LAMP, được mô tả sau trong phần này

Sau đây là những gì xảy ra trong hình 1.1:

1 đoe mở trình duyệt Web tại nhà và gõ nhập URL dẫn đến một Web site Sau khi dò tìm miền (domain), trình duyệt của Joe (client) gdi một yêu cầu HTTP đến địa chỉ IP server tương ứng

2 Web server xử lý các yêu cầu HTTP cho miền nhận yêu câu đó và

chú ý rằng URL kết thúc bằng một hậu tố php Bởi vì server được

lập trình để tự động tái hướng tất cả yêu cầu như vậy sang layer PHP, nó chỉ việc gọi ra trình thông dịch PHP và chuyến đến nó nội dung của file được đặt tên

3 Trình thông dịch PHP phân tích file, thực thi mã trong các thẻ PHP đặc biệt Bên trong những the (tag) này, bạn có thể thực hiện các phép tính, xử lý dữ liệu nhập người dùng, tương tác với một cơ

sở đữ liệu, đọc và ghi các fñle danh sách cứ tiếp tục Một khi trình thông dịch script đã hoàn tất việc thực thi các chỉ lệnh PHP, nó trả kết quả trở lại trình duyệt, tự làm sạch và quay trở về chế độ ngủ đông (hibernation)

4 Các kết quả được trả về bởi trình thông dịch sẽ được chuyển đến

` trình đuyệt của Joe bởi Web server.

Trang 11

14 Chương 1: Giới thiệu ngôn ngữ lập trình PHP

http://my.server.com/webmail.php

HTTP request

Result set

Linux OS

Hinh 1.1 Framework phat trién LAMP

Từ giải thích trên bạn thấy rõ rằng để bắt đầu xây dựng các ứng dụng PHP, méi trường phát triển của bạn phải chứa tối thiểu 3 thành phần:

„ Một bệ điều bành (0S) cơ bẩn 0à môi trường seruer (thường là Linu+)

# Mội Web seruer (thường là Apacbe trên Linux boặc IIS trên Windous) để

chặn các yêu câu HTTP uà gởi chúng trực tiếp boặc tiếp tục chuyển chứng đến trình thông dịcb PHP để thực thi

„§ Một trình thông dịch PHP để phân tícb va thuc thí mã PHP uà trả bết quả trở UÊ W©b server

Cũng thường có một thành phần thứ tư tùy chọn nhưng rất hữu dụng: M@ Mội bộ máy cơ sở đủ liệu (chẳng bạn như MySQL) chứa dữ liệu ứng dựng, chấp nbận các nối kết từ player PHP, va chỉnh sửa boặc truy tìm

đữ liệu từ cơ sở đữ liệu

Một hệ quả quan trọng của phương pháp này là mã PHP được thực thi trên server chứ không phải trên trình duyệt client Điều này cho phép các nhà phát triển Web viết mã chương trình hoàn toàn độc lập với và do đó thản nhiên trước các tật của trình đuyệt - một ưu thế quan trọng so với các ngôn ngữ viết seript phía cHent chẳng hạn như JavaScript, thường đòi hỏi

logic phức tạp để giải thích những điểm khác biệt riêng biệt của trình

duyệt Hơn nữa bởi vì mã đều được thực thi trên server và chỉ đầu ra được gởi đến client, người dùng không thể thấy mã nguồn của chương trình PHP - một ưu điểm bảo mật quan trọng so với các ngôn ngữ như JavaScript

Trang 12

Chương 1: Giới thiệu ngôn ngữ lập trình PHP 15

- Hỏi chuyên gia

Hỏi: Các thành phần của một môi trường phát triển PHIP tốn kém bao nhiêu? Đáp: Bốn thành phần được mô tả ở phần trước đều là những dự án nguồn

mở và vì vậy có thể được download từ Internet miễn phí Quy tắc chung, cũng không có chỉ phí đi kèm với việc sử dụng những thành phần này cho những mục đích cá nhân hoặc thương mại hoặc dành cho việc phát triển và phân phối các ứng dụng sử dụng chúng Tuy nhiên, nếu bạn dự định viết một ứng dụng thương mại, bạn nên xem lại các điều khoản đăng ký bản quyền có liên hệ với từng thành phần này; thông thường bạn sẽ tìm thấy những điều khoản này trên Web site của thành phần (component) cũng như file archive (lưu trữ) có thể download

Khi tất cả bốn thành phan - Linux, Apache, MySQL, va PHP - hién dién,

Tạo Script PHP đầu tiên

Bây giờ khi bạn đã biết đôi chút về PHP, hãy nhảy ngay vào và bat đâu viết một số mã Các script mà bạn sẽ viết trong các phần tiếp theo sẽ khá đơn giản - nhưng đừng bận tâm, mọi thứ sẽ trở nên phức tạp hơn khi

bạn tìm hiểu thêm về ngôn ngữ

Nếu bạn đã chưa làm điều này, đây là một nơi tốt để khởi động máy tính của bạn, download các phiên bản mới nhất của Apache và PHP và cài đặt chúng sang môi trường phát triển Phụ luc A của sách này có những hướng dẫn chí tiết để hoàn thành thủ tục này và để test hệ thống phát triển của bạn nhằm bảo đảm rằng tất cả làm việc như mong đợi sau khi cài đặt, do đó hãy nhảy về phía trước và quay trở về khi bạn sẵn sàng

Viết và chạy Script

Các script PHP chỉ là những file text thuần túy chứa các chỉ lệnh PHP, đôi khi được kết hợp với những thứ đầu thừa đuôi thẹo khác - JavaScript, HTML Vì vậy, cách đơn giản nhất để viết một script PHP là mở bộ soạn thảo text ưa thích và tạo một file chứa một số mã PHP như sau:

<?php

// this line of code displays a famous quotation

echo "A horse! A horse! My kingdom for a horse!’;

>

Trang 13

16 Chương 1: Giới thiệu ngôn ngữ lập trinh PHP Lưu file này sang một vị trí bên đưới gốc tài liệu của một Web server,

và đặt tên cho nó là horse.php Sau đó khởi động trình duyệt Web và đuyệt sang URL tương ứng với vị trí ñle Bạn sẽ thấy một thứ gì đó tương

Hình 1.2 Dau ra cia script horse.php

Tim hiéu Script

Điều gì đã xảy ra ở đây? Khi bạn đã yéu cdu script horse.php, Web server Apache đã nhận yêu cầu của bạn, nhận ra rằng file là một script PHP (qua phân mở rộng ñle php) và đã chuyển nó sang bộ phân tích (parser) va trình thông dich (interpreter) PHP dé xi ly thém nita Sau đó trình thông dich PHP nay đọc các chỉ lệnh giữa các thể <?php ?>, thực thi chúng, và chuyển kết quả trở lại Web server mà lần lượt gởi chúng trở lại vào trình duyệt Trong trường hợp này các chỉ lệnh gồm một lệnh gọi đến câu lệnh echo của PHP, có trách nhiệm hiển thị đầu ra cho người dùng; đầu ra cần được hiển thị được đặt trong các đấu ngoặc kép

Có một số thông tin hữu dụng thu nhặt được từ thậm chí script PHP đơn giản này Ví dụ, rõ ràng thấy rằng tất cả mã PHP phải được đặt bên trong các thẻ? <?php ?> và mọi câu lệnh PHP phải kết thúc trong một dấu chấm phẩy Các dòng trống bên trong các thẻ PHP được bỏ qua bởi bộ phân tích

Hỏi chuyên gia

Hỏi: Tôi đã viết script PHP sau đây (bồ qua ký tự dấu chấm phẩy kết thúc),

và nó làm việc mà không tạo ra một lỗi

<?php

echo ‘The Queen is dead Long live the Queen'

Trang 14

Chương †: Giới thiệu ngôn ngữ lập trình PHP 17

Tuy nhiên, chú ý rằng trong khi bạn có thể bắt đầu với việc bỏ qua này,

bổ qua dấu chấm phẩy theo cách này không phải là một thói quen lập trình tốt Suy cho cùng, bạn không bao giờ biết khi nào bạn sẽ cần thêm một thứ gì khác vào cuối scriptl

Các chú giải (comment) dạng tự do có thể được kết nhập vào một script PHP thông qua những quy ước tương tự được sử dụng trong JavaScript Các chú giải một dòng phải được bắt đầu bằng cách các ký tự / trong khi các chú giải nhiễu dòng phải được đặt bên trong một khối chú giải /* */ Những chú giải này được loại trừ ra khỏi đầu ra của script PHP Sau đây là một số ví dụ:

Bộ phân tích PHP có một cặp mắt tinh xảo Nếu mã chứa một lỗi, nó sẽ

- phụ thuộc vào tính quan trọng của lỗi - hiển thị một cảnh báo hoặc đừng

thực thi seript tại điểm lỗi với một thông báo cho biết những trục trặc gì

đã xây ra Chương 10 của sách này đề cập chỉ tiết các lỗi và việc xử lý lỗi nhưng thấy những gì xảy ra khi bộ phân tích PHP gặp phải một lỗi để

Trang 15

18 Chương †: Giới thiệu ngôn ngữ lập trình PHP bạn hiểu rõ hơn cách giải quyết tình huống này khi nó xảy ra với bạn sẽ cung cấp thông tin hữu dụng cho bạn

Để cố ý tạo ra một lỗi, quay trở lại script horse.php mà bạn đã tạo trước

đó và đưa vào thêm một dấu chấm phẩy sau từ khóa echo sao cho bay giờ script trông giống như sau:

<?php

// this line of code displays a famous quotation

echo; 'A horse! A horse! My kingdom for a horse!';

trên đó Điều này làm cho khá dễ dàng - trong hau hét các trường hợp -

Trang 16

Chương 1: Giới thiệu ngôn ngữ lập trình PHP 19 Để thấy điều này được thực hiện như thế nào, hãy xem xét code listing sau đây:

<!DOCTYPE html PUBLIC “-/AW3C//DTD XHTML 1.0 Transitional//EN”

}

td { border: solid 5px white;

Trang 17

20 Chương 1: Giới thiệu ngôn ngữ lập trình PHP

Sử dụng lệnh View Source của trình duyệt để kiểm tra mã HTML của trang, và bạn sẽ thấy rằng bộ phân tích PHP đã nội suy đầu ra của các câu lệnh echo khác nhau vào mã nguồn HTML để tạo một trang HTML hoàn chỉnh Đây là một kỹ thuật rất phổ biến được sử dụng để xây dựng các ứng dụng Web bằng PHP như bạn sẽ thấy nó trong hầu như moi vi dụ tiếp theo

sẽ chú ý rằng những đấu gạch chéo ngược này không xuất hiện Chúng đã

đi đâu?

Đau đây là một giải thích đơn giản cho điều này Như bạn đã thấy đầu

ra cân được hiển thị bởi PHP được bao bọc trong các dấu ngoặc kép Nhưng

điểu gì xảy ra khi đầu ra cần được hiển thị chứa các đấu ngoặc kép riêng

Trang 18

Chuong 1: Gidi thiệu ngôn ngữ lập trình PHP 21 của nó, như xảy ra với mã HTML được tạo ra trong colors.php? Nếu bạn chỉ bao bọc một tập hợp dấu ngoặc kép bên trong một tập hợp dấu ngoặc kép khác, PHP sẽ bối rối về các dấu ngoặc kép nào sẽ được in cụ thể và các dấu ngoặc kép nào chỉ được sử dụng để bao bọc giá trị chuỗi và sẽ tạo ra một lỗi parser Do đó, để giải quyết những tình huống này, PHP cho phép bạn thoát (escape) những ký tự đặc biệt bằng việc bắt đầu chúng bằng một dấu gạch chéo ngược (9) Ở đó cái được gọi là những trình tự thoát bao gồm:

Khi parser gặp phải một trong những trình tự thoát này, nó biết thay thế nó bằng giá trị tương ứng trước khi gởi nó sang thiết bị đầu ra Ví dụ, xem xét dòng mã sau đây:

<?php

echo "You said \"Hello\";

?>

PHP biết rằng các đấu trích dẫn được bắt đầu bằng một dấu gạch chéo

ngược sẽ được in "y nguyên", và nó sẽ không làm bối rối chúng bằng các dấu trích đẫn báo hiệu sự bắt đầu và sự kết thúc của một chuỗi Đây là lý

do tại sao bạn thấy một dấu gạch chéo ngược trước mọi dấu trích dẫn và ký

tự chuyển dòng do PHP tạo ra trong colors.php

Hồi chuyên gia

Hỏi: Tại sao soript colors.php sử dụng các dấu ngoặc đơn và các dấu ngoặc kép ở những nơi khác?

Đáp: Các trình tự thoát chẳng hạn như các trình tự thoát cho các ký tự chuyển dòng (M), ký tự trở về đầu dòng (Y), và dấu ngoặc kép (\"), chỉ có thể được hiểu bởi bộ phân tích PHP khi chúng được bao bọc trong các dấu ngoặc kép Nếu những trình tự thoát này được bao bọc trong các dấu ngoặc đơn, chúng sẽ được in "y nguyên"

Trang 19

22 Chương 1: Giới thiệu ngôn ngữ lập trình PHP

- vụ này đòi hỏi sử dụng trình tự thoát ký tự chuyển dòng (\\) mà như được giải thích trước đó chỉ được nhận biết khi được đặt trong các dấu ngoặc kép Đây là lý do tại sao các dấu ngoặc kép được sử dụng tại những vị trí nhất định bên trong script colors.php

Các ứng dụng mẫu

Rõ ràng, có nhiều điểu hơn nữa nói về PHP không chỉ đơn thuần là câu

lệnh echo và bạn sẽ học một khóa học cấp tốc về nhiều khả năng khác

nhau của ngôn ngữ trong các chương tiếp theo Bây giờ mặc dù đây là nơi tốt để nghỉ ngơi, hãy uống một chút cà phê và ôn lại những gì bạn đã học

Và để kích thích sự quan tâm của bạn đối với những gì sẽ xảy ra, sau đây

là một mẫu nhỏ của nhiều ứng dụng mà các nhà phát triển như bạn đã sử

dụng PHP cho mục đích đó

‘ phpMyAdmin

Ung dung php<yAdmin (www.phpmyadmin.net/) la một công cụ quản

lý dựa vào nền tang PHP danh cho MySQL RDBMS Một trong những dự

Trang 20

Chương 1: Giới thiệu ngôn ngữ lập trình PHP 23

án thông dụng nhất trên mạng SourceForge, nó cho phép tạo và chỉnh sửa bảng (table) và bản ghi (record), quản lý index, thực thi query SQL dac biệt (ad hoc), nhập (mport) và xuất (export) dữ liệu và giám sát hiệu suất

_ Gallery

Gallery (http:/gallery.menalto.com/) là một nơi lưu trữ ảnh số có khả năng cấu hình cao được viết bằng PHP Nó hỗ trợ nhiêu thư viện ảnh và

nhiều từ khóa mỗi bức ảnh và nó có các tính năng chẳng hạn như tự động

tạo thumbnail (ảnh thu nhỏ), giải thích chú thích và biên tập ảnh, tìm kiếm bằng từ khóa và xác thực cấp thư viện

Hỏi chuyên gia

Hỏi: Tôi hiểu dấu gạch chéo ngược được sử dụng như thế nào để đánh dấu các trình tự thoát Nhưng điều gì xây ra nếu tôi cần in một dấu gạch chéo ngược thực sự trong đầu ra của tôi?

Đáp: Giải pháp cho vấn để này khá đơn giân: sử dụng một dấu gạch chéo

Trang 21

24 Chương 1: Giới thiệu ngôn ngữ lập trình PHP nhập liệu được tùy biến để thu thập dữ liệu của người đăng ký Nó cho phép các nhà quản trị import và xuất đữ liệu người đăng ký từ một cơ sở dữ liệu MySQL và những người đăng ký quản lý việc đăng ký của mình thông qua một bảng điều khiển (control panel) trực tuyến

Smarty

Smarty (www.smarty.net/) là một framework dựa vào nên tảng PHP

để tạo logic nghiệp vụ của một ứng dụng PHP từ giao diện người dùng của

nó Nó đạt được sự tách biệt này thông qua việc sử dụng các template chứa các placeholder đầu ra được thay thế vào thời gian chạy bằng nội dung thực sự Smarty hỗ trợ việc lưu trữ (caching) và xếp léng (nesting) tem- plate, các bộ lọc tiền và hậu kết xuất và các hàm cài sẵn để đơn giản hóa những tác vụ thông thường Nó đã nhanh chóng trở thành một trong những bộ máy template thông dụng nhất dành cho việc phát triển ứng dụng dựa vào nên tảng PHP

Squirrelmail

Squirrelmail (www.squirrelmail.org/) là một mail cHent dựa vào nên tảng Web được viết bằng PHP hỗ trợ cả giao thức SMTP và IMAP Nó có khả năng gởi và nhận các phần đính kèm (attachment), quản lý các bộ sưu tập sổ địa chỉ (address book) và quản lý các hộp thư (mailbox) trên server Ứng dụng này có khả năng cấu hình cao và có thể được mở rộng thông qua việc sử dụng cdc plug-in va theme

eZ Publish

Ung dung eZ Publish (www.ez.no/) 1a một hệ thống quản lý nội dung dựa vào nền tang PHP thích hợp cho việc phát triển các trang Web cá nhân nhỏ và các Web site doanh nghiệp lớn Nó hỗ trợ tạo và biên tập nội dung, theo dõi các thay đổi, xây dựng các tiến trình xuất bản được tùy biến

và thiết lập một "Web shop" có chức năng thương mại điện tử (e-com- merce) tich hgp

Mantis

Mantis (www.mantisbt.org/) là một hệ thống theo đõi lỗi trên Web được thiết kế đặc biệt để theo đõi và giải quyết các vấn để cho phân mềm

và những dự án khác Nó hỗ trợ nhiễu cách truy cập người dùng, nhiều đự

án và nhiều cấp ưu tiên và nó có một bộ máy tìm kiếm đây đủ tính năng

và các báo cáo (report) cài sắn khác nhau cho các bức ảnh chụp nhanh (snapshot) cập nhật tình trạng của một dự án

Trang 22

Chương 1: Giới thiệu ngôn ngữ lập trình PHP 25

Wordpress

Wordpress (www.wordpress.org/) là một công cụ xuất bản Weblog (blog) nổi tiếng Nó cho phép người dùng duy trì và xuất bản các nhật ký trực tuyến về các hoạt động của mình và hỗ trợ các theme, tag, tự động kiểm tra chính tả, upload video và ảnh và chức năng chống spam cài sẵn Nó cực kỳ nhanh, dễ thiết lập và sử dụng đơn giản - ba lý do làm cho nó trở nên thông dụng với hàng triệu blogger khắp thế giới

Tóm tắt

Chương này đã giới thiệu nhẹ nhàng về thế giới PHP, thảo luận lịch sử

và sự phát triển của ngôn ngữ và nêu bật một số tính năng độc đáo và những ưu điểm của nó so với những lựa chọn cạnh tranh Chương này giải thích những thành phản khác nhau của một môi trường phát triển PHP điển hình và minh họa chúng tương tác với nhau như thế nào Sau cùng, chương này đã cho bạn một sự khởi đầu bằng việc viết mã PHP, trình bày những quy tắc cú pháp cơ bản của ngôn ngữ và giải thích cách nhúng mã PHP bên trong các tài Hệu HTML sử dung các thẻ PHP <?php ?> đặc biệt thông qua một dự án dễ dàng Những kỹ năng cơ bản này sẽ phục vụ bạn tốt trong chương tiếp theo, chương này cho bạn một khóa học cấp tốc về hai khối xây dựng cơ bản của PHP: các biến (variable) và toán tử (operator) Nếu bạn thích tìm hiểu thêm về chủ đề được thảo luận trong chương này, bạn sẽ tìm thấy các liên kết sau đây hữu dụng:

MH Web site PHP chinb thttc tai www php.net

M Số liệu thống kê vé uiệc stt dung PHP tai www php.nei/usage php

@ Tiéu sit vé PHP tai www.php.ne/manualen/bistory php

§ Cộng déng dang sau PHP tai un php.neycredits php

Trac nghiém

1 Bén thanh phan cia framework LAMP 1a gi?

2 Tai sao PHP cao cấp hơn những ngôn ngữ phía client chẳng hạn nhu JavaScript?

8 Câu lệnh echo có chức năng gì?

4 Điều gì xảy ra khi bộ phân tích PHP gặp phải khoảng trắng hoặc các dòng trống trong một script PHP?

Trang 23

26 Chương 1: Giới thiệu ngôn ngữ lập trình PHP

5 Ký tự nào phải cần thiết được sử dụng để kết thúc mọi câu lệnh PHP? Hãy nêu lên một tình huống trong đó việc bỏ qua ký tự kết thúc này sẽ tạo ra một lỗi

_6 Một trình tự thoát (eacape sequenee) là gì? Hãy cho biết ba trình

tự thoát thường được sử dụng

7 Đầu ra của cde script PHP sau đây là gì?

echo "Ö0urs not †o question why;;

echo "Ours but to document and die’;

Trang 24

Chương 2: Sử dụng các biến và toán tử 27

Chuong &

Sử dụng cóc biến vò toón tỬ

Những kỹ năng 0à kbái niệm chính

M@ Tao va sử dụng các biến uà bằng

ã Tìm biếu các biểu dữ liệu đơn giản của PHP

@ Làm quen uới các bàm cài sẵn của PHP

Thục biện các pbép tínb số bọc

M@ So sánb tà test các biến một cácb logic

8 xử lý dữ liệu được gỗi qua một Web form

hương trước đã giới thiệu nhẹ nhàng về PHP, cho bạn thử nghiệm với hai dự án đơn giản Tuy nhiên, như bạn sẽ thấy

trong giây lát, PHP tốt cho không chỉ đơn thuần là điển vào

các chỗ trống trong một trang HTML Trong trường này bạn sẽ học về các biến và toán tử, hai khối tạo cơ bản của bất kỳ chương trình PHP và bạn

sẽ bắt đâu sử dụng chúng để phát triển các chương trình phức tạp hơn Bạn cũng sẽ tạo seript PHP tương tác, và phần hồi lại dữ liệu nhập của

một người dùng Do đó không cần phải đi đâu xa, chỉ việc nhảy thẳng vào.

Trang 25

28 Chương 2: Sử dụng các biến và toán tử

Lưu trữ dữ liệu trong các biến

Một biến (variable) đơn giản là một đối tượng chứa được sử dụng để lưu trữ cả thông tin số và thông tin không phải số Và như với bất kỳ đối tượng chứa, bạn có thể di chuyển từ nơi này đến nơi khác, thêm các thứ vào.nó, hoặc để nó ra hết trên sàn trong một đống và lấp đầy nó bằng một thứ gì đó hoàn toàn khác

_ Để mở rộng tính tương đồng thêm một chút, tương tự như bạn nên ghi nhãn cho mọi đối tượng chứa, bạn cũng nên đặt cho mọi biến trong chương trình một tên Theo nguyên tắc chung, những tên này nên hợp lý và nên dé hiểu Thực tế điều này làm cho đễ tìm mọi thứ hơn Trong thế giới lập trình,

nó làm cho mã sạch hơn và dễ hiểu hơn đối với những người khác

PHP có một số quy tắc đơn giản về việc đặt tên các biến Mọi tên biến phải được bắt đầu bằng một ký hiệu đô la ($) và phải bắt đầu với một mẫu

tự hoặc ký tự gạch dưới được tùy ý theo sau bởi nhiều mẫu tự, số hoặc ký tự gạch dưới hơn Các ký tự chấm câu thông thường chẳng hạn như các dấu phẩy, dấu trích dẫn hoặc dấu chấm không được phép trong các tên biến, các khoảng trống cũng vậy Do đó ví dụ, $root, $_num, và $query2 đều là các tên biến hợp lệ trong khi $ð8%, $1day, và email đều là các tên biến không hợp lệ

- Gán các giá trị vào các biến

Gán một giá trị vào một biến trong PHP thì khá dễ đàng: sử dụng dấu bằng (=), mà cũng ngẫu nhiên là toán tử gán của PHP Toán tử này gán giá trị nằm ở vế phải của phương trình sang biến nằm ở vế trái

Để sử dụng một biến trong một script, chỉ việc gọi nó theo tên trong một biểu thức và PHP sẽ thấy một giá trị của nó khi script được thực thi Sau đây là một ví dụ:

<!DOCTYPE html PUBLIC '-/AW30//DTD XHTML 1.0 Transitional/EN"

$name = ‘Simon’:

Trang 26

Chương 2: Sử dụng các biến và toán tử 29

/f output: ‘2007 has ended Welcome to 2008!"

echo “$lastYear has ended Welcome to $currentYear!”;

2>

Hỏi chuyên gia

Hỏi: Bản thân tên của một biến có thể là một biến hay không?

Đáp: Trong các tình huống hiếm, bạn có thể thấy xác lập động tên của một biến và thời gian chạy thì hữu dụng PHP cho phép bạn làm điều này, bằng việc bao bọc phần động của tên biến trong các dấu ngoặc cong Ví.dụ sau đây minh họa:

Trang 27

30 Chương 2: Sử dụng các biến và toán tử

/{ create a new variable

// its name comes dynamically

// from the value of $attribute

// print variable vatue

// output: ‘Before unset(), my car is a Porsche’

echo “Before unset(), my car is a $car”;

// destroy variable

unset($car);

// print variable value

// this will generate an ‘undefined variable’ error

// output: ‘After unset(), my car is a‘

echo “After unset(), my car is a $car”:

2>

Trang 28

Chương 2: Sử dụng các biến và toán tử 31

Cố truy cập hoặc sử dụng một biến đã được unsetQ như trong script trước sẽ dẫn đến một thông báo lỗi PHP "undefined variable” Thông báo này có thể không xuất hiện trong trang đầu ra phụ thuộc vào cách báo cáo lỗi PHP được cấu hình như thế nào Xem chương

Hoặc, làm rỗng một biến của nội dung của nó bằng việc gán giá trị NULL đặc biệt của PHP cho nó Bạn có thể đọc thêm về kiểu dữ liệu NULL của PHP ở phần tiếp theo ngay sau đây là bản sửa đổi nhanh của

ví dụ trước để minh họa nó làm việc như thế nào:

<?php

// assign value to variable

$car = ‘Porsche’;

// print variable value

// output: ‘Before unset(), my car is a Porsche’

echo “Before unset(), my car is a $car”;

/f assign empty value to variable

$car = null;

// print variable value

// output: ‘After unset(), my car is a ‘

echo “After unset(), my car is a $car”;

?>

Các tên biến trong PHP nhạy loại chữ Do đó $help tham chiếu đến một biến khác so với $HELP hoặc $Help Quên quy tắc đơn giản này là một nguyên nhân gây thất vọng thường thấy đối với các nhà

———::—_———-——————=—=——“=-—=-—=———~=-—

Trang 29

32 Chương 2: Sử dụng các biến và toán tử

Kiểm tra nội dung biến

PHP có hàm var dump(Q, hàm này chấp nhận một biến và X-ray nó cho bạn Sau đây là một ví dụ:

Cũng có một hàm print_r( thực thi cùng một chức năng như var_dump() mặc dù

nó trả về ít thông tin hơn

Tìm hiểu các kiểu dữ liệu của PHP

Các giá trị được gán vào một biến PHP có thể có các kiểu đữ liệu (đata type) khác nhau bắt đâu từ các kiểu số và chữ đơn giản đến các mảng (array) và đối tượng phức tạp hơn Bạn đã thấy hai trong số những kiểu dữ liệu này, các chuỗi (string) và số (number) trong các ví dụ trước Sau đây là một ví dụ hoàn chỉnh giới thiệu thêm ba kiểu đữ liệu

Trang 30

Chương 2: Sử dụng các biến và toán tử 33

# PHP cũng bỗ trợ bai biểu dữ liệu số: trieger (s6 nguyén) va floating- boimt ualue (giá trị dấu động) Các giá trị dấu động còn được gọi là floats bodc doubles) la cdc số thap phan bodc phan sé trong khi cdc sé nguyên là các số tròn Cả bai có thể nhỏ bơn, lon bon bodc bang zero Trong listing nay, $size chita mét giá trị số nguyên, trong khi Siemp chita một giá trị dấu động

#' Đối tới dữ hiệu bông pbải số, PHP đưa ra biểu dữ liệu siring có thể chúa các mẫu tự, các số, uà những ký tự đặc biệt Các giá trị chuédi (string) phải được bao bọc trong các dấu ngoặc đơn boặc dấu ngoặc kép Trong listing tritéc, $cat la mét biến chuỗi chúa giá trị Siamese’

# Có thể bạn cũng gặp phải biểu dữ liệu NULL, đây là kiểu dữ liệu "đặc biệt" được giới đầu tiên trong PHP 4 Các NULL duoc sit dung cho cdc biến "rỗng" trong PHP, một biến có biểu NULL là một biến kbông có bất

kỳ dit liéu Trong listing trước, $bere là NUIL

Hỏi chuyên gia

Hỏi: PHP có hỗ trợ các số được viết bằng ký hiệu thập lục phân (hexadeci- mai), bát phân (octal), hoặc khoa học (scientific) hay không?

Trang 31

34 Chương 2: Sử dụng các biến và toán tử

Nhiều nhà phát triển PHP mới vào nghề nghĩ sai rằng việc gán

chuỗi rỗng ‘ ’ vào một biến sẽ tự động làm cho nó trở nên rỗng Điều này không đúng vì PHP không xem một giá trị NULL tương đương với một chuỗi rỗng Để loại bỏ nội dung của một biến, hãy luôn xác lập nó sang NULL,

Xác lập và kiểm tra các kiểu dữ liệu biến

Không giống như những ngôn ngữ lập trình khác, nơi kiểu đữ liệu của một biến phải được định nghĩa một cách tường minh bởi nhà lập trình, PHP tự động quyết định kiểu dữ liệu của một biến từ nội dung mà nó chứa

Và nếu nội dung của một biến thay đổi trong thời hạn của một script, ngôn ngữ sẽ tự động xác lập biến sang kiểu đữ liệu mới thích hợp

Sau đây là một ví dụ minh họa việc sắp đặt lại kiểu này:

Trang 32

Chương 2: Sử dụng các biến và toán tử 35

họa, biến $whoami bắt đầu sự sống dưới dạng một chuỗi, gán giá trị

'Sarah' Sau đó nó được gán số 99.8, tự động chuyển đổi nó thành một biến dấu động Sau đó biến được hủy khởi tạo bằng phương thức unsetQ nhằm loại bổ giá trị của nó và biến nó thành một NULL PHP đã là bàn tay vô hình đằng sau từng chuyển đổi này, bên trong xác lập loại kiểu dữ liệu của

$whoami ti string sang floating-point sang null

Tuy nhiên, điểu này không có nghĩa là bạn hoàn toàn phó mặc cho

PHP xác lập một cách tường minh kiểu của một biến PHP bằng việc gán

(casting) một biến sang một kiểu riêng biệt trước khi sử dụng nó Casting

là một kỹ thuật thường được sử dụng bởi các nhà lập trình Java; để sử dụng nó, chỉ việc xác định kiểu đữ liệu mong muốn trong các dấu ngoặc đơn nằm ở phía bên phải toán tử gán Xem xét ví dụ sau đây minh họa việc biến một giá trị dấu động thành một giá trị số nguyên

Trang 33

36 Chương 2: Sử dụng các biến và toán tử

eeeeeeed

Thủ thuật

Bạn có nhớ rằng hàm var_dưmp() mà bạn đã gặp ở phân trước hay không? Nếu

ban xem ky dau ra của nó, bạn sẽ thấy rằng ngoài việc cơ bản biết những gì một biến chứa, nó còn cho bạn thấy kiểu dữ liệu của biến

ˆ is_boolQ Test xem một biến có chứa một giá trị Bool-

ean hay không is_numeric() 'Test xem một biến có chứa một giá trị số hay

; khéng is_int() Test xem một biến có chứa một số nguyên

hay không is_float() Test xem một biến có chứa một giá trị đấu

động hay không is_string() Test xem m6t biến có chứa một giá trị chuỗi

hay không is_null() Test xem một biến có chứa một giá trị NULL

hay không is_array() Test xem một biến có phải là một mảng (ar-

is_object () Test xem một biến có phải là một đối tượng

Như với tên gọi, các hằng là những đối tượng chứa PHP cho những giá

trị vẫn không đổi và không bao giờ thay đổi Chúng hầu như được sử dựng cho di liệu được biết trước rõ và được sử dụng, không thay đổi ở nhiều vị trí

Trang 34

Chương 2: Sử dụng các biến và toán tử 37

tuân theo các quy tắc y như các tên biến với một ngoại lệ: Tiền tố $ không

được bắt buộc cho các tên hằng

Sau đây là một ví dụ về việc định nghĩa và sử dụng một hằng trong

// output: ‘Welcome to The Matrix (version 11.7)’

echo ‘Welcome to ‘ PROGRAM ‘ (version ‘ VERSION ‘)’;

?>

Chi: chek

Theo quy ước, các tên hằng thường được viết toàn bằng chữ hoa;

điều này cho phép nhận dạng và phân biệt chúng dễ dàng với các

Xử lý các biến bằng các toán tử

Các biến chỉ đơn giản là những đối tượng chứa cho thông tin Để làm

bất cứ điều gì hữu dụng với chúng, bạn cần các toán tử (operator) Các toán

tử là những ký hiệu yêu cầu bộ xử lý PHP thực hiện những hành động

nhất định Ví dụ, đấu cộng (+) là một toán tử yêu cầu PHP cộng hai biến

hoặc giá trị trong khi dấu lớn hơn (>) là một toán tử yêu cầu PHP so sánh

hai giá trị

PHP hỗ trợ hơn 50 toán tử như vậy bắt đầu từ các toán tử cho các phép

tính số học đến các toán tử cho phép so sánh logie và các phép toán

bitwise Phần này thảo luận các toán tử thường được sử dụng nhất

Hỏi chuyên gia

Hỏi: Khi nào tôi nên sử dụng một biến, và khi nào tôi nên sử dụng một

hằng?

Đáp: Các biến là nơi lưu trữ tạm thời; sử dụng chúng cho các biến mà có

khả năng thay đổi trong tiến trình của script Các hằng hơi thường trực

Trang 35

Bảng 2.2 Các toán tử số học thông thường

Và sau đây là một ví dụ minh họa các toán này:

<?php // define variables

Trang 36

Chương 2: Sử dụng các biến và toán tử 39

Hỏi chuyên gia

Hỏi: Có giới hạn nào về độ lớn có thể có của một giá trị số nguyên PHP hay không

Đáp: Có, nhưng khá cao: 2147483647

Giới hạn này được PHP ấn định trong hằng PHP_INT_MAX của nó, do đó

// combine into single string

// output: ‘Welcome to London, the coolest city in all of England’

echo ‘Welcome to ‘ $city ‘, the coolest city in all of ‘ $country;

?>

Trang 37

40

So sánh các biến

Chương 2: Sử dụng các biến và toán tử

PHP cho phép bạn so sánh một biến hoặc giá trị với một giá trị khác thông qua rất nhiều toán tử so sánh, được liệt kê trong bảng 2-3

Và sau đây là một ví minh họa các toán tử này:

Trang 38

Chương 2: Sử dụng các biến và toán tử 41

về false so sánh với toán tử ===

<?php

// define variables of two types

// but with the same value

Thực hiện các phép Test Logic

Khi xây dựng các biểu thức điều kiện phức tạp - một chủ đề có được thảo luận chỉ tiết trong chương 8 - bạn sẽ thường gặp phải những tình huống

Trang 39

42 Chương 2: Sử dụng các biến và toán tử trong đó cần phải kết hợp một hoặc nhiều test logic Ba toán tử logic thường được sử dụng nhiều nhất của PHP được liệt kê trong bảng 2.4 được

chỉ định cụ thể cho tình huống này

Toán tử Mô tả

Bang 2.4 Cac toda tit Logic thing thudng

Các toán tử logic thực sự độc lập khi được kết hợp với các test có điều

kiện, do đó ví dụ sau đây chi minh hoa; bạn sẽ tìm thấy một thứ gì đó quan trọng hơn nhiều để học trong chương 3

<?php

// define variables

$price = 100;

$size = 18;

// logical AND test

// returns true if both comparisons are true

// returns true here

echo ($price > 50 && $size < 25);

// logical OR test

// returns true if any of the comparisons are true

// returns false here

echo ($price > 150 Il $size > 75);

/f logical NOT test

// reverses the logical test

// returns false here

echo !($size > 10);

?>

Trang 40

Chương 2: Sử dụng các biến và toán tử 43

Các toán tử hữu dụng khác

Có một vài toán tử khác có khuynh hướng tiện lợi trong quá trình phát triển PHP Đầu tiên, toán tử gán - cộng được đại diện bằng ký hiệu +=, cho bạn đồng thời cộng và gán một giá trị mới vào một biến Ví dụ sau đây minh họa:

Ngày đăng: 26/03/2015, 09:47

HÌNH ẢNH LIÊN QUAN

Hình  1.2  Dau  ra  cia  script  horse.php - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
nh 1.2 Dau ra cia script horse.php (Trang 13)
Hình  1.3  Đầu  ra  được  tạo  ra  hởi  PHP  khi  nó  tìm  thấy  một  lỗi  script - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
nh 1.3 Đầu ra được tạo ra hởi PHP khi nó tìm thấy một lỗi script (Trang 15)
Hình  1.4  Một  trang  Web  chứa  các  màu  và  mã  màu  được  tạo  ra  bằng  việc  sử  dụng  kết - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
nh 1.4 Một trang Web chứa các màu và mã màu được tạo ra bằng việc sử dụng kết (Trang 17)
Hình  2.2  Một  form  đơn  giản - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
nh 2.2 Một form đơn giản (Trang 46)
Hình  2.3  Kết  quả  của  việc  gởi  form - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
nh 2.3 Kết quả của việc gởi form (Trang 47)
Hình  2.5  Mẫu  màu  có  được  do  gởi  form - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
nh 2.5 Mẫu màu có được do gởi form (Trang 50)
Hình  3.5  minh  họa  kết  quả  sau  khi  gởi  form - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
nh 3.5 minh họa kết quả sau khi gởi form (Trang 73)
Hình  4.5  Kết  quả  của  việc  gởi  form,  hiển  thị  các  số  nguyên  tố  được  tìm  thấy. - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
nh 4.5 Kết quả của việc gởi form, hiển thị các số nguyên tố được tìm thấy (Trang 123)
Hình  4.6  Một  Web  form  để  người  dùng  nhập  ngày  sinh  cia  minh. - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
nh 4.6 Một Web form để người dùng nhập ngày sinh cia minh (Trang 131)
Hình  4.7  minh  họa  kết  quả  sau  khi  gởi  một  form. - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
nh 4.7 minh họa kết quả sau khi gởi một form (Trang 132)
Hình  5.2  Kết  quả  tủa  việc  gởi  form  hiển  thị  GCF  va  LCM  duge  tính  toán. - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
nh 5.2 Kết quả tủa việc gởi form hiển thị GCF va LCM duge tính toán (Trang 149)
Hình  5.3  Mối  quan  hệ  giữa  các  class  và  đối  tượng. - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
nh 5.3 Mối quan hệ giữa các class và đối tượng (Trang 151)
Hình  5.4  minh  họa  Web  form  trông  như  thế  nào  và  hình  5-5  có  một  ví  dụ - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
nh 5.4 minh họa Web form trông như thế nào và hình 5-5 có một ví dụ (Trang 159)
Hình  5-6  minh  họa  kết  quả  của  listing  này. - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
nh 5-6 minh họa kết quả của listing này (Trang 163)
Bảng  8.1  Các  hàm  File  và  thư  mục  PHP  thông  thường - Kỹ thuật và thủ thuật lập trình hướng đối tượng PHP - Khái niệm, kỹ thuật và viết mã.
ng 8.1 Các hàm File và thư mục PHP thông thường (Trang 189)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm