Cơ bản về lập trình PHP

Cơ bản về lập trình PHP là bài hướng dẫn sơ khởi về lập trình php, gồm cài đặt php, cách viết code, khai báo biến, kiểu dữ liệu…

PHP là gì

PHP ra đời năm 1994,  chữ PHP là viết tắt của từ  Hypertext Preprocessor. Đây là một công nghệ lập trình web mạnh và nổi tiếng ngày nay. Sau đây là một vài điểm tóm tắt cơ bản về lập trình PHP:

  • PHP là ngôn ngữ kịch bản (Scripting language), nghĩa là PHP ngôn ngữ thông dịch. Từng lệnh được máy kiểm tra cú pháp và thực thi khi chạy chứ không cần biên dịch trước toàn bộ chương trình.
  • Mã nguồn PHP là nguồn mở , không phải nguồn đóng.
  • PHP chạy ở phía máy chủ (server side) chứ không phải ở phía client như javascript.
  • Ngôn ngữ PHP được tạo ra để phát triển các ứng dụng web. PHP giúp tạo ra nội dung trang web ở phía server trước khi trả nội dung về cho client. Do đó có thể nói PHP là công nghệ lập trình Web động.
  • PHP có thể kết nối đến nhiều hệ quản trị cơ sở dữ liệu khác nhau như MySQL, MSSQL, Access, MongoDB, SQLite, PostGreSQL, Oracle…

Vì sao học PHP

PHP là ngôn ngữ script nên dễ học và dễ cài đặt vào máy. Cộng đồng PHP rộng lớn nên tài nguyên chia sẽ của người lập trình PHP là rất nhiều. Đa phần các tài nguyên chia sẽ là miễn phí. Cho nên PHP rất thích hợp với người mới bắt đầu bước vào thế giới lập trình web động.

Bạn có thể sử dụng PHP cho mục đích lập trình website ở các mức độ khác nhau. Từ các website đơn giản như

Các website đơn giản thường thấy trên mạng: như website tin tức ( tin tổng hợp như các báo mạng, tin chuyên ngành như mẹo vặt, phong thủy…)

Các website thương mai điện tử  hoàn toàn có thể viết bằng PHP dễ dàng như bán điện thoại, laptop, cây cảnh, thú cưng, …

Những website có nghiệp vụ phức tạp vẫn có thể dùng PHP để lập trình như website quản lý nhân sự, tiền lương, quản lý khách hàng, quản lý nhân viên, quản lý bệnh nhân…

Nhiều CMS miễn phí nổi tiếng trên mạng như WordPress, Joomla, Drupal, Magento,OpenCart… đều được viết bằng PHP.

Có rất framework được viết trên PHP, chúng cung cấp cho người lập trình web các công cụ nền tảng để phát triển website nhanh chóng mà không cần phải code PHP từ đầu trong các dự án website. Có thể kể đến các PHP Framework nổi tiếng như Laravel, CakePHP, Phalcon, Symfony, CogIgniter, Yii, FuelPHP …

PHP vẫn có thể được dùng để phát triển các website thuộc nhiều mảng khác nữa như REST API, xử lý ảnh, file, video…

Điều kiện để học php

Trước khi học PHP, bạn phải có kiến thức làm trang web với HTML, CSS, Javascript. Đó là những kiến thức làm web phía client phải biết trước khi lập trình ở phía server với PHP. Ngoài ta, cần biết cơ bản về database nữa nhé, Mysql đó.

Cài đặt PHP

Để lập trình web với PHP, bạn phải cài PHP vào máy để code. Sau khi website hoàn thành mới đưa lên host để mọi người sử dụng.

Nhưng không chỉ cài 1 mình PHP, bạn cần cài 1 bộ gồm 4 chương trình sau: Apache, PHP, Mysql và PhpMyadmin.

  • Apache là Web Server, đóng vai trò nhận request và trả kết quả trang web (response) cho user qua giao thức http.
  • PHP là chương trình giúp chạy code PHP để phát sinh nội dung trang web phía server.
  • MySQL là cơ sở dữ liệu để lưu trữ dữ liệu. PHP sẽ tương tác với Mysql để lấy, thêm,  dữ liệu trong các table.
  • phpMyAdmin là công cụ để quản trị Mysql.

Có thể cài đặt 4 tool trên bằng các chương trình miễn phí như Xampp, Wamp… Dùng Xampp rất tốt, muốn xem cách cài xampp thì nhắp link này.

Công cụ dùng để lập trình PHP (IDE)

Có rất nhiều công cụ dùng để viết code PHP, như NetBeans, Sublime Text, Visual Studio Code… Netbeans rất tốt nhưng chạy hơi chậm,  tuy nhiên Bạn dùng cái nào cũng được.

Php code

Code php được viết trong các file có tên mở rộng là .php. Các file .php này phải được lưu trong folder htdocs – là folder gốc của apache thì mới hoạt động được.

Ví dụ file php của bạn sanpham.php lưu trong folder c:\xampp\htdocs thì truy xuất bằng trình duyệt qua địa chỉ như sau http://localhost/sanpham.php

PHP code block

Trong file .php bạn viết rất nhiều lệnh PHP, mỗi lệnh kết thúc bằng dấu chấm phẩy ( ; ) .  Các lệnh PHP sẽ được đặt trong các khối code với dấu hiệu <?php … ?> . Ngoài ra trong file .php, bạn viết các mã html, css, javascipt như đã biết. Ví dụ:

<!--  trangchu.php -->
<head>
   <title>Trang web động php đầu tiên </title>
</head>
<body>
<b>
   <?php 
     echo "Chào bạn! "; 
     echo "Khỏe không bạn! "; 
   ?>
</b>
<hr>
<i>
  <?php echo 'Chúc an lành';  ?>
</i>
</body>

Chú thích trong php (comment)

Khi lập trình php, bạn thể diễn tả các chú thích để giài thích mã lệnh rõ ràng hơn. Cũng có khi chú thích để tạm bỏ qua các lệnh không muốn chạy.

<body>
<?php
  echo "<h3>Nghĩa của từ HTML là:</h3>"; //Xuất code html và nội dung  
  /*
  echo " - Hiển Thị Mau Lẹ <br>";
  echo " - Hao Tài Mãnh Liệt <br>";
  echo " - Học Tập máu Lửa ";
  */
?>
</body>

Xuất giá trị

Sử dụng lệnh echo hoặc print để cho hiện giá trị của các biến/biểu thức.

Lệnh echo trong php

Echo là lệnh hay dùng để xuất giá trị ,  lệnh này chỉ thực hiện mà không trả về giá trị nào. Có thể sử dụng hoặc không có dấu ngoặc đơn () và có thể hiện nhiều giá trị cách nhau bằng dấu phẩy (,)

<?php
echo ("<h3>Chân dung sinh viên IT</h3>");
echo "Cứ cắm cúi với cái máy tính<br>","Láb tới tấp với đống rối rắm<br>";
echo "Mắt cứ dán với cái đống code<br>" , "Lóc cóc suốt với mấy dấu nháy";
?>
</body>

Lệnh print trong php

Lệnh print  cũng dùng để xuất các giá trị hoặc biểu thức, có thể sử dụng có hoặc không có dấu ngoặc đơn (giống echo). Tuy nhiên print khác với echo ở chỗ, nó trả về giá trị 1. Ngoài ra không thể chuyển nhiều đối số cho print và print thì chậm hơn echo.

<?php
 print ("<p>Trước thềm trăng thanh tỏ </p>"); 
 $kq = print "Thầm thì tình tự tuôn"; // $kq là 1
?>

Sử dụng biến trong PHP

Sử dụng biến là điều rất cơ bản về lập trình PHP. Vì trang web nào cũng cần có các biến để lưu dữ liệu. Trong PHP, mỗi biến bắt đầu bằng dấu $. Ví dụ:

$n , $hoten, $tenKhachHang; Mỗi biến khi khai báo thì gán cho nó một giá trị khởi đầu theo cú pháp như sau:  $tênBiến = giá trị cần gán ;

<?php
   $n = 31;
   $tenKhachHang = "Lấp la lấp lánh sáng long lanh";
?>

Nếu sử dụng một biến chưa khai báo sẽ kích hoạt lỗi error exception.

<?php
   $title= "Sống đẹp";
   echo $title; // ok
   echo $pageTitle; // Warning: Undefined variable $pageTitle 
   echo $title;
?>

Kiểu dữ liệu trong PHP ( data type)

Trong PHP, giá trị trong các biến/biểu thức thuộc các kiểu sau: int, float, bool, string…

Kiểu Int

Là kiểu số nguyên, không có phần lẻ.

<?php
  $soluong = 5;
  $b = 0b10;  // 2 trong hẽ nhị phân
  $o = 0O10;  //  8 trong hẽ octal
  echo $h = 0x1A ; //số 26 trong hệ 16
?>

Kiểu Float

Là kiểu số thực, có phần lẻ

<?php  $diem = 7.5;  ?>

Kiểu bool

Là kiểu dữ liệu chỉ có 2 giá trị true, false. Biến $dau và $rot trong ví dụ sau thuộc kiểu bool

<?php
    $diem = 7.5;
    $dau = $diem >=5; //true 
    $rot  = $diem < 5; //false  
?>

Kiểu null

Đây là kiểu đặc biệt, cho biết biến chẳng có giá trị nào. Gán một biến là NULL bằng cách ghi $tenBiến = null;

<?php
   $giohang= null;
?>

Kiểu string

Là kiểu chuỗi ký tự. Các ký tự đặ trong dấu nháy đơn hoặc dấu nháy kép. PHP sẽ không điền giá trị biến trong các chuỗi dùng dấu nháy đơn.

<?php
   $sosp= 5;
   $title = "Giỏ hàng" ;
   $str = "$title có $sosp sản phẩm"; // Giỏ hàng có 5 sản phẩm
   $str = '$title có $sosp sản phẩm'; // $title có $sosp sản phẩm
?>

Nối chuỗi: là ghép nhiều chuỗi lại với nhau thành 1 chuỗi. Trong PHP bạn dùng dấu chấm (.) để nối chuỗi, cũng có thể ghép bằng phép toán .=

<?php
   $s1 = "Tuần trước thi trượt tuốt";
   $s2 = 'Tâm trạng thật tái tê';
   $t = $s1 . $s2; //Tuần trước thi trượt tuốtTâm trạng thật tái tê
   $t = $s1 ."<br>". $s2; 
   echo $s1 .= $s2; //Tuần trước thi trượt tuốtTâm trạng thật tái tê
?>

Các toán tử trong PHP (operators)

Chuyện rất cơ bản về lập trình PHP nữa đó là sử dụng các toán tử. Chúng được dùng để tính toán các giá trị để ra các giá trị mới cần có.

Toán tử số học trong php

Các toán tử này là +, -, *, /, %, **. Diễn tả chúng rất tự nhiên trong PHP, xem ví dụ sau

<?php
   $t1  = 5 + 3; //cộng ==> 8
   $t2 = 5 - 3 ;//  trừ ==> 2
   $t3 = 5 * 3 ; //nhân ==> 15
   $t4 = 5 / 3 ; //chia ==> 1.666
   $t5 = 5 % 2;  //chia lấy phần dư ==> 1
   $t6 = 5 ** 3 ; //5 lũy thữa 3 ==>  125
?>

Toán tử gán và gán kết hợp

Dùng dấu = để gán giá trị và có thể kết hợp với phép toán số học để gán giá trị mới cho biến.

<?php
   $x = 5;
   $x += 2 ; //7
   $x -= 3; //4
   $x *= 6; //24
   $x /=8 ; //3
   $x **=2; //9
   $x %= 4 ; //1; 
?>

Toán tử tăng, giảm trong php

Dùng (++) tăng 1 và (- – ) để giảm 1;

<?php
   $x = 5;
   $x++; //6
   $x-- ; //5
?>

++ và – có thể dùng ở trước hoặc sau một biến, khi đó sẽ có ý nghĩa khác nhau

<?php
   $x = 5;  
   $y = $x++; 
   echo $x, $y;  // 6 5
?>
<hr>
<?php
   $x = 5;  
   $y = ++$x; 
   echo $x, $y;  // 6 6
?>

Toán tử ++, – – có thể đặt trước hoặc sau các biến, ý nghĩa hơi khác. Nếu ++ đặt trước biến thì PHP sẽ tăng trước rồi mới dùng giá trị của biến, nếu ++ đặt sau biến thì giá trị của biến được dùng rồi sau đó mới tăng.

<?php
   $x = 5;  
   $y = $x++; 
   echo $x, $y;  // 6 5
?>
<hr>
<?php
   $x = 5;  
   $y = ++$x; 
   echo $x, $y;  // 6 6
?>

Toán tử so sánh

Kết quả của phép so sánh 2 giá trị sẽ trả về true hoặc false. Gồm so sánh bằng (giá trị), so sánh bằng (giá trị + kiểu), so sánh lớn hơn, nhỏ hơn, spaceship

<?php
   $diem = 9;
   $kq = ($diem == 9); //true, so sánh bằng giá trị
   $kq = ($diem === "9"); //false, so sánh bằng giá trị và kiểu
   $kq = ($diem != 9); //false, so sánh khác
   $kq = ($diem <> 9); //false , so sánh khác
   $kq = ($diem < 9); //false, , so sánh nhỏ hơn
   $kq = ($diem <= 9); //true , so sánh nhỏ hơn hoặc bằng
   $kq = ($diem > 9); //false, so sánh lớn hơn
   $kq = ($diem >= 9); //true , so sánh lớn hơn hoặc bằng
  
   //spaceship, 1: bên trái lớn hơn, 0: bằng, -1: bên phải lớn hơn
   $kq = ($diem <=> 9); //0 
   $kq = ($diem <=> 8); //1
   $kq = ($diem <=> 10); //-1
   $kq = ($diem <=> 9); //0 
?>

Toán tử logic

Có các toán tử logic trong PHP là && (còn gọi là toán tử AND) , || (còn gọi là toán tử OR)  và phép !  (phủ định)

&& là true nếu cả bên trái và bên phải là true, còn | là true nếu bên trái hoặc bên phải là true.

<?php
   $diem = 9;
   $x = (true && false ) ;// false
   $x = (true || false) ; //true
   $x = !true ; //false
?>

Thứ tự ưu tiên toán tử

<?php
   $x = 4 + 3 * 2 ; //10
   $x = (4 + 3) * 2 ; //14
?>

Chuỗi trong PHP

Trong PHP, chuỗi là mảng các ký tự được đánh số từ 0. Biến kiểu chuỗi được đặt trong nháy đơn hoặc nháy kép.  Ví dụ:

<?php
   $title= "Sống đẹp";
?>

Escape Characters

Được sử dụng để diễn tả các ký tự đặc biệt như dòng mới, ngoặc đơn, nháy, ký tự uinode…Bạn dùng dấu \ để diễn tả.

\n và \r là ký tự xuống hàng (khác với tag <br>) , \u để diễn tả ký tự unicode bằng mã, \f ít dùng để diễn tả page break

<?php
   echo "<p>Ký hiệu copyright là : \u{00A9}  </p>";
   echo "<p>Anh ơi ông nói nói: \"Ông có người yêu\" </p>";
   echo '<h4>Chân dung \'sanh diên\' IT</h4>';
   echo "<pre>Mắt cứ dán với cái đống code\nLóc cóc suốt với mấy dấu nháy</pre>";
?>

Truy xuất đến các ký tự trong chuỗi – Character reference

Với 1 chuỗi có nhiều ký tự, bạn có thể truy xuất đến từng ký tự trong chuỗi để lấy ra dùng hoặc thay bằng ký tự mới . Việc truy xuất ký tự trong chuỗi đơn giản là chỉ số của nó (tính từ 0)

<?php
   $str = "hi vong";
   $str[1]='y';
   echo $str; //hy vong
   echo $str[4];//o
?>

So sánh chuỗi

Hai chuỗi có thể dùng toán tử so sánh bằng để biết nội dung có giống nhau không.

<?php
   $str1 = "bao";
   $str2='banh';
   $kq = ($str1==$str2); //false
?>

Sử dụng $$ trong PHP

Trong PHP, bạn dùng $ để diễn tả 1 biến bình thường, còn dùng $$ khi cần lấy giá trị của biến và coi đó là tên của biến. Ví dụ:

<?php
   $toan = 6;  $van=8;
   $diem = 'van';
   $$diem =9;
   echo $van;
?>

Ép kiểu trong PHP

PHP tự động chuyển đổi kiểu dữ liệu của một biến khi cần thiết dựa trên ngữ cảnh mà nó được sử dụng. Vì lý do này, Bạn hiếm khi phải chuyển đổi kiểu. Tuy nhiên, bạn vẫn có thể ép kiểu nếu muốn . Ví dụ:

<?php
   $ketqua = false;
   $a = (int) $ketqua; //1
   $diem = "6";
   $kq = (int) $diem +1;
 ?>

Cơ bản về lập trình PHP không chỉ những vấn đề trên, còn nữa. Nhưng thôi , tới đây dừng nghỉ nhé. Đầu óc quay cuồng rồi cần nghỉ ngơi. 🙂 . Ai muốn đọc nữa thì có thể xem ở link sau: https://www.w3schools.com/php/php_examples.asp