Chương trình PHP đầu tiên: Hello World!
lượt xem 16
download
Nếu các bạn đã từng học lập trình, chắc các bạn cũng biết được "Hello world!" là cái gì, còn nếu bạn nào chưa biết, thì tôi sẽ giải thích ngay đây: "Hello world!" là một chương trình dành cho những người mới bắt đầu học một ngôn ngữ lập trình nào đó. Chương trình này đơn giản chỉ viết duy nhất một dòng chữ "Hello world!" ra màn hình. Các bạn có thể bỏ qua nó nếu đã biết từ trước, còn nếu bạn nào chưa học, thì chúng ta bắt tay vào viết chương trình này bằng PHP nhé....
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương trình PHP đầu tiên: Hello World!
- Bài 4: Chương trình PHP đầu tiên: Hello World! I. Khởi đầu Nếu các bạn đã từng học lập trình, chắc các bạn cũng biết được "Hello world!" là cái gì, còn nếu bạn nào chưa biết, thì tôi sẽ giải thích ngay đây: "Hello world!" là một chương trình dành cho những người mới bắt đầu học một ngôn ngữ lập trình nào đó. Chương trình này đơn giản chỉ viết duy nhất một dòng chữ "Hello world!" ra màn hình. Các bạn có thể bỏ qua nó nếu đã biết từ trước, còn nếu bạn nào chưa học, thì chúng ta bắt tay vào viết chương trình này bằng PHP nhé. Hãy mở NotePad ra, gõ vào nội dung sau: Trích: OK, Save lại với cái tên test.php. Copy nó vào thư mục gốc (Root Directory) mặc định của Web server. Khởi động Web server Apache lên (nó sẽ hiển thị một cửa sổ đen ngòm, bạn cứ để đó, đừng tắt nó đi, vì nếu tắt đi thì tức là bạn đã tắt chương trình Web server Apache đi rồi đấy). Bây giờ mở trình duyệt ra, tại ô địa chỉ, gõ nội dung sau: "http://127.0.0.1/test.php" (nhớ bỏ hai dấu ngoặc kép đi nhé) Nó sẽ hiển thị ra cửa sổ trình duyệt với duy nhất dòng chữ Hello world! Chắc bạn thất vọng lắm hả? Vâng, nó chỉ có mỗi dòng chữ "Hello world!" trên màn hình trình duyệt, mà bạn có thể làm nó đơn giản hơn rất nhiều, chẳng cần đến cái PHP kia. OK. Đừng thất vọng vội. Chương trình này hoạt động như thế nào? Trước tiên chúng ta hãy tìm hiểu cách thức hoạt động của hệ trình duyệt (Web Client) và máy chủ cung cấp dịch vụ Web (Web server ) đã nhé: Bước 1: Trình duyệt gửi một yêu cầu HTTP đến máy chủ, yêu cầu một file nào đó Bước 2: Máy chủ sẽ chuyển yêu cầu này đến chương trình xử lý tương ứng, chính là chương trình Web server. Bước 3: Web server phân tích chuỗi yêu cầu nhận được, kiểm tra xem trình duyệt ở máy khách yêu cầu gì. Nếu đó là các file bình thường (không phải là các file chứa các
- đoạn mã script thực thi phía máy chủ), nó sẽ tìm kiếm file đó và trả về cho trình duyệt ở máy khách. Còn nếu đó là các file chứa các đoạn mã script thực thi phía máy chủ (các chương trình CGI, hay các file thư viện liên kết động ISAPI, hoặc các file *.asp hay *.php), nó sẽ triệu gọi chương trình thực thi các đoạn mã này. Chương trình này sẽ chịu trách nhiệm chạy các đoạn mã, trả chúng về cho Web server dưới khuôn dạng của HTML. Sau đó, Web server mới trả kết quả lấy được cho trình duyệt. Như vậy, chương trình của bạn phải được thực thi trên máy chủ, sau đó mới được trả về cho trình duyêt. Và đây chính là cái gọi là "Trang Web động". Không như các trang web tĩnh, trang web động cho phép bạn có sự tương tác với máy chủ thông qua các đoạn script thực thi phía server. Nhờ có sự tương tác này, bạn có thể truy xuất cơ sở dữ liệu, lấy thông tin người sử dụng, điều khiển các hoạt động khác... OK. Bây giờ chắc bạn đã có được chút ít kiến thức với các hệ thống điều khiển Web Client - Server rồi. Đến lượt chúng ta bắt đầu phân tích chương trình đầu tiên kia. II. Phân tích chương trình Quay trở về đoạn mã trên. Điều đầu tiên các bạn cần phải biết, đó là các đoạn mã thực thi PHP luôn luôn được đặt trong thẻ . Chương trình xử lý phía máy chủ sẽ chỉ thực thi các đoạn mã nằm trong thẻ này. Tất cả các đoạn mã khác nằm ngoài thẻ trên đều không được xử lý trực tiếp trên server mà được đưa về trình duyệt. Điều thứ 2 bạn cần biết là chương trình của bạn phải được đặt trong các file *.php. Nếu bạn đặt nó vào file khác, thì đừng mong nó chạy nhé, vì nguyên tắc của chương trình Web server là chỉ triệu gọi các chương trình xử lý tương ứng với các file có đuôi xác định trước. Điều thứ 3 bạn cần biết là trong file *.php của bạn, ngoài các đoạn script PHP, bạn có thể đặt bất kỳ cái gì theo khuôn dạng HTML, kể cả các đoạn JavaScript chạy trên máy khách. Tức là ngoại trừ các đoạn script PHP ra thì nó không khác gì một file HTML thông thường Điều thứ 4 các bạn cần biết, là chúng ta có thể đặt nhiều đoạn mã xử lý PHP khác nhau trong cùng một file PHP. Các đoạn mã PHP này sẽ được thực thi lần lượt từ đầu file xuống dưới. Hãy xem ví dụ sau: Trích:
- ?> Xin chao tat ca cac ban, day la chuong trinh PHP dau tien cua toi Khởi đầu, chương trình xử lý phía Web server sẽ phân tích file PHP này, trả về đoạn mã Tiếp theo, khi thấy đoạn mã thứ nhất, nó sẽ thực thi và trả về dòng "hello, world" (Dòng này do hàm echo() của PHP thực hiện). Sau đó, nó tiếp tục trả về các dòng Xin chao tat ca cac ban, day la chuong trinh PHP dau tien cua toi Đến khi gặp đoạn PHP thứ 2, nó sẽ thực thực thi đoạn mã thứ 2 này (gọi hàm echo()) và trả về kết quả: " CMXQ " Hết đoạn mã thứ 2. Nó sẽ gửi tiếp phần còn lại của file về cho Web server. Sau đó, Web server chính thức trả toàn bộ kết quả về cho trình duyệt. Điều quan trọng cuối cùng: Kết thúc mỗi câu lệnh của PHP đều là một dấu chấm phẩy (";"), ngoại trừ một vài trường hợp (các bạn sẽ được biết sau này) Bây giờ tôi xin giải thích cách sử dụng hàm duy nhất trong bài này: echo() Hàm echo được sử dụng để trả về nội dung của các biến, hằng, chuỗi... cho trình duyệt. Ở ví dụ trên, hàm echo trả về chuỗi "hello, world" và chuỗi " Le Nguyen Sinh ". Các thẻ HTML trong chuỗi sẽ được giữ nguyên khi nó được đưa về trình duyệt, và nó sẽ được xử lý như các thẻ HTML khác. III. Một số lưu ý Dấu chú thích: Các đoạn chú thích rất hữu dụng trong các chương trình của bạn (chẳng hạn muốn chú thích câu lệnh này làm gì, đoạn chương trình này làm gì...). Khi phân tích mã PHP, các đoạn chú thích sẽ bị bỏ qua, nhưng một lập trình viên thì không bao giờ bỏ qua chúng
- Chúng ta có thể sử dụng một số dấu chú thích sau trong PHP: // dòng văn bản chú thích (chỉ áp dụng trên một dòng) /* Đoạn văn bản chú thích */ (nằm trong cặp /* và */ Lưu ý rằng các dấu chú thích này chỉ có hiệu lực trong các đoạn mã nhúng PHP thôi đấy nhé Ví dụ Ký tự giải phóng Hãy chú ý đến dòng chữ sau: My name's "CMXQ" Để in nó ra màn hình, chắc các bạn sẽ làm như sau:
- Dưới đây là một số các ký tự đặc biệt mà có thể được chỉ rõ với ký tự giải phóng gạch chéo Ký tự nối tiếp Nghĩa \' Dấu móc lửng (') \" Dấu móc kép (") \\ Dấu gạch chéo (\) \$ Dấu $ \n Ký tự tạo dòng mới \r Ký tự về đầu dòng \t Ký tự Tab Hãy xem ví dụ dưới đây (yêu cầu bạn tự tìm hiểu và phân tích mã nguồn)
- OK, bây giờ chúng ta chuẩn bị làm việc với các câu lệnh "xương sống" của một ngôn ngữ lập trình. Nếu bạn nào đã từng học qua một ngôn ngữ lập trình nào đó, thì các bạn có thể đọc lướt qua phần này. Còn nếu bây giờ bạn mới bắt đầu tiếp xúc với một ngôn ngữ lập trình thì... hãy chuẩn bị tinh thần đi Các câu lệnh trong ngôn ngữ lập trình Để lập trình giải một bài toán nào đó, chúng ta phải sử dụng các câu lệnh sau: 1. Lệnh gán: được sử dụng để đặt một giá trị vào một biến nào đó. 2. Lệnh rẽ nhánh: Được sử dụng để xác định xem chương trình sẽ thực hiện công việc gì trong điều kiện ra sao 3. Lệnh lặp: Cho phép chương trình của bạn tự động lặp lại các thao tác nào đó Quá trình xây dựng các bước để thực hiện một bài toán nào đó, gọi là quá trình xây dựng thuật giải. Ví dụ: Hãy tưởng tượng bạn đang ... nhậu Bước 0: chưa có ai say rượu Bước 1: Kêu chủ quán cho một chai "cuốc lủi" (tạm thời là lệnh gán) Bước 2: Khi còn chưa hết chai thì nhày sang bước 3: Bước 3: Mỗi thằng một chén, trăm phần trăm Bước 4: Nếu thằng nào xỉn, thì loại nó ra khỏi trận chiến (lệnh rẽ nhánh) Bước 5: Nếu tất cả đều xỉn: tàn cuộc (lệnh rẽ nhánh), còn nếu không thì tiếp tục Bước 6: Nếu hết một chai thì nhảy về bước 1 (Lệnh lặp) OK, đến giờ thì chắc bạn đã hiểu qua một chút. Bây giờ chúng ta sẽ ứng dụng chúng vào PHP. Phần về các câu lệnh cơ bản trong PHP được chia làm 2 bài là Các câu lệnh rẽ nhánh và các câu lệnh lặp. Bài này tập trung vào việc xử lý câu lệnh gán và rẽ nhánh. 1. Lệnh gán Lệnh này đã được học ở bài trước: Cú pháp: $ten_bien = gia_tri; Ví dụ: $ngay_sinh="1/4/1980"; $que_quan="Thanh Hoa"; $luong=300000; 2. Các câu lệnh rẽ nhánh Trong PHP có 2 dạng rẽ nhánh: rẽ hai nhánh (if) và rẽ nhiều nhánh. Lệnh rẽ nhánh là một trong những câu lệnh quan trọng nhất của tất cả các ngôn ngữ
- lập trình. Nó cho phép bạn thực thi một đoạn mã khi mà điều kiện chỉ định là đúng. Trong PHP, lệnh rẽ nhánh có dạng sau: if (điều kiện) { công việc cần làm } Ví dụ: if ($name="Sinh") { echo ("Good morning, my boss"); } Nếu khối câu lệnh cần làm chỉ bao gồm duy nhất một dòng lệnh, ta có thể bỏ cặp dấu {} : if ($name="Sinh") echo ("Good morning, my boss"); Nhưng nếu nhiều hơn một dòng lệnh, ta phải đưa chúng vào cặp dấu ngoặc {}: if ($name=="Sinh") { echo ("Good morning, my boss"); echo ("Have a romantic day!"); } Đoạn lệnh trên sẽ kiểm tra nếu điều kiện biến $name = "Sinh" thì nó sẽ hiển thị lời chào. Còn nếu không thì nó không làm gì cả! Điều kiện đặt vào có thể là đúng, có thể là sai, có thể là tổng hợp của nhiều điều kiện. Hãy xem ví dụ sau: if ("false" ) echo ("Khong co gi ca"); if (($name=="sinh") && ($pass=="test")) echo ($name. "đã nhập đúng password"); Đoạn lệnh trên có thể viết tương đương với: if ($name=="sinh") { if ($pass=="test") echo ($name. "đã nhập đúng password"); }
- Như bạn thấy ở trên, trong một câu lệnh, chúng ta có thể chèn nhiều đoạn lệnh khác, người ta gọi đó là cấu trúc khối, tức là trong một khối lệnh, có thể có chứa nhiều khối lệnh con khác. Nếu bạn phải đọc mã nguồn của người khác, hi vọng bạn không bị hoa mắt vì hàng chục khối lệnh chen chúc vào nhau như vậy. Chúng ta có thể sử dụng các toán tử &&, || hay xor để kết nối các điều kiện với nhau như bạn thấy ở trên Câu lệnh rẽ nhánh đầy đủ: Nếu điều kiện kiểm tra trả về false (sai), PHP cho phép chúng ta chỉ định thực thi một khối mã lệnh khác bằng từ khoá else Ví dụ: if (($name=="sinh") && ($pass=="test")) { echo ("Good day, ".$name); } else { echo {"Sai mat khau!") } Chú ý đến một ngoại lệ sau: Trước từ khoá else không bao giờ có dấu chấm phẩy (. Lệnh rẽ nhiều nhánh: Với câu lệnh if, PHP cho phép chúng ta rẽ nhiều nhánh thông qua từ khoá elseif: if (dieu_kien1) { doan_lenh_1; } elseif (dieu_kien_2) { doan_lenh_2 } elseif (dieu_kien_3) } // bao nhiêu từ khoá elseif cũng được else { doan_lenh_n } Ví dụ:
- if ($thu==2) { echo ("Chao co, van, su, ly"); } elseif ($thu==3) { echo (" Hoa, Sinh, Dia, GDCD"); } elseif ($thu==4) { echo ("KTCN, Van, Toan, Tieng Anh"); } elseif ($thu==5) { echo (" Hoa, Toan, Van, Tin"); } elseif ($thu==6) { echo ("Toan, Van, Anh, Sinh hoat"); } else { echo ("Duoc di choi"); } Trong ví dụ trên, chúng ta đã lặp đi lặp lại thao tác kiểm tra giá trị của biến $thu, mặc dù nó không thay đổi qua các dòng. Để khắc phục sự dài dòng này, PHP cho phép ta sử dụng câu lệnh switch. Câu lệnh này sẽ được sử dụng để kiểm tra khi muốn xem xét qua nhiều giá trị của một biến: switch ($bien){ Case gia_tri 1: doan_lenh_1; Case gia_tri 2: doan_lenh_2; Case gia_tri n: doan_lenh_n; default: doan_lenh_khac; } Ví dụ: switch ($thu){ case 2: echo ("Chao co, van, su, ly");
- case 3: echo (" Hoa, Sinh, Dia, GDCD"); case 4: echo ("KTCN, Van, Toan, Tieng Anh"); case 5: echo (" Hoa, Toan, Van, Tin"); case 6: echo ("Toan, Van, Anh, Sinh hoat"); default: echo ("Duoc di choi"); } Câu lệnh switch sẽ ước lượng giá trị của biến $thu, và so sánh nó với giá trị của mệnh đề case. Khi một giá trị hợp lệ được tìm thấy, nó sẽ thực hiện câu lệnh tương ứng với giá trị đó. Còn nếu không, nó sẽ tự động thực hiện câu lệnh trong mệnh đề default. Hãy chú ý rằng mệnh đề defaul là tuỳ chọn (bạn có thể có nó hoặc không cần nó)
- Lệnh điều khiển vòng lặp Điều khiển vòng lặp, tức là bạn điều khiển chương trình của bạn tự động thực hiện một đoạn mã lệnh nào đó lặp đi lặp lại nhiều lần (lặp một số lượng lần nào đó, hoặc lặp cho đến khi thoả mãn một điều kiện nào đó). PHP cung cấp cho chúng ta hai kiểu vòng lặp: vòng lặp while (lặp kiểm tra điều kiện, cho đến khi điều kiện được thoả mãn) và vòng lặp for (xác định số lần lặp lại) a) Vòng lặp while Vòng lặp while là một dạng vòng lặp đơn giản nhất, cấu trúc của nó gần giống như lệnh if: while (điều kiện) { //Khoi cau lenh can lap } Vòng lặp while sẽ ước lượng một biểu thức giá trị kiểu boolean (đúng hoặc sai).Nếu giá trị của biểu thức là false, đoạn mã trong cặp dấu ngoặc (đoạn mã cần lặp) sẽ được bỏ qua và nhảy đến đoạn mã sau vòng lặp. Nếu giá trị của nó là true, đoạn mã trong cặp dấu ngoặc sẽ được thực thi. Khi bắt gặp dấu ngoặc ôm ("}") , điều kiện kiểm tra sẽ được tính toán lại, và nếu giá trị vẫn là true, đoạn mã trong ngoặc lại tiếp tục được thực thi. Chú ý rằng điều kiện lặp chỉ được tính toán tại thời điểm bắt đầu lặp. Vì vậy, dù điều kiện lặp có bị thay đổi trong quá trình thực thi đoạn lệnh trong cặp dấu {} thì đoạn lệnh đó vẫn được tiếp tục thực hiện cho đến hết. Muốn dừng lại ở một vị trí xác định nào đó trong khối câu lệnh, chúng ta sử dụng lệnh break: Ví dụ1: Tính tổng từ 1 đến 5: Ví dụ 2: Đoạn mã sau sẽ hiển thị trên trình duyệt 3 ô textbox (Với điều kiện bạn phải save nó dưới một file *.php :
- b. Vòng lặp do...while Vòng lặp này giống như vòng lặp while, nhưng thay vì kiểm tra điều kiện vào lúc đầu của đoạn lệnh cần lặp, thì nó lại kiểm tra giá trị điều kiện vào cuối vòng lặp. Điều này có nghĩa là nó luôn luôn thực hiện đoạn lệnh cần lặp ít nhất một lần. Cấu trúc của nó như sau: do { Đoạn (khối) câu lệnh cần lặp } while (điều kiện); Ví dụ: Để xác định lại sự khác nhau của 2 câu lệnh trên, đơn giản bạn chỉ việc thay điều kiện $i
- bạn tự ngồi nghĩ. OK??? Quên mất, lúc nãy tôi đề cập đến lệnh break, nhưng chưa cho ví dụ, bây giờ chúng ta hãy xem xét ví dụ sau: Các bạn biết rằng giai thừa là một con số lớn kinh khủng, và chương trình của chúng ta sẽ tính toán n giai thừa, với số n được gửi đến theo địa chỉ url: Nhanhoa.com - Offline (ở đó x là một số do người dùng tự nhập) Do giai thừa là một con số cực kỳ lớn, nên chúng ta chỉ cho phép người dùng tính đến tối đa là 8 giai thừa chẳng hạn. Nếu họ nhập lớn hơn 8 thì sao? Hãy xem đây: Đoạn mã trên chỉ cho phép tính đến 8 giai thừa, nếu người dùng nhập một con số lớn hơn 8 thì máy sẽ hiển thị 8 giai thừa, còn nếu nhỏ hơn thì vẫn chạy tốt. c) Vòng lặp for. Vòng lặp for, với ý nghĩa đầu tiên là lặp với số lần định trước, có cấu trúc như sau: for ( $biến = giá_trị_đầu; $biến < (hay
- Biểu thức tính toán tăng_biến_đếm đảm bảo để sau một số lần lặp nào đó thì biểu thức xác định điều kiện (2) sẽ dẫn đến kết quả sai (để thoát khỏi vòng lặp). Ví dụ: for ( $i = 1; $i OK, Như vậy các bạn đã học qua các lệnh cơ bản nhất của php, và cũng là các lệnh cơ bản của tất cả các ngôn ngữ lập trình (gán, rẽ nhánh và lặp). Sau này nếu phải triển khai trên các ngôn ngữ lập trình khác, cách viết các lệnh này có thể khác nhau, nhưng bản chất của chúng thì mãi mãi không bao giờ thay đổi.
- I. Khái niệm hàm Hàm (function), nguyên nghĩa tiếng Anh có nghĩa là chức năng. Trong lập trình, ta có thể hiểu hàm là một đoạn chương trình được xây dựng để thực hiện một chức năng nào đó. Đoạn chương trình này chỉ cần phải viết duy nhất một lần, và có thể được sử dụng nhiều lần trong toàn bộ chương trình. Một hàm sẽ được xác định bởi tên hàm và các tham số đầu vào liên quan đến hàm đó. Thông thường, hàm sẽ trả về một kết quả nào đó. Chúng ta có thể tưởng tượng theo sơ đồ sau: Trích: Tham số đầu vào 1 | Tham số đầu vào 2 | Tham số đầu vào 3 | ---> tên hàm --> kết quả trả về sau khi gọi hàm. .... | Tham số đầu vào n | Như vậy một hàm sẽ nhận các thông tin đầu vào, xử lý nó và trả về kết quả nào đó. Trong PHP có rất nhiều hàm đã được xây dựng sẵn mà chúng ta chỉ việc đem ra sử dụng, như các hàm xử lý chuỗi, thời gian, xử lý tệp, thư mục... Xét về bản chất, một ngôn ngữ lập trình chỉ có ba câu lệnh chính là gán, lặp và rẽ nhánh. Việc sắp xếp các câu lệnh như thế nào để cho ra một kết quả gọi là một thuật toán (các bước để giải một bài tóan, đã được đề cập ở những bài đầu tiên) hay giải thuật. Và một chương trình sẽ là sự kết hợp của giải thuật và các cấu trúc dữ liệu. Để hỗ trợ các chương trình xử lý một số tình huống nào đó, người ta sử dụng các hàm. Các câu lệnh write của Pascal hay câu lệnh echo của PHP thực chất phải được gọi là các hàm chứ không phải là một câu lệnh. Để giải thích rõ hơn khái niệm hàm, ta quay trở lại với "câu lệnh" echo quen thuộc: Hàm echo(chuỗi) có tên là echo, tham số đầu vào là một chuỗi, và chức năng (kết quả mà nó trả về) là một dòng chữ (được lưu trong biến chuỗi) được trả về trình duyệt. II. Các hàm dựng sẵn và các hàm do người dùng tự xây dựng Các hàm dựng sẵn trong PHP (PHP Built-in functions) là các hàm đã được các nhà phát triển PHP cài đặt sẵn, và chúng ta chỉ việc đem ra sử dụng. Cần phân biệt các hàm này với các hàm do người dùng tự cài đặt (user functions). Các hàm do người dùng tự xây dựng chỉ có thể được dùng trong chương trình có chứa hàm đó. Khi chuyển qua một ứng dụng khác, nếu chúng ta không viết lại các hàm đó thì chúng ta sẽ không thể sử dụng.
- Một điểm mà tôi rất thích sử dụng PHP đó là PHP có một thư viện các hàm dựng sẵn vô cùng phong phú, đáp ứng được hầu hết nhu cầu phát triển các ứng dụng web. Đó chính là lý do vì sao mà PHP được ưa chuộng hơn hẳn so với ASP (chỉ có mấy cái đối tượng "quèn"). Các hàm dựng sẵn trong PHP cũng rất đơn giản, dễ dùng, và được chú thích, cũng như hướng dẫn rất chi tiết trong tài liệu PHP Manual.
CÓ THỂ BẠN MUỐN DOWNLOAD
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn