SlideShare a Scribd company logo
1 of 59
Download to read offline
LOGO


       Ứng dụng phân tán – Xây dựng UD Web




                                       Chủ đề 3
                   PHP Cơ bản

                       GV:	
  Nguyễn	
  Trường	
  Sơn	
  
Nội dung

•  Giới	
  thiệu	
  PHP	
  
•  Cơ	
  chế	
  hoạt	
  động	
  của	
  WebServer	
  
•  Cú	
  pháp	
  &	
  Quy	
  ước	
  trong	
  PHP	
  




2	
  
Nội dung

•  Giới	
  thiệu	
  PHP	
  
•  Cơ	
  chế	
  hoạt	
  động	
  của	
  WebServer	
  
•  Cú	
  pháp	
  &	
  Quy	
  ước	
  trong	
  PHP	
  




3	
  
Giới thiệu về PHP – Lịch sử phát triển


        •    PHP	
  :	
  Rasmus	
  Lerdorf	
  in	
  1994	
  (được	
  phát	
  triển	
  để	
  phát	
  sinh	
  các	
  form	
  đăng	
  nhập	
  sử	
  
             dụng	
  giao	
  thức	
  HTTP	
  của	
  Unix)	
  

        •    PHP	
  2	
  (1995)	
  :	
  Chuyển	
  sang	
  ngôn	
  ngữ	
  script	
  xử	
  lý	
  trên	
  server.	
  Hỗ	
  trợ	
  CSDL,	
  Upload	
  File,	
  
             khai	
  báo	
  biến,	
  mảng,	
  hàm	
  đệ	
  quy,	
  câu	
  điều	
  kiện,	
  biểu	
  thức,	
  …	
  

        •    PHP	
  3	
  (1998)	
  :	
  Hỗ	
  trợ	
  ODBC,	
  đa	
  hệ	
  điều	
  hành,	
  giao	
  thức	
  email	
  (SNMP,	
  IMAP),	
  bộ	
  phân	
  
             wch	
  mã	
  PHP	
  (parser)	
  của	
  Zeev	
  Suraski	
  và	
  Andi	
  Gutmans	
  

        •    PHP	
  4	
  (2000)	
  :	
  Trợ	
  thành	
  một	
  thành	
  phần	
  độc	
  lập	
  cho	
  các	
  webserver.	
  Parse	
  đổi	
  tên	
  
             thành	
  Zend	
  Engine.	
  Bổ	
  sung	
  các	
  wnh	
  năng	
  bảo	
  mật	
  cho	
  PHP	
  
        •    PHP	
  5	
  (2005)	
  :	
  Bổ	
  sung	
  Zend	
  Engine	
  II	
  hỗ	
  trợ	
  lập	
  trình	
  HĐT,	
  XML,	
  SOAP	
  cho	
  Web	
  
             Services,	
  SQLite	
  

        •    Phiên	
  bản	
  mới	
  nhất	
  của	
  PHP	
  là	
  version	
  PHP	
  5.3.0	
  (www.php.net)	
  



4	
  
Giới thiệu về PHP – PHP là gì ?


        •  PHP	
  viết	
  tắt	
  của	
  PHP	
  Hypertext	
  Preprocessor	
  	
  

        •  Là	
  ngôn	
  ngữ	
  server-­‐side	
  script,	
  tương	
  tự	
  như	
  ASP,	
  
           ASP.NET,	
  JSP,	
  …	
  thực	
  thi	
  ở	
  phía	
  WebServer	
  
                                                                              Ưu điểm
                                                                               PHP ?
        •  Tập	
  ‡n	
  PHP	
  có	
  phần	
  mở	
  rộng	
  là	
  .php	
  (php3	
  

        •  Cú	
  pháp	
  ngôn	
  ngữ	
  giống	
  ngôn	
  ngữ	
  C	
  &	
  Perl	
  

        •  Web	
  Server:	
  Máy	
  phục	
  vụ	
  web	
  

5	
  
Giới thiệu về PHP – Ưu điểm 1

•  PHP	
  được	
  sử	
  dụng	
  làm:	
  	
  

        –  Server	
  Side	
  Scrip‡ng	
  

        –  CommandLine	
  Scrip‡ng	
  (cron	
  –	
  Linux,	
  Task	
  Scheduler	
  –	
  

           Windows,	
  Text	
  Processing)	
  

        –  Xây	
  dựng	
  ứng	
  Desktop	
  –	
  PHP	
  GTK	
  




6	
  
Giới thiệu về PHP – Ưu điểm 2

        •  Đa	
  môi	
  trường	
  (MulK-­‐PlaLorm)	
  
            –  Web	
  Servers:	
  Apache,	
  Microso•	
  IIS,	
  Caudium,	
  Netscape	
  
               Enterprise	
  Server	
  

            –  Hệ	
  điều	
  hành:	
  UNIX	
  (HP-­‐UX,	
  OpenBSD,	
  Solaris,	
  Linux),	
  Mac	
  
               OSX,	
  Windows	
  NT/98/2000/XP/2003/vista	
  

            –  Hệ	
  QTCSDL:	
  Adabas	
  D,	
  dBase,Empress,	
  FilePro	
  (read-­‐only),	
  
               Hyperwave,	
  IBM	
  DB2,	
  Informix,	
  Ingres,	
  InterBase,	
  FrontBase,	
  
               mSQL,	
  Direct	
  MS-­‐SQL,	
  MySQL,	
  ODBC,	
  Oracle	
  (OCI7	
  and	
  OCI8),	
  
               Ovrimos,	
  PostgreSQL,	
  SQLite,	
  Solid,	
  Sybase,	
  Velocis,Unix	
  dbm	
  	
  


7	
  
Giới thiệu về PHP – Ưu điểm 3

        •  Miễn	
  phí	
  	
  
                                         PHP
                  So•ware                Free

                  Pla“orm                Free	
  (Linux)


                  Development	
  Tools   Free	
  (PHP	
  Coder,	
  jEdit,	
  …)




8	
  
Giới thiệu về PHP – Ưu điểm 4

        •  Được	
  sử	
  dụng	
  rộng	
  rãi	
  trong	
  môi	
  trường	
  phát	
  triển	
  web	
  
              –  20,917,850	
  domains	
  (chiếm	
  hơn	
  32%	
  tên	
  miền	
  
                    website)	
  
              –  1,224,183	
  IP	
  addresses	
  	
  
                	
  (04/2007	
  Netcra•	
  Survey	
  –	
  h*p://www.php.net/usage.php)	
  




9	
  
Giới thiệu về PHP – Một số website lớn




                                        PHP at Yahoo!
                                            http://www.yahoo.com

                            The Internet’s most trafficked site



                                                                   Course Management System
   Portal                          Portal
                                                                                                Wiki



Customer Relationship Management   e-Commerce
                                                                            Portal




                  Bulletin Board                        Content Management System             Help Desk
   10	
  
Giới thiệu về PHP – Cần gì để chạy PHP ?


•  Download	
  PHP	
  
         –  Download	
  PHP	
  for	
  free	
  here:	
  	
  
            h–p://www.php.net/downloads.php	
  
•  Download	
  MySQL	
  Database	
  
         –  Download	
  MySQL	
  for	
  free	
  here:	
  h–p://www.mysql.com/downloads/
            index.html	
  
•  Download	
  Apache	
  Server	
  
         –  Download	
  Apache	
  for	
  free	
  here:	
  
            h–p://h–pd.apache.org/download.cgi	
  


à	
  Download	
  WAMP,LAMP	
  

11	
  
Nội dung

•  Giới	
  thiệu	
  PHP	
  
•  Cơ	
  chế	
  hoạt	
  động	
  của	
  WebServer	
  
•  Cú	
  pháp	
  &	
  Quy	
  ước	
  trong	
  PHP	
  




12	
  
Cơ chế hoạt động của WebServer



                               Internet    WWW Servers


                               (WWW)
         Users (clients)
            Browse
                                            4
                                           4resources
                                            (HTML files)
                           Authors write
                              HTML
13	
  
Cơ chế hoạt động của WebServer



                                    www.example.com
                                      Webserver                  Apache	
  
                                                                  or	
  IIS	
  
             2                                                        	
  
                   Internet                                           	
  
   HTML           or Intranet
                                                                      	
  
                                7                      6                                       3
                                                                      	
  
                                                      ServerSide	
  Script	
  Parser	
  	
  
                                                           (PHP,	
  ASP,	
  ..)	
  



                                                  5                                            4



                                                      Database                     Disk
                                                       Server                     driver

14	
  
Cơ chế hoạt động của WebServer




15	
  
Cơ chế hoạt động
                                                              www.example.com
         www.example.com/helloworld.php                         Webserver


HTML
                       HTML




                                                             Helloworld.php	
  
                  <html>	
  
                  <head>	
  
                                	
  <‡tle>Hello</‡tle>	
  
                  </head>	
  
                  <body>	
  
                  <?php	
  
                                	
  echo	
  "<h1>Hello	
  World	
  !!!</h1>"	
  
                  ?>	
  
                  </body>	
  
                  </html>	
  
Cơ chế hoạt động
                                                      www.example.com
         www.example.com/helloworld.php                 Webserver


HTML
                      HTML




                                                    Helloworld.php	
  
                              <html>	
  
                              <head>	
  
                                            	
  <‡tle>Hello</‡tle>	
  
                              </head>	
  
                              <body>	
  
                              <?php	
  
                                          	
  echo	
  "<table	
  border='1'>	
  
                              <tr><td>HELLO</td></tr></table>"	
  
                              ?>	
  
                              </body>	
  
                              </html>	
  
Cơ chế hoạt động của WebServer

         •  Parser.asp	
     •  Parser.php	
  




18	
  
Nội dung

•  Giới	
  thiệu	
  PHP	
  
•  Cơ	
  chế	
  hoạt	
  động	
  của	
  WebServer	
  
•  Cú	
  pháp	
  &	
  Quy	
  ước	
  trong	
  PHP	
  




19	
  
Cú pháp & Quy ước trong PHP

•        Quy	
  ước	
  
•        Khai	
  báo	
  biến	
  
•        Kiểu	
  dữ	
  liệu	
  
•        Toán	
  tử	
  
•        Cấu	
  trúc	
  điều	
  khiển	
  
•        Hàm	
  
•        Lớp	
  đối	
  tượng	
  



20	
  
Quy ước

•  Mã	
  lệnh	
  PHP	
  được	
  đặt	
  trong	
  các	
  cặp	
  thẻ	
  sau	
  :	
  
           Thẻ	
  mở	
                                     Thẻ	
  đóng	
  
           <?	
                                            ?>	
  
           <?php	
                                         ?>	
  
           <script	
  language="php">	
  	
                <script>	
  




21	
  
Tập tin php.ini

•  Chứa	
  các	
  cấu	
  hình	
  về	
  PHP	
  
•  Ví	
  dụ:	
  Một	
  số	
  tham	
  số	
  phổ	
  biến:	
  
         Tham	
  số	
                          Ý	
  nghĩa	
  
         short_open_tag	
  =	
  Off	
           Cho	
  phép	
  sử	
  dụng	
  <?	
  ?>	
  
         asp_tags	
  =	
  Off	
                 Cho	
  phép	
  sử	
  dụng	
  <%	
  %>	
  
         post_max_size	
  =	
  8M	
            Kích	
  thước	
  tối	
  đa	
  của	
  dữ	
  liệu	
  gửi	
  
                                               lên	
  server	
  
         file_uploads	
  =	
  On	
              Cho	
  phép	
  upload	
  file	
  

         upload_max_filesize	
  =	
  2M	
       Kích	
  thước	
  tối	
  đa	
  của	
  mỗi	
  file	
  
                                               upload	
  
22	
  
Quy ước

•  Tất	
  cả	
  các	
  câu	
  lệnh	
  php	
  đều	
  cách	
  nhau	
  bởi	
  dấu	
  ";"	
  
•  Không	
  phân	
  biệt	
  khoảng	
  trắng,	
  Tab,	
  xuống	
  dòng	
  trong	
  câu	
  
   lệnh	
  
    <?php	
  print	
  "Hello";	
  print	
  "	
  World!";	
  ?>	
  	
  
    <?php	
  	
  
                  Print	
  "Hello"	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ;	
  	
  
         	
   	
  print	
  "	
  World!";	
  	
  
    ?>	
  	
  
•  Ghi	
  chú	
  :	
  Theo	
  cú	
  pháp	
  ghi	
  chú	
  của	
  C++	
  &	
  Perl	
  
    //	
  Đây	
  là	
  ghi	
  chú	
  
    #	
  Đây	
  là	
  ghi	
  chú	
  
    /*	
  Đây	
  là	
  ghi	
  	
  
             chú	
  nhiều	
  dòng*/	
  
23	
  
Cú pháp & Quy ước trong PHP

•        Quy	
  ước	
  
•        Khai	
  báo	
  biến	
  
•        Kiểu	
  dữ	
  liệu	
  
•        Toán	
  tử	
  
•        Cấu	
  trúc	
  điều	
  khiển	
  
•        Hàm	
  
•        Lớp	
  đối	
  tượng	
  



24	
  
Khai báo biến

$ten_bien	
  =	
  value;	
  
•  Không	
  khai	
  báo	
  kiểu	
  dữ	
  liệu	
  
•  Biến	
  tự	
  động	
  được	
  khởi	
  tạo	
  ở	
  lần	
  đầu	
  ‡ên	
  gán	
  giá	
  trị	
  cho	
  biến	
  
•  Tên	
  biến	
  :	
  
    –  Bao	
  gồm	
  các	
  ký	
  tự	
  (A..Z,	
  a..z),	
  Ký	
  số	
  (0..9),	
  _	
  
    –  Không	
  được	
  bắt	
  dầu	
  bằng	
  ký	
  số	
  (0..9)	
  
    –  Phân	
  biệt	
  chữ	
  hoa	
  –	
  chữ	
  thường	
  
    Ví	
  dụ	
  :	
  	
  
      	
  $size	
   	
  $my_drink_size	
                   	
  $_drinks	
                	
  $drink4you	
  
      	
  $$2hot4u             	
  $drink-­‐size 	
  x	
  


25	
  
Khai báo biến

•  Biến	
  của	
  biến	
  -­‐	
  Variable	
  variables	
  
         –  Cho	
  phép	
  thay	
  đổi	
  tên	
  biến	
  
         –  Tạo	
  ra	
  một	
  biến	
  mới	
  dựa	
  vào	
  giá	
  trị	
  củamột	
  biến	
  
         –  Ví	
  dụ:	
  
         $varname	
  =	
  "Bien_moi";	
  
         $$varname	
  =	
  "xyz"; 	
  //	
  $Bien_moi	
  =	
  "xyz"	
  
•  Hằng	
  số	
  -­‐	
  Constants	
  
         –  Ví	
  dụ:	
  
         define("MY_CONST",	
  10);	
  
         echo	
  MY_CONST;	
  


26	
  
Khai báo biến




27	
  
Khai báo biến - Gán giá trị cho biến




28	
  
Cú pháp & Quy ước trong PHP

•        Quy	
  ước	
  
•        Khai	
  báo	
  biến	
  
•        Kiểu	
  dữ	
  liệu	
  
•        Toán	
  tử	
  
•        Cấu	
  trúc	
  điều	
  khiển	
  
•        Hàm	
  
•        Lớp	
  đối	
  tượng	
  



29	
  
Kiểu dữ liệu

•        boolean	
  (bool)	
  
•        integer	
  (int)	
  
•        double	
  (float,	
  real)	
  
•        string	
  
•        array	
  
•        object	
  

 1 Biến trong PHP có thể lưu bất kỳ kiểu dữ liệu nào.



30	
  
Chuyển kiểu dữ liệu

                 –  Cách	
  1:	
  (automaKc)	
  
            	
       	
  	
  
                    $var	
  =	
  "100"	
  +	
  15;	
                       115   integer
	
  
                    $var	
  =	
  "100"	
  +	
  15.0;                       115   double
	
  
                    $var	
  =	
  100	
  +	
  15.0;	
  
	
                                                                         115   double
	
                  $var	
  =	
  39	
  +	
  "	
  Steps";	
  	
             39    integer
	
                  $var	
  =	
  "Hello"	
  +	
  "	
  World";	
            0     integer
	
  
              –  Cách	
  2:	
  (datatype)	
  $var	
  
              –  Cách	
  3:	
  se~ype($var,	
  "datatype")	
  
                                   $var                             (int)$var     (bool)$var   (string)$var
                                    null                               0             false          ""

                                    true                               1                           "1"

                                   false                               0                            ""

                               "6 feet"                                6             true

   31	
                           "foo"                                0             true
Kiểu dữ liệu (tt)

•  Kiểm	
  tra	
  kiểu	
  dữ	
  liệu	
  
    ge~ype 	
                     	
  is_string                	
     	
  isset	
  
    is_integer 	
                 	
  is_array                 	
     	
  unset	
  
    is_double 	
                  	
  is_object                	
     	
  empty	
  

         Ví	
  dụ:	
  
         $var	
  =	
  "test";	
  	
  
         if	
  (isset($var))	
  	
  
              	
  echo	
  "Variable	
  is	
  Set";	
  	
  
         if	
  (empty($var))	
  	
  
              	
  echo	
  "Variable	
  is	
  Empty";	
  	
  


32	
  
Kiểu số - int, float

•  Một	
  số	
  hàm	
  xử	
  lý	
  số	
  
    –  abs         	
               	
  pow                         	
               	
  decbin	
                       	
  srand(seed)	
  
    –  ceil        	
               	
  sqrt                        	
               	
  bindec	
                       	
  rand	
  
    –  floor 	
                      	
  log                         	
               	
  dechex	
                       	
  rand(min,	
  
          max)	
  
    –  round 	
  log10 	
                                           	
  hexdec	
                       	
  …	
  
•  Ví	
  dụ	
  
         //	
  Phát	
  sinh	
  một	
  "mầm"	
  ngẫu	
  nhiên	
  
         $seed	
  =	
  (float)	
  micro‡me(	
  	
  )	
  *	
  100000000;	
  
         //	
  Khởi	
  tạo	
  bộ	
  phát	
  sinh	
  số	
  ngẫu	
  nhiên	
  
         srand($seed);	
  
         //	
  In	
  con	
  số	
  ngẫu	
  nhiên	
  
         print	
  rand();	
  	
  	
  	
  	
  	
  //	
  Giá	
  trị	
  ngẫu	
  nhiên	
  từ	
  0	
  đến	
  getmaxrand(	
  	
  )	
  
         print	
  rand(1,	
  6);	
  	
  //	
  Giá	
  trị	
  ngẫu	
  nhiên	
  từ	
  1	
  đến	
  6	
  

33	
  
Kiểu chuỗi - string

•  Toán	
  tử	
  nối	
  chuỗi	
  :	
  dấu	
  chấm	
  .	
  
         	
          	
  $s	
  =	
  "Hello"	
  .	
  "	
  World"; 	
  //	
  $s	
  =	
  "Hello	
  World"	
  
•  Phân	
  biệt	
  dấu	
  nháy	
  đơn	
  và	
  nháy	
  kép	
  
    	
    	
  $user	
  =	
  "Bill";	
  
    	
    	
  print	
  'Hi	
  $user';       	
          	
  	
  Hi $user
   	
    	
  print	
  "Hi	
  $user";        	
          	
  	
  Hi Bill
   	
    	
  print	
  'Hi'	
  .	
  $user;   	
          	
  	
  HiBill
   	
    	
  print	
  'Hi'	
  .	
  '$user';  	
                 Hi $user

•  Một	
  số	
  hàm	
  xử	
  lý	
  chuỗi	
  
                –  prinL      	
                   	
  trim       	
              	
              	
  strtolower	
  	
  
                –  str_pad 	
                      	
  str_replace	
              	
              	
  strtoupper	
  	
  
                –  strlen	
   	
                   	
  substr	
   	
              	
              	
  strcasecmp	
  	
  

34	
  
Kiểu chuỗi

•  Ví	
  dụ	
  


                                 {$a}
                      5          10
                      $5
                      $a + $b
                      5    + 7




35	
  
Ví dụ
     <?                                           d, b, o, x, X, s, f
     $tax = 0.075;
     printf('The tax costs $%.2f', $tax);
                                                  printf ( "%05d", 36 );
     $zip = '6520';
     printf("ZIP is %05d", $zip);
                                                         00036
     $min = -40; $max = 40;
                                                  printf ( "%'x4d", 36 );
     printf("The computer can operate between %
     +d and %+d degrees Celsius.", $min, $max);
     ?>                                                  xxx36




36	
  
Ví dụ

<?	
  
echo	
  "<pre>";	
  
	
  
echo	
  str_pad("Drama‡s	
  Personae",	
  50,	
  ".",	
  STR_PAD_BOTH)."n";	
  	
  
	
  
echo	
  str_pad("DUNCAN,	
  king	
  of	
  Scotland",	
  50,	
  "-­‐").	
  "n";	
  
	
  
echo	
  str_pad("Larry",	
  50,	
  "~",	
  STR_PAD_LEFT)	
  .	
  "n";	
  
	
  	
  
echo	
  "</pre>"	
  
?>	
  




37	
  
Mảng - array

•  Numbered	
  array	
  
         $words	
  =	
  array("Web",	
  "Database",	
  "Applica‡ons");	
  	
  
         echo	
  $words[0];	
  	
  
         $numbers	
  =	
  array(1=>"one","two","three",	
  "four");	
  	
  
         echo	
  $numbers[1];	
  
         	
  
         	
  
•  Associated	
  array	
  
         $array	
  =	
  array("first"=>1,	
  "second"=>2,	
  "third"=>3);	
  	
  
         echo	
  $array["second"];	
  	
  



38	
  
Mảng - array

•  Một số hàm xử lý trên mảng
          –  Count           	
  in_array	
  sort       	
  asort     	
  ksort 	
  usort	
  
          –  min             	
  array_reverse          	
  rsort     	
  arsort 	
  krsprt 	
  uasort	
  
          –  max             	
          	
             	
            	
         	
           	
  uksort	
  

•        Ví dụ:
          $dinner	
  =	
  array(	
  
            	
   	
  'Sweet	
  Corn	
  and	
  Asparagus',	
  
            	
   	
  'Lemon	
  Chicken',	
  	
  
            	
   	
  'Braised	
  Bamboo	
  Fungus');	
  	
  
          sort($dinner);	
  
          print	
  "I	
  want	
  $dinner[0]	
  and	
  $dinner[1].";	
  	
  
          $dishes	
  =	
  count($dinner);	
  	
  
          print	
  $dishes;	
  


39	
  
Mảng - array

•  Một	
  số	
  hàm	
  liên	
  quan	
  đến	
  mảng	
  
         –    next,	
  prev,	
  end,	
  current,	
  reset	
  (array)	
  
         –    array_push(array,	
  elements)	
  :	
  Thêm	
  elements	
  vào	
  cuối	
  mảng	
  
         –    array_pop(array)	
  :	
  Lấy	
  phần	
  tử	
  cuối	
  ra	
  khỏi	
  mảng	
  
         –    array_unshi•(array,	
  elements)	
  :	
  Thêm	
  elements	
  vào	
  đầu	
  mảng	
  
         –    array_shi•(array)	
  :	
  Lấy	
  phần	
  tử	
  đầu	
  ra	
  khỏi	
  mảng	
  
         –    array_merge(array,	
  array)	
  :	
  kết	
  2	
  mảng	
  lại	
  và	
  trả	
  ra	
  mảng	
  mới	
  
         –    shuffle(array)	
  :	
  Sort	
  random	
  mảng	
  
         –    sort(array,	
  flag)	
  :	
  flag	
  =	
  {sort_regular,	
  sort_numeric,	
  sort_string,	
  
              sort_locale_string}	
  	
  




40	
  
Cú pháp & Quy ước trong PHP

•        Quy	
  ước	
  
•        Khai	
  báo	
  biến	
  
•        Kiểu	
  dữ	
  liệu	
  
•        Toán	
  tử	
  
•        Cấu	
  trúc	
  điều	
  khiển	
  
•        Hàm	
  
•        Lớp	
  đối	
  tượng	
  



41	
  
Toán tử

Loại	
                Toán	
  tử	
                                                                                                        Ghi	
  chú	
  
                      new	
  	
  

                      .	
  	
  	
  [	
  ]	
  	
  	
  (	
  )	
  

Toán	
  học	
         +	
  	
  	
  -­‐	
  	
  	
  *	
  	
  	
  	
  /	
  	
  	
  %	
  	
  ++	
  	
  	
  -­‐-­‐	
  	
  

So	
  sánh	
          <	
  	
  	
  	
  >	
  	
  	
  	
  <=	
  	
  	
  	
  	
  >=	
  	
  	
  !=	
  	
  	
  ==	
  	
  ===	
  !==	
  

Luận	
  lý	
          &&	
  	
  	
  	
  ||	
  	
  	
  ?:	
  	
  	
  	
  ,	
  

Xử	
  lý	
  bit	
     !	
  	
  	
  	
  	
  	
  ~	
  	
  	
  	
  	
  <<	
  	
  	
  	
  	
  >>	
  	
  	
  	
  	
  	
  >>>	
  	
  	
  	
  
                      AND	
  	
  	
  OR	
  	
  	
  	
  	
  XOR	
  
Gán	
                 =	
  	
  	
  	
  +=	
  	
  	
  -­‐=	
  	
  	
  	
  *=	
  	
  	
  /=	
  	
  	
  %=	
  	
  
                      >>=	
  	
  	
  <<=	
  	
  &=	
  	
  |=	
  	
  ^=	
  	
  	
  .=	
  
Ép	
  kiểu	
          (kiểu	
  dữ	
  liệu)	
                                                                                              (int)	
  (double)	
  (string)…	
  
 42	
  
Cú pháp & Quy ước trong PHP

•        Quy	
  ước	
  
•        Khai	
  báo	
  biến	
  
•        Kiểu	
  dữ	
  liệu	
  
•        Toán	
  tử	
  
•        Cấu	
  trúc	
  điều	
  khiển	
  
•        Hàm	
  
•        Lớp	
  đối	
  tượng	
  



43	
  
Cấu trúc điều khiển

•        Điều	
  kiện	
  if	
  
•        Điều	
  khiển	
  switch	
  
•        Vòng	
  lặp	
  for	
  
•        Vòng	
  lặp	
  while	
  
•        Vòng	
  lặp	
  do..	
  While	
  
•        Vòng	
  lặp	
  foreach	
  

•  Từ	
  khóa	
  break,	
  con‡nue	
  


44	
  
Điều kiện if

         if (condition)
         {                           Ví dụ:
             statement[s] if true     $x = 5;
         }
                                      if ($x < 4)
         else (condition)
         {                              echo "$x is less than 4";
             statement[s] if false    else
         }                              print '$x isn’t less than
                                        4';




                       $x isn’t less than 4

45	
  
Điều khiển switch
                     Ví dụ:

                          $menu = 3;
                          switch ($menu){
switch (expression)         case 1:
{                             echo "You picked   one";
                              break;
    case label :            case 2:
          statementlist       echo "You picked   two";
                              break;
         break;             case 3:
    case label :              echo "You picked   three";
                            case 4:
         statementlist        echo "You picked   four";
         break;               break;
                            default:
         ...                  echo "You picked   another option";
    default :             }

          statementlist   You picked three You picked four
}
46	
  
Vòng lặp for

         for ([initial expression]; [condition]; [update expression])
         {
                statement[s] inside loop
         }



          §  Ví dụ:
          print "<select>";
          for ($i = 1; $i <= 12; $i++)
          {
              print "<option>$i</option>";
          }
          print "</select>";



47	
  
Vòng lặp while, do…while

                       Ví dụ:

while (expression)     $i = 1; $j = 9;
{
      statements       while ($i <= 10)
                       {
}	
  
                           $temp = $i * $j;
                           print "$j * $i = $temp<br/>";
                           $i++;

do                     }
{
         statements
}while (expression);


48	
  
Vòng lặp foreach

foreach (array as variable)
{
      statements
}

   Ví dụ:
   $meal = array('breakfast' => 'Walnut Bun',
                 'lunch' => 'Cashew Nuts and White
   Mushrooms',
                 'dinner' => 'Eggplant with Chili Sauce');

   print "<table border=‘1’>n";
   foreach ($meal as $key => $value)
   {
       print "<tr><td>$key</td><td>$value</td></tr>n";
   }
   print '</table>';
                                                          49	
  
Cú pháp & Quy ước trong PHP

•        Quy	
  ước	
  
•        Khai	
  báo	
  biến	
  
•        Kiểu	
  dữ	
  liệu	
  
•        Toán	
  tử	
  
•        Cấu	
  trúc	
  điều	
  khiển	
  
•        Hàm	
  
•        Lớp	
  đối	
  tượng	
  



50	
  
Hàm - function

         function functionName ([parameter1]...[,parameterN])
         {
                statement[s] ;
         }




         function functionName ([parameter1]...[,parameterN])
         {
               statement[s] ;
               return ….. ;
         }


51	
  
Hàm - Khai báo và sử dụng




52	
  
Hàm - Phạm vi của biến




53	
  
Hàm – Tham trị vs Tham chiếu


                                           &




          Tham trị             Tham biến
54	
  
Hàm – include & require
               function.inc


                                   test.php




55	
  
Hàm Include và require




56	
  
Cú pháp & Quy ước trong PHP

•        Quy	
  ước	
  
•        Khai	
  báo	
  biến	
  
•        Kiểu	
  dữ	
  liệu	
  
•        Toán	
  tử	
  
•        Cấu	
  trúc	
  điều	
  khiển	
  
•        Hàm	
  
•        Lớp	
  đối	
  tượng	
  



57	
  
Lớp đối tượng - Khai báo

         class	
  class_name()	
  [extends	
  superclass_name]	
  
         {	
  
                 	
  var	
  $a–ribute;	
  
                     … 	
  	
  
                 	
  func‡on	
  method_name()	
  
                     {	
  
                 	
          	
  $this-­‐>a–ribute	
  =	
  …;	
  
                 	
  }	
  
                 	
  …	
  
         }	
  
58	
  
         $a	
  =	
  new	
  class_name(…);	
  
Lớp đối tượng - Ví dụ




59	
  

More Related Content

Viewers also liked (13)

Visao espirita da_biblia
Visao espirita da_bibliaVisao espirita da_biblia
Visao espirita da_biblia
 
Phaithu
PhaithuPhaithu
Phaithu
 
Tech Meet ECS 2015
Tech Meet ECS 2015Tech Meet ECS 2015
Tech Meet ECS 2015
 
Ariadna
AriadnaAriadna
Ariadna
 
Hacre,crocker
Hacre,crockerHacre,crocker
Hacre,crocker
 
Utea cd-02-me02-cd tx-digital2015-ii
Utea cd-02-me02-cd tx-digital2015-iiUtea cd-02-me02-cd tx-digital2015-ii
Utea cd-02-me02-cd tx-digital2015-ii
 
T4 bab 3[1]
T4 bab 3[1]T4 bab 3[1]
T4 bab 3[1]
 
trabajos con pete the cat
trabajos con pete the cattrabajos con pete the cat
trabajos con pete the cat
 
class 7 bio
class 7 bioclass 7 bio
class 7 bio
 
[NEXT 프연 Week1] Git 시작하기
[NEXT 프연 Week1] Git 시작하기[NEXT 프연 Week1] Git 시작하기
[NEXT 프연 Week1] Git 시작하기
 
Tugasan bml 3043. fonetik dn fonologi
Tugasan bml 3043. fonetik dn fonologiTugasan bml 3043. fonetik dn fonologi
Tugasan bml 3043. fonetik dn fonologi
 
Flayer crochet new
Flayer crochet newFlayer crochet new
Flayer crochet new
 
practicas cocodrile
practicas cocodrilepracticas cocodrile
practicas cocodrile
 

Similar to 03 udpt php

Slide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdfSlide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdf
HuyVnh4
 
19 web server
19  web server19  web server
19 web server
Cơn Gió
 
Web course php co ban
Web course   php co banWeb course   php co ban
Web course php co ban
慂 志慂
 
Chuong 1 qttk_website.html
Chuong 1 qttk_website.htmlChuong 1 qttk_website.html
Chuong 1 qttk_website.html
Heo Mọi
 
Laravel
LaravelLaravel
Laravel
Hoc Vu
 
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
manhvokiem
 

Similar to 03 udpt php (20)

07 web course 1 php co ban
07 web course   1 php co ban07 web course   1 php co ban
07 web course 1 php co ban
 
Slide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdfSlide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdf
 
Chuong 1 tong quan về lập trình web động
Chuong 1 tong quan về lập trình web độngChuong 1 tong quan về lập trình web động
Chuong 1 tong quan về lập trình web động
 
Ltw0 baimodau
Ltw0 baimodauLtw0 baimodau
Ltw0 baimodau
 
Bao cao web cake php
Bao cao web cake phpBao cao web cake php
Bao cao web cake php
 
19 web server
19  web server19  web server
19 web server
 
Tong quanthietkeweb
Tong quanthietkewebTong quanthietkeweb
Tong quanthietkeweb
 
Web course php co ban
Web course   php co banWeb course   php co ban
Web course php co ban
 
Chuong 1 tongquanve web&amp;htm-lcanban
Chuong 1  tongquanve web&amp;htm-lcanban Chuong 1  tongquanve web&amp;htm-lcanban
Chuong 1 tongquanve web&amp;htm-lcanban
 
Chuong 1 tongquanve web&amp;htm-lcanban
Chuong 1  tongquanve web&amp;htm-lcanban Chuong 1  tongquanve web&amp;htm-lcanban
Chuong 1 tongquanve web&amp;htm-lcanban
 
GIỚI THIỆU CÁC DẠNG MÁY CHỦ SERVER
GIỚI THIỆU CÁC DẠNG MÁY CHỦ SERVERGIỚI THIỆU CÁC DẠNG MÁY CHỦ SERVER
GIỚI THIỆU CÁC DẠNG MÁY CHỦ SERVER
 
Php 01 modau
Php 01 modauPhp 01 modau
Php 01 modau
 
Hướng dẫn lập trình web với PHP
Hướng dẫn lập trình web với PHPHướng dẫn lập trình web với PHP
Hướng dẫn lập trình web với PHP
 
Chuyen de flask -- pythonvietnam.info
Chuyen de flask  -- pythonvietnam.info Chuyen de flask  -- pythonvietnam.info
Chuyen de flask -- pythonvietnam.info
 
Chuong 1 qttk_website.html
Chuong 1 qttk_website.htmlChuong 1 qttk_website.html
Chuong 1 qttk_website.html
 
Lesson 1 practice
Lesson 1 practiceLesson 1 practice
Lesson 1 practice
 
Web performace with Adflex
Web performace with AdflexWeb performace with Adflex
Web performace with Adflex
 
Itlc2015
Itlc2015Itlc2015
Itlc2015
 
Laravel
LaravelLaravel
Laravel
 
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
 

Recently uploaded

sách các Bài tập kinh tế vi mô chọn lọc.
sách các Bài tập kinh tế vi mô chọn lọc.sách các Bài tập kinh tế vi mô chọn lọc.
sách các Bài tập kinh tế vi mô chọn lọc.
TunQuc54
 
Đề cương môn Xã hội Chủ nghĩa Khoa học (sơ lược)
Đề cương môn Xã hội Chủ nghĩa Khoa học (sơ lược)Đề cương môn Xã hội Chủ nghĩa Khoa học (sơ lược)
Đề cương môn Xã hội Chủ nghĩa Khoa học (sơ lược)
LinhV602347
 
CHƯƠNG 5. TTHCM VỀ VĂN HÓA, ĐẠO ĐỨC, CON NGƯỜI
CHƯƠNG 5. TTHCM VỀ VĂN HÓA, ĐẠO ĐỨC, CON NGƯỜICHƯƠNG 5. TTHCM VỀ VĂN HÓA, ĐẠO ĐỨC, CON NGƯỜI
CHƯƠNG 5. TTHCM VỀ VĂN HÓA, ĐẠO ĐỨC, CON NGƯỜI
nguyendoan3122102508
 

Recently uploaded (16)

TÀI LIỆU DẠY THÊM HÓA HỌC 12 - SÁCH MỚI (BẢN HS+GV) (FORM BÀI TẬP 2025 CHUNG ...
TÀI LIỆU DẠY THÊM HÓA HỌC 12 - SÁCH MỚI (BẢN HS+GV) (FORM BÀI TẬP 2025 CHUNG ...TÀI LIỆU DẠY THÊM HÓA HỌC 12 - SÁCH MỚI (BẢN HS+GV) (FORM BÀI TẬP 2025 CHUNG ...
TÀI LIỆU DẠY THÊM HÓA HỌC 12 - SÁCH MỚI (BẢN HS+GV) (FORM BÀI TẬP 2025 CHUNG ...
 
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
 
sách các Bài tập kinh tế vi mô chọn lọc.
sách các Bài tập kinh tế vi mô chọn lọc.sách các Bài tập kinh tế vi mô chọn lọc.
sách các Bài tập kinh tế vi mô chọn lọc.
 
Vợ chồng A Phủ - Tô Hoài - phân tích chi tiết
Vợ chồng A Phủ - Tô Hoài - phân tích chi tiếtVợ chồng A Phủ - Tô Hoài - phân tích chi tiết
Vợ chồng A Phủ - Tô Hoài - phân tích chi tiết
 
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
 
mayphatdienhonda.com - Máy phát điện là gì ? cấu tạo và ứng dụng , phân loại ...
mayphatdienhonda.com - Máy phát điện là gì ? cấu tạo và ứng dụng , phân loại ...mayphatdienhonda.com - Máy phát điện là gì ? cấu tạo và ứng dụng , phân loại ...
mayphatdienhonda.com - Máy phát điện là gì ? cấu tạo và ứng dụng , phân loại ...
 
Đề cương môn Xã hội Chủ nghĩa Khoa học (sơ lược)
Đề cương môn Xã hội Chủ nghĩa Khoa học (sơ lược)Đề cương môn Xã hội Chủ nghĩa Khoa học (sơ lược)
Đề cương môn Xã hội Chủ nghĩa Khoa học (sơ lược)
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
CHƯƠNG 5. TTHCM VỀ VĂN HÓA, ĐẠO ĐỨC, CON NGƯỜI
CHƯƠNG 5. TTHCM VỀ VĂN HÓA, ĐẠO ĐỨC, CON NGƯỜICHƯƠNG 5. TTHCM VỀ VĂN HÓA, ĐẠO ĐỨC, CON NGƯỜI
CHƯƠNG 5. TTHCM VỀ VĂN HÓA, ĐẠO ĐỨC, CON NGƯỜI
 
Talk Academy Presentation 2024 (ENG) MICE.pdf
Talk Academy Presentation 2024 (ENG) MICE.pdfTalk Academy Presentation 2024 (ENG) MICE.pdf
Talk Academy Presentation 2024 (ENG) MICE.pdf
 
BÀI TẬP DẠY THÊM TOÁN LỚP 12 SÁCH MỚI THEO FORM THI MỚI BGD 2025 - CHÂN TRỜI ...
BÀI TẬP DẠY THÊM TOÁN LỚP 12 SÁCH MỚI THEO FORM THI MỚI BGD 2025 - CHÂN TRỜI ...BÀI TẬP DẠY THÊM TOÁN LỚP 12 SÁCH MỚI THEO FORM THI MỚI BGD 2025 - CHÂN TRỜI ...
BÀI TẬP DẠY THÊM TOÁN LỚP 12 SÁCH MỚI THEO FORM THI MỚI BGD 2025 - CHÂN TRỜI ...
 
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 11 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-...
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 11 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-...BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 11 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-...
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 11 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-...
 
15 ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 SỞ GIÁO...
15 ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 SỞ GIÁO...15 ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 SỞ GIÁO...
15 ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 SỞ GIÁO...
 
ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 THPT MÔN TOÁN CÁC TỈNH NĂM HỌC 2023-2024 CÓ ...
ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 THPT MÔN TOÁN CÁC TỈNH NĂM HỌC 2023-2024 CÓ ...ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 THPT MÔN TOÁN CÁC TỈNH NĂM HỌC 2023-2024 CÓ ...
ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 THPT MÔN TOÁN CÁC TỈNH NĂM HỌC 2023-2024 CÓ ...
 
xemsomenh.com-Bố cục của lá số tử vi như thế nào.pdf
xemsomenh.com-Bố cục của lá số tử vi như thế nào.pdfxemsomenh.com-Bố cục của lá số tử vi như thế nào.pdf
xemsomenh.com-Bố cục của lá số tử vi như thế nào.pdf
 

03 udpt php

  • 1. LOGO Ứng dụng phân tán – Xây dựng UD Web Chủ đề 3 PHP Cơ bản GV:  Nguyễn  Trường  Sơn  
  • 2. Nội dung •  Giới  thiệu  PHP   •  Cơ  chế  hoạt  động  của  WebServer   •  Cú  pháp  &  Quy  ước  trong  PHP   2  
  • 3. Nội dung •  Giới  thiệu  PHP   •  Cơ  chế  hoạt  động  của  WebServer   •  Cú  pháp  &  Quy  ước  trong  PHP   3  
  • 4. Giới thiệu về PHP – Lịch sử phát triển •  PHP  :  Rasmus  Lerdorf  in  1994  (được  phát  triển  để  phát  sinh  các  form  đăng  nhập  sử   dụng  giao  thức  HTTP  của  Unix)   •  PHP  2  (1995)  :  Chuyển  sang  ngôn  ngữ  script  xử  lý  trên  server.  Hỗ  trợ  CSDL,  Upload  File,   khai  báo  biến,  mảng,  hàm  đệ  quy,  câu  điều  kiện,  biểu  thức,  …   •  PHP  3  (1998)  :  Hỗ  trợ  ODBC,  đa  hệ  điều  hành,  giao  thức  email  (SNMP,  IMAP),  bộ  phân   wch  mã  PHP  (parser)  của  Zeev  Suraski  và  Andi  Gutmans   •  PHP  4  (2000)  :  Trợ  thành  một  thành  phần  độc  lập  cho  các  webserver.  Parse  đổi  tên   thành  Zend  Engine.  Bổ  sung  các  wnh  năng  bảo  mật  cho  PHP   •  PHP  5  (2005)  :  Bổ  sung  Zend  Engine  II  hỗ  trợ  lập  trình  HĐT,  XML,  SOAP  cho  Web   Services,  SQLite   •  Phiên  bản  mới  nhất  của  PHP  là  version  PHP  5.3.0  (www.php.net)   4  
  • 5. Giới thiệu về PHP – PHP là gì ? •  PHP  viết  tắt  của  PHP  Hypertext  Preprocessor     •  Là  ngôn  ngữ  server-­‐side  script,  tương  tự  như  ASP,   ASP.NET,  JSP,  …  thực  thi  ở  phía  WebServer   Ưu điểm PHP ? •  Tập  ‡n  PHP  có  phần  mở  rộng  là  .php  (php3   •  Cú  pháp  ngôn  ngữ  giống  ngôn  ngữ  C  &  Perl   •  Web  Server:  Máy  phục  vụ  web   5  
  • 6. Giới thiệu về PHP – Ưu điểm 1 •  PHP  được  sử  dụng  làm:     –  Server  Side  Scrip‡ng   –  CommandLine  Scrip‡ng  (cron  –  Linux,  Task  Scheduler  –   Windows,  Text  Processing)   –  Xây  dựng  ứng  Desktop  –  PHP  GTK   6  
  • 7. Giới thiệu về PHP – Ưu điểm 2 •  Đa  môi  trường  (MulK-­‐PlaLorm)   –  Web  Servers:  Apache,  Microso•  IIS,  Caudium,  Netscape   Enterprise  Server   –  Hệ  điều  hành:  UNIX  (HP-­‐UX,  OpenBSD,  Solaris,  Linux),  Mac   OSX,  Windows  NT/98/2000/XP/2003/vista   –  Hệ  QTCSDL:  Adabas  D,  dBase,Empress,  FilePro  (read-­‐only),   Hyperwave,  IBM  DB2,  Informix,  Ingres,  InterBase,  FrontBase,   mSQL,  Direct  MS-­‐SQL,  MySQL,  ODBC,  Oracle  (OCI7  and  OCI8),   Ovrimos,  PostgreSQL,  SQLite,  Solid,  Sybase,  Velocis,Unix  dbm     7  
  • 8. Giới thiệu về PHP – Ưu điểm 3 •  Miễn  phí     PHP So•ware Free Pla“orm Free  (Linux) Development  Tools Free  (PHP  Coder,  jEdit,  …) 8  
  • 9. Giới thiệu về PHP – Ưu điểm 4 •  Được  sử  dụng  rộng  rãi  trong  môi  trường  phát  triển  web   –  20,917,850  domains  (chiếm  hơn  32%  tên  miền   website)   –  1,224,183  IP  addresses      (04/2007  Netcra•  Survey  –  h*p://www.php.net/usage.php)   9  
  • 10. Giới thiệu về PHP – Một số website lớn PHP at Yahoo! http://www.yahoo.com The Internet’s most trafficked site Course Management System Portal Portal Wiki Customer Relationship Management e-Commerce Portal Bulletin Board Content Management System Help Desk 10  
  • 11. Giới thiệu về PHP – Cần gì để chạy PHP ? •  Download  PHP   –  Download  PHP  for  free  here:     h–p://www.php.net/downloads.php   •  Download  MySQL  Database   –  Download  MySQL  for  free  here:  h–p://www.mysql.com/downloads/ index.html   •  Download  Apache  Server   –  Download  Apache  for  free  here:   h–p://h–pd.apache.org/download.cgi   à  Download  WAMP,LAMP   11  
  • 12. Nội dung •  Giới  thiệu  PHP   •  Cơ  chế  hoạt  động  của  WebServer   •  Cú  pháp  &  Quy  ước  trong  PHP   12  
  • 13. Cơ chế hoạt động của WebServer Internet WWW Servers (WWW) Users (clients) Browse 4 4resources (HTML files) Authors write HTML 13  
  • 14. Cơ chế hoạt động của WebServer www.example.com Webserver Apache   or  IIS   2   Internet   HTML or Intranet   7 6 3   ServerSide  Script  Parser     (PHP,  ASP,  ..)   5 4 Database Disk Server driver 14  
  • 15. Cơ chế hoạt động của WebServer 15  
  • 16. Cơ chế hoạt động www.example.com www.example.com/helloworld.php Webserver HTML HTML Helloworld.php   <html>   <head>    <‡tle>Hello</‡tle>   </head>   <body>   <?php    echo  "<h1>Hello  World  !!!</h1>"   ?>   </body>   </html>  
  • 17. Cơ chế hoạt động www.example.com www.example.com/helloworld.php Webserver HTML HTML Helloworld.php   <html>   <head>    <‡tle>Hello</‡tle>   </head>   <body>   <?php    echo  "<table  border='1'>   <tr><td>HELLO</td></tr></table>"   ?>   </body>   </html>  
  • 18. Cơ chế hoạt động của WebServer •  Parser.asp   •  Parser.php   18  
  • 19. Nội dung •  Giới  thiệu  PHP   •  Cơ  chế  hoạt  động  của  WebServer   •  Cú  pháp  &  Quy  ước  trong  PHP   19  
  • 20. Cú pháp & Quy ước trong PHP •  Quy  ước   •  Khai  báo  biến   •  Kiểu  dữ  liệu   •  Toán  tử   •  Cấu  trúc  điều  khiển   •  Hàm   •  Lớp  đối  tượng   20  
  • 21. Quy ước •  Mã  lệnh  PHP  được  đặt  trong  các  cặp  thẻ  sau  :   Thẻ  mở   Thẻ  đóng   <?   ?>   <?php   ?>   <script  language="php">     <script>   21  
  • 22. Tập tin php.ini •  Chứa  các  cấu  hình  về  PHP   •  Ví  dụ:  Một  số  tham  số  phổ  biến:   Tham  số   Ý  nghĩa   short_open_tag  =  Off   Cho  phép  sử  dụng  <?  ?>   asp_tags  =  Off   Cho  phép  sử  dụng  <%  %>   post_max_size  =  8M   Kích  thước  tối  đa  của  dữ  liệu  gửi   lên  server   file_uploads  =  On   Cho  phép  upload  file   upload_max_filesize  =  2M   Kích  thước  tối  đa  của  mỗi  file   upload   22  
  • 23. Quy ước •  Tất  cả  các  câu  lệnh  php  đều  cách  nhau  bởi  dấu  ";"   •  Không  phân  biệt  khoảng  trắng,  Tab,  xuống  dòng  trong  câu   lệnh   <?php  print  "Hello";  print  "  World!";  ?>     <?php     Print  "Hello"                                  ;        print  "  World!";     ?>     •  Ghi  chú  :  Theo  cú  pháp  ghi  chú  của  C++  &  Perl   //  Đây  là  ghi  chú   #  Đây  là  ghi  chú   /*  Đây  là  ghi     chú  nhiều  dòng*/   23  
  • 24. Cú pháp & Quy ước trong PHP •  Quy  ước   •  Khai  báo  biến   •  Kiểu  dữ  liệu   •  Toán  tử   •  Cấu  trúc  điều  khiển   •  Hàm   •  Lớp  đối  tượng   24  
  • 25. Khai báo biến $ten_bien  =  value;   •  Không  khai  báo  kiểu  dữ  liệu   •  Biến  tự  động  được  khởi  tạo  ở  lần  đầu  ‡ên  gán  giá  trị  cho  biến   •  Tên  biến  :   –  Bao  gồm  các  ký  tự  (A..Z,  a..z),  Ký  số  (0..9),  _   –  Không  được  bắt  dầu  bằng  ký  số  (0..9)   –  Phân  biệt  chữ  hoa  –  chữ  thường   Ví  dụ  :      $size    $my_drink_size    $_drinks    $drink4you    $$2hot4u  $drink-­‐size  x   25  
  • 26. Khai báo biến •  Biến  của  biến  -­‐  Variable  variables   –  Cho  phép  thay  đổi  tên  biến   –  Tạo  ra  một  biến  mới  dựa  vào  giá  trị  củamột  biến   –  Ví  dụ:   $varname  =  "Bien_moi";   $$varname  =  "xyz";  //  $Bien_moi  =  "xyz"   •  Hằng  số  -­‐  Constants   –  Ví  dụ:   define("MY_CONST",  10);   echo  MY_CONST;   26  
  • 28. Khai báo biến - Gán giá trị cho biến 28  
  • 29. Cú pháp & Quy ước trong PHP •  Quy  ước   •  Khai  báo  biến   •  Kiểu  dữ  liệu   •  Toán  tử   •  Cấu  trúc  điều  khiển   •  Hàm   •  Lớp  đối  tượng   29  
  • 30. Kiểu dữ liệu •  boolean  (bool)   •  integer  (int)   •  double  (float,  real)   •  string   •  array   •  object   1 Biến trong PHP có thể lưu bất kỳ kiểu dữ liệu nào. 30  
  • 31. Chuyển kiểu dữ liệu –  Cách  1:  (automaKc)         $var  =  "100"  +  15;   115 integer   $var  =  "100"  +  15.0; 115 double   $var  =  100  +  15.0;     115 double   $var  =  39  +  "  Steps";     39 integer   $var  =  "Hello"  +  "  World";   0 integer   –  Cách  2:  (datatype)  $var   –  Cách  3:  se~ype($var,  "datatype")   $var (int)$var (bool)$var (string)$var null 0 false "" true 1 "1" false 0 "" "6 feet" 6 true 31   "foo" 0 true
  • 32. Kiểu dữ liệu (tt) •  Kiểm  tra  kiểu  dữ  liệu   ge~ype    is_string    isset   is_integer    is_array    unset   is_double    is_object    empty   Ví  dụ:   $var  =  "test";     if  (isset($var))      echo  "Variable  is  Set";     if  (empty($var))      echo  "Variable  is  Empty";     32  
  • 33. Kiểu số - int, float •  Một  số  hàm  xử  lý  số   –  abs    pow    decbin    srand(seed)   –  ceil    sqrt    bindec    rand   –  floor    log    dechex    rand(min,   max)   –  round  log10    hexdec    …   •  Ví  dụ   //  Phát  sinh  một  "mầm"  ngẫu  nhiên   $seed  =  (float)  micro‡me(    )  *  100000000;   //  Khởi  tạo  bộ  phát  sinh  số  ngẫu  nhiên   srand($seed);   //  In  con  số  ngẫu  nhiên   print  rand();            //  Giá  trị  ngẫu  nhiên  từ  0  đến  getmaxrand(    )   print  rand(1,  6);    //  Giá  trị  ngẫu  nhiên  từ  1  đến  6   33  
  • 34. Kiểu chuỗi - string •  Toán  tử  nối  chuỗi  :  dấu  chấm  .      $s  =  "Hello"  .  "  World";  //  $s  =  "Hello  World"   •  Phân  biệt  dấu  nháy  đơn  và  nháy  kép      $user  =  "Bill";      print  'Hi  $user';      Hi $user    print  "Hi  $user";      Hi Bill    print  'Hi'  .  $user;      HiBill    print  'Hi'  .  '$user';   Hi $user •  Một  số  hàm  xử  lý  chuỗi   –  prinL    trim      strtolower     –  str_pad    str_replace      strtoupper     –  strlen      substr        strcasecmp     34  
  • 35. Kiểu chuỗi •  Ví  dụ   {$a} 5 10 $5 $a + $b 5 + 7 35  
  • 36. Ví dụ <? d, b, o, x, X, s, f $tax = 0.075; printf('The tax costs $%.2f', $tax); printf ( "%05d", 36 ); $zip = '6520'; printf("ZIP is %05d", $zip); 00036 $min = -40; $max = 40; printf ( "%'x4d", 36 ); printf("The computer can operate between % +d and %+d degrees Celsius.", $min, $max); ?> xxx36 36  
  • 37. Ví dụ <?   echo  "<pre>";     echo  str_pad("Drama‡s  Personae",  50,  ".",  STR_PAD_BOTH)."n";       echo  str_pad("DUNCAN,  king  of  Scotland",  50,  "-­‐").  "n";     echo  str_pad("Larry",  50,  "~",  STR_PAD_LEFT)  .  "n";       echo  "</pre>"   ?>   37  
  • 38. Mảng - array •  Numbered  array   $words  =  array("Web",  "Database",  "Applica‡ons");     echo  $words[0];     $numbers  =  array(1=>"one","two","three",  "four");     echo  $numbers[1];       •  Associated  array   $array  =  array("first"=>1,  "second"=>2,  "third"=>3);     echo  $array["second"];     38  
  • 39. Mảng - array •  Một số hàm xử lý trên mảng –  Count  in_array  sort  asort  ksort  usort   –  min  array_reverse  rsort  arsort  krsprt  uasort   –  max            uksort   •  Ví dụ: $dinner  =  array(      'Sweet  Corn  and  Asparagus',      'Lemon  Chicken',        'Braised  Bamboo  Fungus');     sort($dinner);   print  "I  want  $dinner[0]  and  $dinner[1].";     $dishes  =  count($dinner);     print  $dishes;   39  
  • 40. Mảng - array •  Một  số  hàm  liên  quan  đến  mảng   –  next,  prev,  end,  current,  reset  (array)   –  array_push(array,  elements)  :  Thêm  elements  vào  cuối  mảng   –  array_pop(array)  :  Lấy  phần  tử  cuối  ra  khỏi  mảng   –  array_unshi•(array,  elements)  :  Thêm  elements  vào  đầu  mảng   –  array_shi•(array)  :  Lấy  phần  tử  đầu  ra  khỏi  mảng   –  array_merge(array,  array)  :  kết  2  mảng  lại  và  trả  ra  mảng  mới   –  shuffle(array)  :  Sort  random  mảng   –  sort(array,  flag)  :  flag  =  {sort_regular,  sort_numeric,  sort_string,   sort_locale_string}     40  
  • 41. Cú pháp & Quy ước trong PHP •  Quy  ước   •  Khai  báo  biến   •  Kiểu  dữ  liệu   •  Toán  tử   •  Cấu  trúc  điều  khiển   •  Hàm   •  Lớp  đối  tượng   41  
  • 42. Toán tử Loại   Toán  tử   Ghi  chú   new     .      [  ]      (  )   Toán  học   +      -­‐      *        /      %    ++      -­‐-­‐     So  sánh   <        >        <=          >=      !=      ==    ===  !==   Luận  lý   &&        ||      ?:        ,   Xử  lý  bit   !            ~          <<          >>            >>>         AND      OR          XOR   Gán   =        +=      -­‐=        *=      /=      %=     >>=      <<=    &=    |=    ^=      .=   Ép  kiểu   (kiểu  dữ  liệu)   (int)  (double)  (string)…   42  
  • 43. Cú pháp & Quy ước trong PHP •  Quy  ước   •  Khai  báo  biến   •  Kiểu  dữ  liệu   •  Toán  tử   •  Cấu  trúc  điều  khiển   •  Hàm   •  Lớp  đối  tượng   43  
  • 44. Cấu trúc điều khiển •  Điều  kiện  if   •  Điều  khiển  switch   •  Vòng  lặp  for   •  Vòng  lặp  while   •  Vòng  lặp  do..  While   •  Vòng  lặp  foreach   •  Từ  khóa  break,  con‡nue   44  
  • 45. Điều kiện if if (condition) { Ví dụ: statement[s] if true $x = 5; } if ($x < 4) else (condition) { echo "$x is less than 4"; statement[s] if false else } print '$x isn’t less than 4'; $x isn’t less than 4 45  
  • 46. Điều khiển switch Ví dụ: $menu = 3; switch ($menu){ switch (expression) case 1: { echo "You picked one"; break; case label : case 2: statementlist echo "You picked two"; break; break; case 3: case label : echo "You picked three"; case 4: statementlist echo "You picked four"; break; break; default: ... echo "You picked another option"; default : } statementlist You picked three You picked four } 46  
  • 47. Vòng lặp for for ([initial expression]; [condition]; [update expression]) { statement[s] inside loop } §  Ví dụ: print "<select>"; for ($i = 1; $i <= 12; $i++) { print "<option>$i</option>"; } print "</select>"; 47  
  • 48. Vòng lặp while, do…while Ví dụ: while (expression) $i = 1; $j = 9; { statements while ($i <= 10) { }   $temp = $i * $j; print "$j * $i = $temp<br/>"; $i++; do } { statements }while (expression); 48  
  • 49. Vòng lặp foreach foreach (array as variable) { statements } Ví dụ: $meal = array('breakfast' => 'Walnut Bun', 'lunch' => 'Cashew Nuts and White Mushrooms', 'dinner' => 'Eggplant with Chili Sauce'); print "<table border=‘1’>n"; foreach ($meal as $key => $value) { print "<tr><td>$key</td><td>$value</td></tr>n"; } print '</table>'; 49  
  • 50. Cú pháp & Quy ước trong PHP •  Quy  ước   •  Khai  báo  biến   •  Kiểu  dữ  liệu   •  Toán  tử   •  Cấu  trúc  điều  khiển   •  Hàm   •  Lớp  đối  tượng   50  
  • 51. Hàm - function function functionName ([parameter1]...[,parameterN]) { statement[s] ; } function functionName ([parameter1]...[,parameterN]) { statement[s] ; return ….. ; } 51  
  • 52. Hàm - Khai báo và sử dụng 52  
  • 53. Hàm - Phạm vi của biến 53  
  • 54. Hàm – Tham trị vs Tham chiếu & Tham trị Tham biến 54  
  • 55. Hàm – include & require function.inc test.php 55  
  • 56. Hàm Include và require 56  
  • 57. Cú pháp & Quy ước trong PHP •  Quy  ước   •  Khai  báo  biến   •  Kiểu  dữ  liệu   •  Toán  tử   •  Cấu  trúc  điều  khiển   •  Hàm   •  Lớp  đối  tượng   57  
  • 58. Lớp đối tượng - Khai báo class  class_name()  [extends  superclass_name]   {    var  $a–ribute;   …      func‡on  method_name()   {      $this-­‐>a–ribute  =  …;    }    …   }   58   $a  =  new  class_name(…);  
  • 59. Lớp đối tượng - Ví dụ 59