2021年3月11日 星期四

PHP 常見運算子

設定目標:
  • 了解 PHP 運算子種類與用法

PHP 運算子種類與用法
  1. 運算式與運算子
    • 例 : $a = $b + $c
      • 運算元 : $a $b $c
      • 運算子 : +
  2. 運算子的優先順序
    1. 物件建立 : 複製(clone)、新增(new)
    2. 陣列 : []
    3. 轉型與遞增、遞減 : ++、--、intval()!例:
      • ++$a : 先加再回傳
      • $a++ : 先回傳再加
    4. 邏輯運算子 : (非)「 !」
    5. 算術運算子 : 「 * 」、「 / 」、「 % 」(取餘數)
    6. 算術運算子 : 「+」、「-」、「.」(字串運算子)
    7. 比較運算子 : 「>」、「<」、「>=」、「<=」、「==」、「!=」、「===」(型態也要相同)
    8. 邏輯運算子 : (且)「&&」、(或)「||」
    9. 條件運算子 : 「?:」(三元運算子)
    10. 指定運算子 : 「=」、「+=」、「-=」、「*=」、「/=」、「%=」、「.=」
      • 例 : $a += $b --> $a = $a + $b
      • 例 : $a = 10
    11. 邏輯運算子 : 「and」、「or」、「xor」
      • 回傳值通常是 true 或 false !!
    12. 例 : ex3_9.php
      <?php
        $a = 10;
      $b = 20;
      echo '$a = 10'."\n";
      echo '$b = 20'."\n";
      echo '$a + $b = '.($a + $b)."\n";
      echo '$a - $b = '.($a - $b)."\n";
      echo '$a * $b = '.($a * $b)."\n";
      echo '$a / $b = '.($a / $b)."\n";
      echo '$a++ = '.($a++)."\n";
      echo '$a = '.($a)."\n";
      echo '++$a = '.(++$a)."\n";
      echo '$a = '.($a)."\n";
      echo '$b % $a = '.($b%$a)."\n";
      echo '$a > $b '.($a > $b ? 'true' : 'false')."\n";
      echo '$a += 1 ==> '.($a += 1)."\n";
      echo '$a = '.($a)."\n";
      echo '$a *= $b ==> '.($a *= $b)."\n";
      echo '$a = '.($a)."\n";
      echo '$a and $b ==> '.($a and $b)."\n";
      echo '$a or $b ==> '.($a or $b)."\n"; ?>
  3. 太空船運算子
    • 例 : ex3_10.php
      <?php
         echo 1<=>1;
      echo 1<=>2;
      echo 2<=>1; ?>

PHP 的基本資料型態

設定目標:
  • 了解 PHP 標準資料型態種類
  • 了解 PHP 資料型態轉換方式

PHP 標準資料型態
  1. 整數(Integer) : 32 bits or 64 bits
    • PHP_INT_MAX : 該平台最大整數值
    • PHP_INT_SIZE : 該平台整數位元值大小
    • 運算過程中,若超出整數型態值,則自動轉成浮點數!
  2. 浮點數(float) : 32 bits or 64 bits
    • 又稱實數(real),專用於存放有小數點的數字資料型態
    • 因為 PHP 屬弱型別資料型態,所以 float or double 都是相同資料型態!
    • e : 科學表示法,表示以10為底的指數
      • 例 : 9.773e3 = 9773
  3. 字串 : 沒有大小限制
    • 單引號 : 單引號中的變數不會轉成內容值
    • 雙引號 : 雙引號中的變數會轉成內容值
    • 跳脫字元 : 使用反斜線「 \ 」
      • \t : 相等於 [Tab] 鍵
      • \n : 換行,並移至行頭
      • \r : 換行
  4. 布林值(boolean) :
    • 表達事件的「真」或「假」!
    • 值 : true or false / True or False / TRUE or FALSE / 其它0以外的值:true or 0:false
    • 例 : ex3_4.php
      <?php
        $t = true;
      $f = false;
      echo "\$t 值 : $t 數字 : (int)$t "."<br />";
      echo "\$f 值 : $f 數字 : (int)$f "."<br />"; ?>
  5. 陣列(array) :
    • 把相同的資料型態的若干個變數集合起來,就成了陣列!
    • 陣列可以是一維、二維,甚至是多維!
    • 陣第一筆資料,由索引值為 0 開始配置!
    • 例 : ex3_5.php
      <?php
        $x[0] = "Hello";
        echo $x[0];
      ?>
      
      PS:這邊只介紹陣列資料型態,使用方式則在後來的章節才會說明!
  6. 物件(object) :
    • 利用 class 關鍵字定義一個類別(模型),再利用 new 關鍵字來建立這個類別的物作(實例)!
  7. 資源(resource) :
    • 透過專門的函數來建立和使用,負責與外部資源的聯繫!
    • 例 : XML文件、資料庫連線、讀寫外部檔案…等等!
  8. 空值(NULL) :
    • 表示沒有任何內容的變數!
    • 例 : ex3_6.php
      <?php
        $a = NULL;
        echo "\$a = $a";
      ?>
      
PHP 資料型態轉換
  1. 強制轉換
    • 轉換成整數 : (int) (integer)
    • 轉換成浮點數 : (float) (double) (real)
    • 轉換成字串 : (string)
    • 轉換成布林值 : (bool) (boolean)
    • 轉換成二進位字串 : (binary)
    • 轉換成陣列 : (array)
    • 轉換成物件 : (object)
    • 轉換成 NULL : (unset)
    • 例 : ex3_7.php
      <?php
         $pi = 3.141592;
         echo "\$pi 轉成整數 : ".(int)$pi;
         $input = "3.141592pi";
         echo "pi 轉成浮點數 : ".(float)$input;
      ?>
      
  2. 以函數轉換
    • settype(): 需要輸入兩個參數,一是變數,二是要轉換的資料型態!
      • 資料型態參數 : “integer”、“int”、“float”、“string”、“boolean”、“bool”、“array”、“object”、“null”
    • 轉換成功回傳 true,轉換失敗回傳 false !!
    • 例 : ex3_8.php
      <?php
        $pi = 3.141592;
        settype($pi, "integer");
        echo "\$pi 轉成整數: ".$pi;
        $piString = "3.141592circle";
        echo "是否有轉成功".settype($piString, "float");
        echo "\$piString 是: ".$piString;
      ?>
      
    • 其他轉換函數 :
      • intval() : 轉換成整數
      • floatval()、doubleval(): 轉換成浮點數
      • strval() : 轉換成字串
    • gettype() : 取得資料型態
    • intdiv() : 取餘數

2021年3月5日 星期五

PHP 環境安裝(二)

設定目標:
  • 在 Windows 10 上使用 VSCode 做為 PHP IDE 環境
快速操作流程:
  1. 在 PHP 官網上,下載 VS16 x64 Non Thread Safe 的 ZIP 套件
  2. 在 C 碟建立一個 php 目錄
  3. 將下載的檔案,移至 php 目錄內
  4. 按滑鼠右鍵,解壓縮全部!
  5. 解壓縮目錄到 php 目錄下即可!
  6. 設定環境變數,將 php 目錄加入 path 路徑內!開始->設定->系統->關於->進階系統設定->環境變數->系統變數->Path->編輯->新增
  7. 開啟命令提示字元,進行確認!
  8. 到 VSCode 官網上,下載 Windows 版本的安裝檔!
  9. 執行安裝工作!可一鍵到底!
  10. 安裝完後成,執行 VSCode !
  11. 使用 Extension 安裝 PHP Extension Pack 開發工具!
  12. 新增一個檔案
  13. 將檔案存成 hello.php ,並在檔案內寫入下列程式:
    <?php
         print "Hello World";
    ?>
    
  14. 開啟 VSCode Setting 功能,進行 php 環境設定:
  15. 設定 PHP 可執行檔的目錄位置!
  16. 設定檔內容如下圖所示:
  17. 關閉 VSCode ,重新開啟
  18. 開啟 Terminal 視窗,執行 php 程式!

PHP 變數的使用

設定目標:
  • 了解 PHP 變數的使用方式
  • 了解 PHP 變數命名的習慣與編排格式

PHP 變數類型與使用方式
  1. PHP 的變數
    • 定義 : 利用一個名稱,暫時記錄某些資料。
    • 命名規則 : $<變數名稱>
      • 以 $ 為開頭  
      • 變數名稱開頭字元為字母或底線,不能是數字!
      • 大小寫有別
    • 內容值的宣告:
      • ‘’ or “” : 表示內容值是文字
      • 數字不需要使用 ‘’ or “”
      • 變數若沒宣告內容值,則以預設值填入!
        • 整數、浮點數 : 0
        • 字串 : 空字串
        • 布林值 : false
        • 陣列 : 空陣列
    • 例 : ex3_1.php
      <?php
          // 變數 a 沒宣告就使用,會產生 E_NOTICE 的警告
          echo '$a: '.$a.'<br />';
          $name = 100;
          echo '$name: '.$name.'<br />';
          $name = 'David';
          echo '$name: '.$name.'<br />';
          $a = $a + 100;
          echo '$a: '.$a.'<br />';
      ?>
      
  2. 變數的存活範圍
    • 區域變數 : 變數的內容值只能在函數(function)內使用
    • 全域變數 : 變數的內容值可在整個程式內使用
    • 例 : ex3_2.php
      <?php
           $x = 1;
           function hello($x){
             $sum = $x * 2;
             echo "函數執行結束 <br />";
           }
      ?>
      <p> -------我是分隔線------</p>
      <?php
           hello($x);
           echo "x=$x<br />";
           echo "sum=$sum<br />";
      ?>
      
  3. 常數
    • 常使用,但永不改變的數值
    • 利用 define 函數定義常數名稱,方便記憶
    • 例 : ex3_3.php
      <?php
           define('PI', 3.1415926);
           echo "圓周率:".PI;
      ?>
      

2021年3月4日 星期四

PHP 程式寫作方式

設定目標:
  • 了解 PHP 程式語言寫作方式
  • 了解 PHP 程式語言寫作習慣與編排格式

PHP 程式寫作常見方式:
  1. HTML 內嵌 PHP 程式標籤 :
    <?php
    你的 php 程式碼;
    ?>
    • 範例 : hello.php
      <!doctype html>
      <html lang="en">
      <head>
      <title>Hello World</title>
      </head>
      <body>
      <?php
           print "Hello World";
      ?>
      </body>
      </html>
      
    • VSCode 使用提示:
      • 選擇 hello.php 頁籤
      • 直接輸入 html ,在輔助視窗中,選擇 html:5
      • 在<body>標籤底下輸入範例內容!
      • 將檔案存檔
  2. PHP 包含 HTML 標籤:
    • 範例1 : world.php
      <?php
        print <<<_HTML_
             <form method="post" action="$_SERVER[PHP_SELF]">
             Your Name:<input type="text" name="user" />
             <br/>
             <button type="submit" class="btn btn-primary">Say World</button>
             </form>
      _HTML_;
      ?>
      
    • 範例2 : world1.php
      <?php
           print "<h5>test</h5>";
      ?>
      
PHP 基本輸出方法
  1. 使用 echo
  2. 使用 print
  3. 使用 printf() 函數
  4. 範例:
    <?php
         echo "Hello <br />";
         echo 'World <br />';
         print "Hello2 <br />";
         print 'World2 <br />';
         printf("Hello World");
    ?>
    
PHP 註解用法
  1. 單行註解 : // or #
  2. 區塊註解 : /* */
  3. 範例 : ex6_2.php
    <?php
         echo "你愛他 <br />";
      // echo '真的嗎? <br />';
      print "他不愛你 <br />";
      /* 以下是猜的
      print '他有外遇 <br />';
      printf("你有外遇");
      */
    ?>
    
課後練習:
  1. 實作 hello.php 內容,並上傳檔案至 github 你的專案內!

PHP 語言運作概念

設定目標:
  • 了解靜動態網站運作方式
  • 了解 PHP 動態網站運作方式
  • 了解 MVC 模組運作方式

WWW 站台運作基本概念:
  • WWW 站台的運作方式:
    1. 靜態網站--圖案取自「鳥哥的私房菜」

    2. 動態網站--圖案取自「鳥哥的私房菜」

  • PHP 動態語言運作方式與 MVC 概念
    1. PHP 在 WWW 站台內運作的情形概念

    2. MVC 運作模式概念
  • 現代網站分工模式介紹
    1. 前端網頁運作
      • HTML / CSS / JavaScripts
      • Framework
    2. 後端網站運作
      • PHP / Java / Python / C++ /C
      • Framework

2021年3月3日 星期三

在 Windows 10 上安裝 Docker

設定目標:
  • 在 Windows 10 Home上安裝 Docker
  • 其它版本只要安裝 Hyper-V 元件,即可順利安裝完成!

  1. Docker 官網上,選擇 Windows 版本下載 Docker 套件!
  2. 開啟下載檔案,開始安裝流程!
  3. 安裝過程中,需要使用 WSL 2 相關元件,以及想在桌面上有捷徑可用!所以,請勾選這兩項!
  4. 顯示安裝過程!
  5. 安裝過後,需要重新開機!
  6. 重開機之後,桌面上會有一個徑捷圖示!
  7. 在通知項目清單中,提示要安裝 WSL2 項目!直接按下連結網址與 restart 按鍵!
  8. 連結網址將引導至微軟網頁!按項目步驟進行安裝即可!
  9. 以系統管理員,啟動 PowerShell !
  10. 將網頁中的指令,複製到 PowerShell 中執行!
  11. 按網頁指示,依不同版次的 windows ,執行不同的指令!
  12. 安裝後,應會自舅重新開機!
  13. 開機後,請注意查看一下工作列上的 Docker 圖示!應該是處於停止運作的狀況!
  14. 此時按滑鼠右鍵,試著重新啟動 docker ....
  15. 接下來,通知需要安裝 WSL2 Linux 核心更新套件!畫面會引導至微軟網頁!
  16. 下載檔案後,進行安裝流程!
  17. 安裝完成後的畫面!
  18. 按照網頁指示,將 WSL 版本設定在第 2 版!
  19. 設定過程中,如果有要求重新啟動系統,會出現如下畫面,記得就直接 restart !!
  20. 重新啟動系統後,即可看到工作列上的圖示,顯示執行中!