Tải bản đầy đủ (.docx) (139 trang)

Thực tập chuyên môn Tim hiểu giới thiệu về PHP và cài đặt cấu hình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.58 MB, 139 trang )

21

THỰC TẬP CHUYÊN MÔN
I.
1.

Giới Thiệu PHP Và Cài Đặt Cấu Hình.

Giới Thiệu.
- PHP viết tắt của chữ Personal Home Page ra đời năm 1994 do phát minh cuûa
Rasmus Lerdorf, và nó tiếp tục được phát triển bởi nhiều cá nhân và tập thể
-

khác, do đó PHP được xem như một sản phẩm của mã nguồn mở.
PHP là kịch bản trình chủ (server script) chạy trên phía server (server side) như

-

các server script khác (asp, jsp, cold fusion).
PHP là kịch bản cho chúng ta xây dựng ứng dụng web trên mạng internet hay
intranet tương tác với mọi cơ sở dữ liệu nhờ mySQL, PostgreSQL, Oracle,

-

SQL Server và Access.
Lưu ý rằng, từ phiên bản 4.0 trở về sau mới hỗ trợ session, ngoài ra PHP cũng
như Perl là kịch bản sử lý chuỗi nhất chính vì vậy bạn có thể sử dụng PHP

trong những có yêu cầu sử lý chuỗi.
2. Cài Đặt PHP.
- Cài đặt PHP trên nền Windows thì sử dụng php-4.0.6-Win32.zip, sau khi cài


đặt ứng dụng này trên đĩa cứng sẽ xuất hiện thư mục PHP, trong trong thư mục
-

này sẽ có tập tin php4ts.dll và php.exe cùng với thư mục sessiondata.
Ngoài ra, trong thư mục WINDOW hoặc WINNT sẽ xuất hiện tập tin php.ini,
tập tin này cho phép bạn cấu hình cho ứng dụng PHP. Chẳng hạn, khi sử dụng
session, PHP cần 1 nơi để lưu trữ chúng, trong tập tin này mặc định là
session.save_path = C:\PHP\sessiondata, nếu bạm cài đặt PHP với thư mục

-

PHP trên Ổ D thì bạn cần thay đổi đường dẫn trong khai báo này.
Tương tự như vậy, khi có lỗi trong trang PHP thì lỗi thường xuất hiện khi triệu
gọi chúng, để che dấu các lỗi này bạn cần khai báo display_errors = Off thay vì

-

chúng ở trạng thái display_errors = On.
Ngoài ra, trang PHP cũng trình bầy 1 vài lỗi warning khi chúng phát hiện cú
pháp không hợp lệ, chính vì vậy nền che dấu các lỗi warning này thì bạn cũng

cần khai báo trạn thái Off thay vì On như assert.warning = Off.
3. Cấu hình.

LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN

-

Bạn có thể cài đặt Apache, PHP, MySQL và phpMyAdmin trên Windows để
làm web server trong khi bạn vẫn có thể sử dụng các ứng dụng khác như duyệt
web.

-

Việc cài đặt một web server để sử dụng localhost trên Windows 7, 8, 10 là điều
rất cần thiết để chạy thử nghiệm các trang web trước khi phát hành nó trực
tuyến. Nếu như bạn đang sử dụng một VPS Windows mà lại không tận dụng để
cài đặt một web server lên đó thì thật là đáng tiếc. Cũng như Ubuntu hay
CentOS, các web server như Apache, Nginx cũng được hỗ trợ để cài đặt trên
Windows.

-

Trong khi Apache có khả năng xử lý nội dung động (dynamic content) như
PHP một cách tuyệt vời thì Nginx lại có thế mạnh để xử lý các nội dung tĩnh
(static content) như hình ảnh, js, css… Nếu như bạn có một trang web có nhiều
nội dung tĩnh như một web ảnh thì sử dụng cài đặt Nginx là hợp lý nhất.

-

Apache là web server thông dụng nhất trên thế giới. Vì thế các mã nguồn được
hỗ trợ tốt trên Apache và đặc biệt là rất dễ dàng để sử dụng. Bài viết này sẽ
hướng dẫn bạn cài đặt Apache, PHP, MySQL và phpMyAdmin trên Windows
7, 8, 10 từ source Apache Lounge.

3.1.


Cấu hình IIS.
LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
3.2

Cài đặt Apache web server.

Bước 1: Download Apache từ source
-

Download Apache source từ Apache Lounge phiên bản 64 bit hoặc 32 bit.
Phiên bản mới nhất của Apache hiện tại là 2.4.16, file cần download là httpd-

-

2.4.16-win64-VC14.zip.
Bản Apache VC14 được build trên Visual C++ Redistributable for Visual
Studio 2015 (vc_redist_x64/86.exe) nên bạn cần phải cài đặt nó trên
Windows. Nếu bạn muốn cài đặt Apache trên Win XP thì hãy dùng bản Apache
VC10 vì bàn VC14 không hỗ trợ Win XP.

Bước 2: Cài đặt Apache
-

Sau khi download Apache từ source, hãy giải nén thư mục Apache24 vào ổ C.

Vì source này được build mặc định cho ổ C, nếu như bạn muốn cài đặt nó trên
ổ D hoặc USB hay bất kỳ đâu thì bạn cần phải thay đổi lại cấu hình
cho DocumentRoot… Vì các cấu hình hơi rắc rối nên mình sẽ để nó ở ổ C và

-

để tên folder là Apache24 theo mặc định.
Như vậy là quá trình cài đặt Apache đã hoàn thành. Để khởi động Apache, vào

-

thư mục C:\Apache24\bin và chạy file httpd.exe.
Bây giờ bạn có thể vào http://localhost để kiểm tra. Nếu như bạn nhìn thấy

-

dòng “It works!” là bạn đã cài đặt và chạy Apache thành công.
Có thể bạn sẽ nhìn thấy thông báo này khi chạy file httpd.exe:
AH00558: httpd.exe: Could not reliably determine the server’s fully qualified
domain name, using fe80::b93e:e93c:a570:f94a. Set the ‘ServerName’
directive globally to suppress this message

-

Đây chỉ là cảnh báo chứ không phải là lỗi. Để fix nó thì bạn cần phải gán giá
trị cho mục ServerName trong file C:\Apache24\conf\httpd.conf như sau:
#ServerName www.example.com:80

LƯƠNG TRUNG HIẾU – CNTT K55



21

THỰC TẬP CHUYÊN MÔN
-

Bỏ dấu “#” phía trước và thay đổi giá trị thành “localhost” hoặc domain của

bạn.
ServerName localhost. Bây giờ bạn có thể tắt cửa sổ httpd.exe và chạy lại file này
để khởi động Apache xem thử còn lỗi không nhé.
Bật mod_rewrite trong Apache trên localhost
Để sử dụng được Wordpress Permalink hoặc rewrite cho htaccess thì bạn cần
phải bật mod_rewrite trên localhost. Để bật mod_rewrite trong Apache, bạn

-

cần mở file C:\Apache24\conf\httpd.conf và tìm đoạn sau:
#LoadModule rewrite_module modules/mod_rewrite.so
Xóa dấu “#” ở trước để bật module này nhé. Sau khi xóa sẽ được như sau:
LoadModule rewrite_module modules/mod_rewrite.so
Tiếp theo bạn cần tìm đến đoạn như sau:
<Directory “c:/Apache24/htdocs”>
………………….
AllowOverride None
………………….
</Directory>
Sửa AllowOverride None thành AllowOverride All như sau:
<Directory “c:/Apache24/htdocs”>
………………….

AllowOverride All
………………….
</Directory>
Restart Apache và kiểm tra. Bạn cũng có thể bật mod_rewrite trong XAMPP,
WAMP, Appserv bằng cách làm tương tự.
Bước 3: Cài đặt service cho Apache

LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
Bạn có thể cài đặt để khởi động, restart, stop Apache thông qua một service
của Windows. Bạn cũng có thể khởi động Apache cùng với máy tính nếu
bạn muốn.
Mở Command Prompt hoặc cmd (Run as Administrator) và sử dụng các
lệnh sau:
cd C:\Apache24\bin
httpd -k install
Như ở trên, bạn cần đi đến thư mục bin của Apache (C:\Apache24\bin) và
sử dụng lệnh httpd -k install để cài đặt một service. Nếu thành công thì bạn
sẽ nhìn thấy thông báo như sau:
Installing the ‘Apache2.4‘ service
The ‘Apache2.4’ service is successfully installed.
Testing httpd.conf….
Errors reported here must be corrected before the service can be
started.
Theo mặc định thì Apache sẽ cài đặt service là “Apache2.4“. Bạn có thể cài
đặt tên service theo ý muốn bằng cách sử dụng lệnh sau:

httpd -k install -n "ten-service"
Bạn có thể start, stop hoặc restart Apache trên Windows bằng cách start,
stop hoặc restart service này ở Control Panel > Administrative
Tools > Services. Hoặc bạn có thể sử dụng lệnh để start và stop service của
Apache bằng cách mở Command Prompt hoặc cmd (Run as
Administrator) và sử dụng các lệnh sau:
# start Apache
net start Apache2.4

LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
# stop Apache
net stop Apache2.4
Mặc định thì service của Apache sẽ tự động khởi động cùng với Windows.
Điều đó có nghĩa là Apache sẽ tự khởi động khi bạn bật máy tính. Nếu bạn
muốn khởi động Apache thủ công, nhấn đúp vào service và thay đổi
mục Startup type thành Manual.
Để gỡ service này, sử dụng lệnh sau:
sc delete Apache2.4
Như vậy là bạn đã cài đặt Apache trên Windows xong. Tiếp theo bạn cần
cài đặt và cấu hình cho PHP hoạt động với Apache.
Cài đặt PHP
-

PHP có sẵn để cài đặt trên Windows và nó cũng được build với VC9, VC11,
VC14 của Apache Lounge. PHP có cả 2 bản 32 bit và 64 bit chứ không giống

như XAMPP chỉ có 32 bit. PHP không chỉ hỗ trợ cho Apache mà còn hỗ trợ
cho Nginx và IIS nữa nhé.

Bước 1: Download PHP cho Windows
Để cài đặt PHP trên Windows, bạn cần phải download PHP 5 hoặc PHP
7 cho Windows về máy. Sau đó giải nén vào một thư mục tùy ý và copy vào
ổ C. Ở đây mình sẽ dùng bản PHP 7 (64 bit) và giải nén ra thư mục là php.
Nếu bạn nào muốn sử dụng PHP như là một module (mod_php) của
Apache (Apache Handlers) thì download bản Thread Safe. Nếu bạn muốn
sử dụng PHP thông qua FastCGI thì download bản Non Thread Safe.
Cũng như Apache Lounge, PHP được build với VC9, VC11 và VC14 nên
bạn cần phải cài đặt các phần mềm tương ứng là Visual C++ 2008 SP1
Redistributable Package (32 bit hoặc 64 bit), Visual C++ Redistributable
for Visual Studio 2012 và Visual C++ Redistributable for Visual Studio
LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
2015. Nếu bạn muốn cài đặt Apache và PHP trên Windows XP, bạn chỉ có
thể sử dụng Apache VC10 và PHP 5.4 bản VC9.
Bước 2: Tạo file php.ini
Sau khi giải nén và copy thư mục php vào ổ C, bạn cần phải tạo
file php.ini để cấu hình cho PHP. Trong thư mục C:\php sẽ có file php.iniproduction, bạn nên copy file này và đổi tên thành php.ini nhé.
Bước 3: Bật module cho PHP
Sau khi đã tạo file php.ini thì bây giờ bạn có thể cấu hình cho PHP theo ý
bạn muốn. Ở đây mình chỉ hướng dẫn bạn bật các module cần thiết để chạy
trang web.
Để hỗ trợ các tính năng hay các function của PHP mà bạn cần, bạn phải bật

các PHP modules (extension) tương ứng. Ví dụ để sử dụng được CURL
trong PHP thì bạn phải bật php_curl hoặc muốn kết nối tới MySQL với
PHP thì phải bật php_mysqli vậy.
Các modules (extension) của PHP nằm trong thư mục ext. Để bật các
modules này thì bạn cần phải cấu hình file php.ini để khai báo thư
mục ext và các file modules.
Mở file php.ini và tìm đoạn sau:
; extension_dir = “ext”
Xóa dấu “;” ở trước đoạn trên:
extension_dir = “ext”
Để bật các modules (extensions) cho PHP, tìm đến những đoạn
như ;extension=php_bz2.dll và tương ứng với module mà bạn muốn bật,
sau đó xóa bỏ dấu “;” ở trước. Ví dụ ở đây mình sẽ bật
module gd, curl, mysqli, soap thì mình sẽ bật như sau:
extension=php_curl.dll
extension=php_gd2.dll
LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
extension=php_mysqli.dll
extension=php_soap.dll
Như vậy là bạn đã hoàn thành việc cài đặt PHP trên Windows rồi. Bây giờ
chỉ việc cấu hình để Apache có thể chạy được PHP thôi.
Cấu hình Apache chạy PHP
-

Để Apache có thể chạy được PHP, bạn cần phải cấu hình cho Apache sử dụng

mod_php hoặc sử dụng CGI để xử lý PHP. Ở đây mình sẽ hướng dẫn bạn cấu

-

hình để Apache có thể chạy PHP với hai phương pháp trên.
Nếu bạn muốn sử dụng mod_php, bạn cần phải tải về phiên bản Non Thread
Safe (NTS) của PHP. Nếu bạn muốn sử dụng FastCGI, bạn cần phải tải
về phiên bản Thread Safe (TS).

Sử dụng mod_php (Apache 2.0 Handler)
Cách dễ dàng nhất để Apache chạy PHP là sử dụng mod_php. PHP sẽ được xử lý
thông qua một module của PHP, ngay ở bên trong Apache và không cần đến một
máy chủ ở bên ngoài.
Sử dụng mod_php là nhanh hơn nhiều so với các máy chủ xử lý PHP khác như
CGI, FastCGI nhưng nó cũng có nhiều nhược điểm khác.
Để cấu hình cho Apache xử lý PHP sử dụng mod_php, bạn cần phải cấu hình trong
file C:\Apache24\conf\httpd.conf. Mở file httpd.conf và thêm đoạn sau vào cuối
cùng của file:
LoadModule php5_module "c:/php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "C:/php"
Trong thư mục C:/php của bạn sẽ có một file dạng như “php5apache2_4.dll”, bạn
cần phải thay thế tên file để có một cấu hình phù hợp cho bạn. Nếu bạn đang sử
dụng PHP 7, thì bạn cần phải thay đổi “php5_module” thành “php7_module” và
file php7apache2_4.dll.
LƯƠNG TRUNG HIẾU – CNTT K55


21


THỰC TẬP CHUYÊN MÔN
LoadModule php7_module "c:/php/php7apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "C:/php"
Cấu hình trên sẽ cho phép mod_php được load và sẽ xử lý PHP cho tất cả file nào
có chứa .php. Các file như vidu.php.txt cũng sẽ được xử lý như PHP, điều này là
không cần thiết và gây ra lãng phí. Để cấu hình cho Apache chỉ
LoadModule mod_php cho các file có đuôi cuối cùng là .php thì bạn cần sửa lại
như sau:
<FilesMatch \.php$>
LoadModule php7_module "c:/php/php7apache2_4.dll"
SetHandler application/x-httpd-php
</FilesMatch>
# configure the path to php.ini
PHPIniDir "C:/php"
Lưu file httpd.conf và restart Apache. Để kiểm tra Apache đã chạy được PHP hay
chưa, bạn cần tạo một file phpinfo.php trong C:\Apache24\htdocs với nội dung:
<?php phpinfo(); ?>
Sau đó vào http://localhost/phpinfo.php để kiểm tra.

LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
Nếu bạn thấy mục “Server API” là “Apache 2.0 Handler” thì bạn đã cấu hình
Apache chạy PHP sử dụng mod_php thành công.
Cấu hình Apache chạy PHP thông qua FastCGI
FastCGI là gì? FastCGI là một giao thức của các chương trình với một máy chủ

web. Đối với Apache và PHP thì FastCGI là một cổng giao tiếp giữa Apache và
PHP.
Để cấu hình Apache chạy PHP thông qua FastCGI, bạn cần phải sử dụng các
module hỗ trợ như mod_fcgid.
1. Đầu tiên bạn cần download mod_fcgid và giải nén để có file mod_fcgid.so. Bạn

cần phải phiên bản phù hợp với bản Apache bạn đang dùng. Ví dụ bạn đang
dùng Apache VC14 64 bit thì download bản mod_fcgid VC14 64 bit nhé.
2. Sau khi giải nén thì copy file mod_fcgid.so vào thư mục modules của Apache

tại C:\Apache24\modules.
3. Mở file cấu hình C:\Apache24\conf\httpd.conf và thêm đoạn sau vào cuối file:
1. LoadModule fcgid_module modules/mod_fcgid.so

2.
3. FcgidInitialEnv PATH

"c:/php;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System
32/Wbem;"
4. FcgidInitialEnv SystemRoot "C:/Windows"
5. FcgidInitialEnv SystemDrive "C:"
6. FcgidInitialEnv TEMP "C:/WINDOWS/Temp"
7. FcgidInitialEnv TMP "C:/WINDOWS/Temp"
8. FcgidInitialEnv windir "C:/WINDOWS"
9. FcgidIOTimeout 64
10. FcgidConnectTimeout 16
11. FcgidMaxRequestsPerProcess 1000

LƯƠNG TRUNG HIẾU – CNTT K55



21

THỰC TẬP CHUYÊN MÔN
12. FcgidMaxProcesses 50
13. FcgidMaxRequestLen 8131072
14. # Location php.ini:
15. FcgidInitialEnv PHPRC "c:/php"
16. FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000

17.
18. <Files ~ "\.php$>"
19. AddHandler fcgid-script .php
20. FcgidWrapper "c:/php/php-cgi.exe" .php
21. </Files>

Bạn chỉ được sử dụng một trong hai mod_fcgid hoặc mod_php để xử lý PHP
thôi nhé.
4. Trong file httpd.conf, tìm dòng sau và thêm ExecCGI vào cuối dòng đó:

Options Indexes FollowSymLinks ExecCGI
Sau khi chỉnh sửa thì bạn sẽ được như vầy:
<Directory "c:/Apache24/htdocs">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI
MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"

# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see

LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
# /># for more information.
#
Options Indexes FollowSymLinks ExecCGI
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
Nếu bạn không làm bước này, có thể bạn sẽ gặp lỗi 403 Forbidden.
Forbidden
You don’t have permission to access /phpinfo.php on this server.
5. Restart Apache.

Để kiểm tra Apache đã chạy được PHP hay chưa, bạn cần tạo một

file phpinfo.php trong C:\Apache24\htdocs với nội dung:
<?php phpinfo(); ?>
Sau đó vào http://localhost/phpinfo.php để kiểm tra.

LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN

Nếu bạn thấy mục “Server API” là “CGI/FastCGI” thì bạn đã cấu hình Apache
chạy PHP sử dụng FastCGI thành công.
Như vậy là bạn đã hoàn thành việc cấu hình để Apache chạy PHP thông
qua mod_php hoặc FastCGI.
Cài đặt MySQL
MySQL là một trình quản lý dữ liệu miễn phí và rất thông dụng trên thế giới.
MySQL có thể được cài đặt trên Ubuntu, CentOS và nhiều hệ điều hành khác.
Đối với Windows, thay vì cài đặt bằng gói MSI Installer, các bạn có thể cài đặt
MySQL trên Windows 7, 8, 10 từ source ZIP nhé.
Cài đặt phpMyAdmin
Sau khi cài đặt MySQL, bạn có thể cài đặt phpMyAdmin để quản lý MySQL dễ
dàng hơn. Vì phpMyAdmin được viết bằng PHP nên bạn có thể cài
đặt phpMyAdmin từ source ở bất kỳ đâu có hỗ trợ PHP và MySQL.
Bạn có thể cài đặt phpMyAdmin trên Windows, Ubuntu, CentOS hoặc trên host
một cách dễ dàng.
Như vậy là bạn đã hoàn thành việc cài đặt Apache, PHP, MySQL và phpMyAdmin
trên Windows. Bây giờ bạn có thể chạy thử nghiệm các trang web thoải mái. Chúc
bạn thành công!


LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
4. Giới thiệu PHP.
4.1.
Yêu cầu.
- PHP dựa trên cú pháp của người lập trình C, chính vì vậy khi làm việc với PHP

bạn phải là người có kiến thực về ngôn ngữ C, C++, Visual C. Nếu bạn xây
dựng ứng dụng PHP có kết nối cơ sở dữ liệu thì kiến thức cơ sở dữ liệu
MySQL, SQL Server hay Oracle là điều cần thiết.
4.2.
Giới thiệu.
- PHP là kịch bản trình chủ (Server Script) nó chạy trên nền PHP Engine, cùng
với ứng dụng Web Server để quản lý chúng. Web Server thường sử dụng là IIS,
Apache Web Server, ...
4.3.
Thông dịch.
- Khi người dùng gọi trang PHP, Web Server triệu gọi PHP Engine để thông dịch

(tương tự như ASP 3.0 chit thông dịch chứ không phải biên dịch) dịch trang
PHP và trả về kết quả cho người dụng như hình 1-9.

Hình 1-9: Quá trình thông dịch trang PHP
4.4.
Kịch bản.
- Nội dung của PHP có thể khai báo lẫn lộn với HTML, chính vì vậy bạn sử dụng cặp


dấu giá trị <? Php giá trị/ biể thức/ biến ?> để khai báo biến PHP. Chẳng hạn, chúng
-

ta khai báo:


1-giá trị biến Str: <? = $groupid ?>
2- giá trị biến i: <? = $i ?>
3- giá trị cụ thể: <? = 10 ?>

4.5.

Ghi chú.
LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
-

Ghi chú trong kịch bản PHP tương tự ngôn ngữ lập trình C, để ghi chú 1 dòng

-

thỉ bạn sử dụng cập dấu/.
Trong trường hợp khai báo nhiều dòng bạn có thể khai báo sử dụng dấu /* và

*/.
- Bạn có thể dùng # để khai báo 1 dòng

4.6.
In kết quả trên trang php.
- Khác với các kịch bản khác ASP, JSP, Perl, đối với PHP để in ra giá trị từ biến,
-

biểu thức, hàm, giá trị cụ thể thì bạn có thể dùng script như trên:
Tuy nhiên, để sử dụng cú pháp php in ra giá trị từ biến, biểu thức, hàm, giá trị
cụ thể thì sử dụng khai báo echo như sau:
$bien = ‘ví dụ php’;
echo $bien;
?>

II.

Cú Pháp Và Câu Lệnh Cơ Bản.

1. Cú pháp.

Cú pháp và ngữ nghĩa các hàm của PHP cũng tương tự như hầu hết các ngôn ngữ
lập trình khác (C, Java, Perl) chỉ khác là mã PHP được chứa trong một thẻ có dạng
như sau:
//code của bạn
?>

hoặc
//code của bạn
?>


Lưu ý là nếu sử dụng cách thứ hai trong file php.ini phải cấu hình short_open_tag=On. Nếu
bạn sử dụng sharehosting và muốn ứng dụng web của mình tương thích với các hosting thì

LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
nên khai báo theo cách 1. Để PHP Engine có thể thông dịch được file chứa mã nguồn PHP
phải được lưu dưới dạng .php thay vì .html
Hằng: Tương tự như trong những ngôn ngữ lập trình khác, hằng trong PHP cũng là một giá
trị được khai báo trước khi sử dụng. Nó phải bắt đầu bằng chữ cái hoặc dấu gạch dưới _ và
không được bắt đầu bằng số, nó có thể là một chuỗi. Hằng trong PHP được định nghĩa bằng
hàm define(). Nó không thay đổi và không được được định nghĩa lại.
Ví dụ:
define (“OS”, “Linux”);
echo “My operating system is “;
echo OS;
?>

Kết quả xuất ra: My operating system is Linux
2. Khai báo biến.

Biến: Không giống như hằng, biến không cần định nghĩa, có thể thay đổi trong chương trình.
Cách đặt tên của biến cũng giống như cách đặt tên của hằng. Biến phân biệt chữ hoa và chữ
thường. Tất cả biến trong PHP đều bắt đầu bằng dấu "$". PHP tự động hiểu các kiểu biến nên
người dùng không cần phải khai báo kiểu biến.

Ví dụ:
$movierate = 5;
echo "My movie rating for this movie is: ";
echo $movierate;
?>

Kết quả xuất ra: My movie rating for this movie is: 5
Truyền biến giữa các trang: Có bốn cách cơ bản để truyền biến giữa các trang: truyền biến
trong URL, qua session, cookie hoặc với một HTML form.
Truyền biến qua URL:

LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
Ví dụ: Để truyền giá trị 123 cho biến id và giá trị 4 cho biến category vào trong file
product.php ta sử dụng url sau:
/>Trong file product.php chúng ta sẽ tiến hành hiển thị giá trị của các biến này:
<html>
<body>
echo “ID of product is “;
echo $id;
echo “
”;
echo “Category id of product is “;
echo $categoryid;
?>

</body>
</html>

Kết quả xuất ra:
ID of product is 123
Category id of product is 4
3. Kiểu dữ liệu.
1. Kiểu dữ liệu INT

Chữ INT là viết tắt của chữ INTEGER, là một kiểu dữ liệu dạng số và có thể ở
viết ở nhiều cơ số khác nhau.
Ví dụ 1:
$thap_phan = 123; // Số thập phân
$so_am = -123; // Số âm
$bat_phan = 0123; // số bát phân
$thap_luc_phan = 0x1A; // và số thập lục phân
?>

LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
Kiểu số INT Chúng ta không dùng dấu nháy để bao quanh nó và kích thước của
kiểu INT là 32bit. Trong PHP không hỗ trợ nhiều kiểu Unsigned Integer (Số
nguyên dương) nên nếu bạn sử dụng vượt quá giới hạn của nó thì mặc nhiên trình
biên dịch sẽ hiểu đây là kiểu Float (số thực), tuy nhiên không phải lúc nào điều
này cũng đúng cho trường hợp số dương.

Khai báo biến kiểu INT
Để khai báo một biến kiểu INT bạn sẽ gán giá trị cho nó là số nguyên (kể cả số
âm).
Ví dụ 2:
$tuoi = 12; // biến $tuoi là kiểu INT có giá trị = 12
?>
Ép dữ liệu sang kiểu INT
Cú Pháp: (int)$ten_bien;
Ví dụ 3:
$tuoi = '98'; // biến tuổi là một chuỗi có giá trị bằng '98'
$tuoi = (int)$tuoi; // lúc này biến $tuoi là một kiểu int có giá trị 98
?>
Việc chuyển đổi này trong PHP đôi khi lại không cần thiết vì các kiểu dữ liệu
trong php tự động chuyển các biến sang các kiểu thích hợp để thực hiện phép
tính, tuy nhiên sau khi thực hiện tính toán thì biến đó sẽ tự chuyển lại kiểu dữ
liệu ban đầu.
Ví dụ 4:
LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
$a = '123'; // Biến $a là kiểu chuỗi có giá trị bằng '123'
$b = 123; // Biến $b là kiểu INT có giá trị bằng 123
$c = $a + $b; // Biến C là kết quả của phép toán $a + $b và sẽ có giá trị
là 246 nên nó là kiểu INT

var_dump(is_int($c)); // hàm is_int($tenbien) dùng để kiểm tra một biến
có phải là kiểu INT hay không
var_dump(is_int($a)); // kết quả là false vì biến $a là kiểu string
?>
Trong ví dụ này các bạn thấy biến $a là chuỗi còn biến $b là số, khi ta cộng 2 biến
lại thì các biến sẽ tự động chuyển sang kiểu số INT thích hợp để cộng, và kết quả


kiểu

INT

gán

vào

biến $c.

Để

kiểm

tra

bạn

dùng

dòng


lệnh var_dump(is_int($c));
để xuất ra màn hình kết quả kiểm tra.
Ví dụ 5:
$a = 'a123'; // biến $a có giá trị là chuỗi 'a123'
$a = (int)$a; // chuyển $a sang kiểu INT
echo $a; // kết quả xuất ra màn hình là số 0
?>
Chạy đoạn lệnh này các bạn sẽ thấy kết quả ra số 0. Tại sao? vì bạn thấy
biến $a có ký tự đầu tiên không phải ở dạng số nên nó sẽ tự động cắt bỏ tất cả
những ký tự đằng sau ký tự a nên chuỗi này rỗng, mà giá trị rỗng chuyển sang kiểu
INT có giá trị bằng không.
Ví dụ 6:
LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
$a = '123a'; // biến $a có giá trị là chuỗi '123a'
$a = (int)$a; // chuyển $a sang kiểu INT
echo $a; // kết quả xuất ra màn hình là số 123
?>
Chạy đoạn code này kết quả xuất ra màn hình là 123, cũng như giải thích ở trên nó
sẽ xóa các ký tự bắt đầu từ ký tự a nên chuỗi sẽ còn ’123′, chuyển sang kiểu INT
thành 123.
Kiểm tra dữ liệu có phải kiểu INT.
Để kiểm tra một biến nào đó có phải kiểu INT không bạn dùng 2
hàm is_int($bien) hoặc is_integer($bien). kết quả trả về giá trị True nếu là kiểu

INT và False nếu không phải kiểu INT.
2. Kiểu dữ liệu boolean
Đây là một kiểu dữ liệu đơn giản nhất trong các kiểu dữ liệu trong PHP, nó chỉ
chứa 2 giá trị là đúng hoặc sai (TRUE hoặc FALSE). Để tạo biến kiểu
boolean thì bạn gán giá trị cho nó là TRUE hoặc FALSE. Lưu ý TRUE, FALSE
không phân biệt hoa thường, nghĩa là bạn gõ thế nào cũng được miễn là đúng.
Ví dụ 7:
$is_admin = false; // biến $admin là kiểu boolean có gái trị là false
?>
Ép dữ liệu sang kiểu boolean.
Tương tự như kiểu INT bạn sử dụng (bool) hoặc (boolean) để ép kiểu sang kiểu
bool. Như vậy trong PHP thì bool và boolean là 2 từ khóa có cùng một ý nghĩa.
Ví dụ 8:
LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
$bool = 1; // biến $bool là kiểu int
$bool = (bool)$bool; // lúc này biến $bool sẽ có kiểu boolean
// Hoặc
$bool = (boolean)$bool; // lúc này biến $bool sẽ có kiểu boolean
?>
Các ký tự 0, ký tự trống và null đều được quy về giá trị FALSE, các ký tự còn lại
quy về TRUE. Việc chuyển đổi này đôi khi cũng không cần thiết vì php tự xem
xét giá trị và quy về TRUE hay FALSE.
Ví dụ 9:

$a = 123; // TRUE
$b = 0; // FALSE
$c = '0'; // FALSE
$d = 'a123b' // TRUE
$e = null; // FALSE
$f = ''; // FALSE
?>
Kiểm tra một biến kiểu boolean
Để kiểm tra một biến có phải kiểu boolean bạn dùng hàm is_bool($bien);để kiểm
tra, kết quả của hàm này trả về TRUE nếu là kiểu bool, ngược lại là false nếu
không phải kiểu bool.
3. Kiểu số thực
Hiểu một cách nôm na kiểu số thực là những số có phần dư, còn kiểu INT là
những số không dư phần nào, như số 1.234 là kiểu số thực, 1234 là kiểu số nguyên
(INT). Kích cỡ của nó phụ thuộc xác định phụ thuộc vào từng platform nhưng giá
LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
trị lớn nhất xấp xỉ 1.8e308, các kiểu dữ liệu trong php của kiểu số thực gồm có
kiểu float, double.
Ví dụ 10:
$a = 1.234; // Kiểu số thực
?>
Ép dữ liệu sang kiểu số thức.
Bạn dùng (float), (double) để chuyển kiểu dữ liệu sang số thực cho một biến

Ví dụ 11:
$a = 123; // biến $a kiểu int
$a = (float)$a; // Biến $a lúc này kiểu số thực (float)
$a = (double)$a; // Biến $a lúc này kiểu ố thực (double)
?>
Kiểm tra một biến kiểu số thực.
Để kiểm tra một biến phải kiểu số thực không bạn dùng hàm is_float($bien) để
kiểm tra cho kiểu float, is_double($bien) để kiểm tra cho kiểu double. Kết quả 2
hàm này trả về TRUE nếu đúng, FALSE nếu sai.
4. Kiểu chuỗi
Các kiểu dữ liệu trong php thì kiểu chuỗi mình gồm kiểu string (chuỗi) và char
(ký tự), mỗi ký tự là 1 byte và là một trong 256 ký tự khác nhau, để khai báo báo
các bạn chỉ việc khai báo một biến và gán giá trị chuỗi cho nó, chuỗi phải được
bao quanh bằng dấu nháy đơn ‘ hoặc dấu nháy kép “. Ép kiểu cũng như trên ta
dùng (string) để chuyển sang kiểu chuỗi.
LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
Ví dụ 12:
$a = 123; // khai báo biến $a kiểu int có giá trị 123
$a = (string)$a; //Chuyển biến $a thành kiểu chuỗi và có giá trị là '123'
?>
Kiểm tra một biến kiểu string
Để kiểm tra một biến kiểu chuỗi (string) ta dùng hàm is_string($bien), kết quả
hàm này trả về TRUE nếu đúng và FALSE nếu không đúng.

Nếu bạn muốn tìm hiểu thêm về chuỗi thì có thể xem bài các hàm xử lý chuỗi
trong php.
5. Kiểu mảng (array)
Mảng là danh sách các phần tử có cùng kiểu dữ liệu và nó là một trong các kiểu
dữ liệu trong php có độ phức tạp tính toán cao. Có 2 loại mảng là mảng một
chiều hoặc mảng nhiều chiều. Riêng với PHP thì các phần tử của mảng có thể
không cùng kiểu dữ liệu, và các phần tử của mảng được truy xuất thông qua các
chỉ mục(vị trí) của nó nằm trong mảng.
Khởi tạo và truy xuất các hần tử trong mảng
Để khai báo mảng ta dùng cú pháp sau:
$ten_mang = array(); // khởi tạo một mảng gán vào biến $ten_mang
?>
Giả sử tôi có 2 sinh viên là Nguyễn Văn A và Nguyễn Văn B, giờ tôi sẽ khởi tạo
một mảng $sinhvien để lưu 2 sinh viên này lại.

LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
NOTE: Các bạn dùng hàm var_dump($mang); để in ra các phần tử của mạng để
test trong quá trình học nhé. Hàm này có thể sử dụng được tất cả các kiểu dữ liệu
trong php.
Cách 1:
$sinhvien = array('Nguyễn Văn A', 'Nguyễn Văn B');
print_r($sinhvien);
?>

Cách 2:
$sinhvien = array(
0 => 'Nguyễn Văn A',
1 => 'Nguyễn Văn B'
);
print_r($sinhvien);
?>
Cách 3:
$sinhvien = array();
$sinhvien[0] = 'Nguyễn Văn A';
$sinhvien[1] = 'Nguyễn Văn B';
print_r($sinhvien);
?>
Cách 4:
$sinhvien = array();
LƯƠNG TRUNG HIẾU – CNTT K55


21

THỰC TẬP CHUYÊN MÔN
$sinhvien[] = 'Nguyễn văn A';
$sinhvien[] = 'Nguyễn Văn B';
print_r($sinhvien);
?>
Cả 4 cách đều có kết quả giống nhau nhưng cú pháp lại khác nhau.
Mảng có chỉ mục

Là mảng có các phần tử được định danh một chỉ mục (kiểu số) và bắt đầu bằng số
0 và phần tử cuối cùng có chỉ mục là (n-1), trong đó n là tổng số phần tử của
mảng. Điều này có nghĩa nếu mảng của bạn có 10 phần từ thì lần lượt các vị trí
phần tử trong mảng là: [0] – [1] – [2] – [3] – [4] – [5] – [6] – [7] – [8] – [9]
Quay lại 4 cách giải của ví dụ trên:
Với cách 1: Bạn khởi tạo một mảng và gán trực tiếp 2 phần từ vào, vì mảng bắt
đầu từ 0 nên nó tự hiểu phần tử đầu tiên có chỉ mục =0, và phần tử thứ 2 = 1.
Với cách 2: Bạn khởi taọ một mảng và gán trực tiếp 2 phần tử vào, nhưng lúc gán
bạn có ghi rõ các chỉ mục cho từng phần tử.
Với cách 3: Ban khởi tạo một mảng rỗng. sau đó bạn dùng 2 lệnh để gán 2 phần tử
vào, mỗi lệnh gán bạn có chỉ rõ chỉ mục.
Với cách 4: Bạn khởi tạo một mảng rỗng, sau đó bạn dùng 2 lệnh gán 2 phần tử
vào nhưng bạn lại không chỉ rõ chỉ mục, lúc này PHP sẽ kiểm tra thấy mảng đang
rỗng nên phần tử đầu tiên nó sẽ mặc định gán chỉ mục = 0, và phần tử tiếp theo sẽ
bằng phần tử trước nó + 1 tức là sẽ = 1.
Để truy xuất các phần tử của mảng chỉ mục ta dùng cú pháp
sau: $tenmang[$index]; trong đó $index là chỉ mục bạn muốn lấy.

LƯƠNG TRUNG HIẾU – CNTT K55


×