Giới thiệu
Tiếp theo nội dung của bài trước, trong bài này chúng ta cùng nhau tìm hiểu một số kỹ thuật lập trình cơ bản trong PHP đồng thời tìm hiểu một số chức năng cần thiết trong Eclipse IDE.
Chúng ta thực hiện tiếp Yêu cầu 2 và Yêu cầu 3 của bài toán cơ bản thông qua những kỹ thuật về lập trình:
- Kỹ thuật vòng lặp
forkiểu mới.
- Câu lệnh điều khiển và rẽ nhánh.
- Các toán tử cơ bản.
- Định nghĩa và thực thi các phương thức.
Chúng ta cũng tìm hiểu phương pháp debug trong Eclipse IDE để kiểm tra từng câu lệnh cũng như bắt lỗi.
Những kỹ thuật được trình bày sẽ mang tính phổ quát và độc lập ngôn ngữ lập trình. Điều đó có nghĩa rằng chúng ta có thể áp dụng ý tưởng từ các kỹ thuật này khi tìm hiểu các ngôn ngữ khác như Java / C# / Python.
Xây dựng phương thức trong PHP
Một phương thức trong PHP là một khối các câu lệnh có tên và có thể được thực thi bằng cách gọi từ một nơi khác trong chương trình.
Cấu trúc cú pháp của một phương thức như sau:
function tên_phương_thức (danh_sách_tham_số) [: kiểu_dữ_liệu_trả_về] {
// Thực hiện công việc
}
Chúng ta có hai dạng phương thức chính:
- Dạng phương thức không trả về kết quả.
- Dạng phương thức có trả về kết quả.
Xây dựng phương thức không trả về kết quả
Bước 1.
Chúng ta thực hiện việc tạo một PHP Project mới trong Eclipse IDE.
Chúng ta tiếp tục thực hiện việc tạo file index.php.
Màn hình giao diện Eclipse IDE hiển thị nội dung của file index.php hiện ra.

Bước 2.
Chúng ta thực hiện việc tạo folder baitap và file BaiCoBan.php.
Chúng ta tiếp tục tạo phương thức:
function tinhTong() {}

Bước 3.
Nội dung đầu tiên bên trong phương thức tinhTong() như sau:

Bước 4.
Nội dung thứ hai bên trong phương thức tinhTong() như sau:

Bước 5.
Nội dung thứ ba bên trong phương thức tinhTong() như sau:

Ở đây chúng ta có một số điểm cần chú ý:
Thứ nhất, kỹ thuật lặpformới.
Cú pháp cho kỹ thuật lặp for mới như sau:
foreach (danh_sách as phần_tử) {
// Thực hiện công việc
}
Ý nghĩa của cú pháp trên: hệ thống tự động truy xuất lần lượt từng phần tử trong danh_sách và gán giá trị cho phần_tử.
Thứ hai, câu lệnh điều kiện và rẽ nhánh.
Câu lệnh điều kiện thứ nhất là if có cấu trúc cú pháp như sau:
if (điều_kiện_1) {
// Thực thi công việc nếu điều_kiện_1 là đúng
} elseif (điều_kiện_2) {
// Thực thi công việc nếu điều_kiện_2 là đúng
} else {
// Thực thi công việc nếu cả điều_kiện_1 và điều_kiện_2 đều sai
}
Chú ý rằng tùy trường hợp chúng ta mới cần đến rẽ nhánh elseif hoặc else.
Câu lệnh điều khiển thứ hai là switch có cấu trúc cú pháp như sau:
switch(biểu_thức) {
case giá_trị_1:
// thực thi công việc nếu giá trị của biểu_thức trùng với giá_trị_1
break;
case giá_trị_2:
// thực thi công việc nếu giá trị của biểu_thức trùng với giá_trị_2
break;
default:
// thực thi công việc nếu giá trị của biểu_thức khác với các giá trị bên trên
}
Chúng ta có một số chú ý ở đây:
- Từ khóa
breakthực hiện thoát khỏi một đoạn chương trình bên trong cặp{}hoặc một vòng lặp.
- Từ khóa
defaultđược sử dụng tùy trường hợp cần thiết.
Thứ ba, một số toán tử cơ bản.
- Toán tử
+. Thực hiện phép cộng:$x + $y.
- Toán tử
–. Thực hiện phép trừ:$x – $y.
- Toán tử
*. Thực hiện phép nhân:$x * $y.
- Toán tử
/. Thực hiện phép chia:$x / $y.
- Toán tử
%. Thực hiện phép chia lấy số dư:$x % $y.
- Toán tử
++. Thực hiện phép cộng thêm 1 vào số:$x ++.
- Toán tử
--. Thực hiện phép trừ đi 1 vào số:$x --.
Bước 6.
Nội dung thứ tư bên trong phương thức tinhTong() như sau:

Bước 7.
Chúng ta thực thi phương thức tinhTong() trong file index.php như sau:

Xây dựng phương thức có trả về kết quả
Bước 1.
Đối với phương thức tinhTong() có trả về kết quả, chúng ta có một số chú ý như sau:
- Ở đây do chúng ta thực hiện tính tổng các số tự nhiên nên kiểu dữ liệu của kết quả được trả về là
int.
- Chúng ta có thể cung cấp tham số cho phương thức này. Ở đây chúng ta cung cấp tham số là mảng
int[] tapHopđể thực hiện việc tính tổng các số tự nhiên.
- Do là có trả về kết quả nên ở câu lệnh cuối chúng ta sử dụng từ khóa
return. Ở đây chúng ta thực hiệnreturn tong.

Bước 2.
Trong file index.php, chúng ta thực hiện một số nội dung trước khi thực thi phương thức tinhTongSoChan().

Chúng ta chú ý rằng nên định nghĩa một biến để lưu giá trị được trả về của phương thức tinhTongSoChan().
Bước 3.
Chúng ta lựa chọn chức năng Run → Run Configurations để thực hiện cấu hình thực thi project.
Màn hình Run Configurations hiện ra.
Chúng ta lựa chọn nút New trong tab Server / Server để tạo mới PHP Web Server.

Bước 4.
Màn hình PHP Server Creation hiện ra.
Chúng ta nhập thông tin tương tự như sau:
Server Name: lampstack-7.3.6-1
Base URL: http://localhost:8080
Document Root: /home/homes/lampstack-7.3.6-1/apache2/htdocs/WorkspacePHP
Những điểm đáng chú ý ở đây:
Server Name. Chúng ta có thể đặt tên tùy ý. Ví dụ ở đây chúng ta đang xây dựng các phần mềm Web bằng PHP dựa theo bộLAMP Stackthì đặt tên như trên cho dễ hình dung.
Base URL. Mặc định thìApache Web Servertrong bộLAMP Stackthiết lập cổng là8080.
Document Root. Đây là đường dẫn đến thư mục lưu trữ và thực thi các phần mềm Web bằng PHP bên trongapache2/htdocs.
Chúng ta lựa chọn nút Next > để tiếp tục.

Bước 5.
Màn hình thiết lập các thông số về debug hiện ra.
Chúng ta lựa chọn và nhập các thông tin như sau:
Debugger: Xdebug
Port: 9000
Chúng ta lựa chọn nút Finish để thực hiện.

Bước 6.
Màn hình Run Configurations hiện ra với các thông tin đã được cấu hình lại.
Chúng ta lựa chọn file index.php là file đầu tiên được thực thi.

Bước 7.
Chúng ta thực thi toàn bộ project để thử nghiệm những đoạn mã nguồn PHP được xây dựng bên trên:

Thực hiện Debug để kiểm tra các dòng lệnh và bắt lỗi trong Eclipse IDE
Bước 1.
Chúng ta mở file php.ini trong thư mục lampstack-7.3.6-1/php/etc/.
Chúng ta thực hiện mở chức năng xdebug bằng cách bỏ các dấu ; đứng trước các dòng cấu hình.
Sau đó chúng ta khởi động lại Apache Web Server để xác nhận.

Bước 2.
Chúng ta bổ sung phương thức phpinfo() trong file index.php để kiểm tra xem chức năng xdebug đã được khởi động lên chưa.
Chúng ta kiểm tra trên trình duyệt nếu xuất hiện các thông tin về xdebug thì là đúng.

Bước 3.
Chúng ta nhấn đôi chuột trái vào cột bên trái của dòng lệnh muốn bắt đầu thực hiện debug.
Một chấm nhỏ màu xanh sẽ xuất hiện ngay vị trí dòng lệnh này:

Bước 4.
Chúng ta chú ý đến nút hình con bọ trên thanh Toolbars và nút mũi tên ngay bên phải.

Bước 5.
Chúng ta lựa chọn thực hiện chức năng debug project khi nhấn vào nút mũi tên.

Bước 6.
Màn hình thông báo về việc lựa chọn chuyển sang giao diện debug hiện ra.
Chúng ta lựa chọn nút Switch để chuyển sang giao diện debug.

Bước 7.
Giao diện debug PHP của Eclipse IDE hiện ra.
Chúng ta nhận thấy dòng lệnh đầu tiên của file index.php đã được tô đậm màu xanh lá cây.
Trong phần màn hình ở góc bên phải, giá trị của các biến được định nghĩa bên trong phương thức đang được debug sẽ được hiển thị. Chú ý rằng chỉ những biến được định nghĩa trước dòng lệnh đang được debug mới được hiển thị.

Bước 8.
Chúng ta có thể nhấn menu Run trên thanh Toolbars để tham khảo các chức năng cơ bản cho tác vụ debug:
- Chức năng
Terminatevới cặp phímCtrl + F2. Chấm dứt tác vụdebugtại thời điểm hiện tại.
- Chức năng
Step Intovới phímF5. Thực hiện lần lượt chuyển đến phương thức gặp phải tại dòng lệnh đang đượcdebug.
- Chức năng
Step Overvới phímF6. Thực thi dòng lệnh hiện tại và chuyển tiếp đến dòng lệnh tiếp theo bên dưới.
- Chức năng
Run to Linevới cặp phímCtrl + R. Thực thi các dòng lệnh liên tiếp và chuyển đến dòng lệnh đang đặt con trỏ chuột.

Bước 9.
Chúng ta thực hiện để con trỏ chuột tại dòng lệnh muốn debug ở Bước 3.
Chúng ta thực hiện chức năng Run to Line với phím F5 tại dòng lệnh này.

Bước 10.
Chúng ta thực hiện chức năng Step Over với phím F6 tại một số dòng lệnh liên tiếp.
Chúng ta thử dừng lại tại dòng lệnh:
$tong += $phanTu;
Chúng ta chú ý tab Variables ở phần màn hình bên phải.
Giá trị của các biến được định nghĩa trước dòng lệnh hiện tại đã được hiển thị chi tiết.

Bước 11.
Chúng ta thử thực hiện chức năng Terminate với cặp phím Ctrl + F2.
Chúng ta nhận thấy tác vụ debug được dừng lại.
Một chú ý là chúng ta mới chỉ tạm dừng chức năng debug và phần màn hình bên trái có xuất hiện:
PHP Applications (Waiting…)

Bước 12.
Chúng ta kiểm tra trình duyệt nội tại.
Những kết quả được thực thi cho đến dòng lệnh hiện tại được hiển thị ra.

Bước 13.
Chúng ta tiếp tục thực hiện chức năng Terminate với cặp phím Ctrl + F2.
Chúng ta nhận thấy tác vụ debug được dừng lại hoàn toàn.
Kết quả được hiển thị như sau:

Tổng kết
Trong bài này, chúng ta đã cùng nhau tìm hiểu một số kỹ thuật lập trình cơ bản trong PHP đồng thời tìm hiểu một số chức năng cần thiết trong Eclipse IDE.
Hy vọng rằng chúng ta có thể áp dụng phù hợp những kỹ thuật và chức năng này cho những bài tiếp theo.





















































