基礎

基礎 在 PHP

1 個練習

關於 基礎

一般語法

PHP 是一種直譯式語言,這表示它會直接執行你寫的程式碼。 PHP 程式碼檔案是文字檔,裡面包含 PHP 起始標籤<?php,用來標示 PHP 程式碼的開始。 如果檔案裡只有 PHP 程式碼,可以省略結尾標籤?>,這個標籤用來標示 PHP 程式碼的結束。 想進一步了解 PHP 標籤,請參閱 PHP 標籤文件。

<?php

// All PHP code goes here

// No closing tag required at the end

為了方便閱讀,所有程式碼範例都省略了 PHP 起始標籤<?php。 不過我們的 PHP 練習都已經幫你加好了,所以你不需要自己動手加。

所有敘述,例如賦值或函式呼叫,都必須以;結尾,以分隔指令。 省略;(就像 JavaScript 那樣)是不被允許的,會導致語法錯誤。 你可以從 PHP 文件進一步了解指令分隔。

$message = "Success!"; // Statement correctly ends with `;`
$message = "I know JavaScript." // PHP Parse error: syntax error, [...]

值與變數

PHP 是一種動態型別的程式語言。 值的型別只有在程式執行時才會檢查。 使用賦值運算子=,可以把任何型別的值指定給任何變數名稱。 變數名稱必須以錢字號$開頭。 想更深入了解變數,請參閱 PHP 變數文件。

$count = 1; // Assign an integer value of 1
$count = 2; // Re-assign a new value to the variable

$count = false; // You may assign any value type

// Strings can be created by enclosing the characters
// within single `'` quotes or double `"` quotes.
$message = "Success!";

函式與方法

字面值和存在變數裡的值,都可以傳入函式。 定義函式參數時會建立新的變數,用來存放傳入的值。

// Declare the window_width function
function window_width($width)
{
    echo $width; // Access the value passed into the function as $width
    // ...
}

window_width(100); // Call the function with the literal value 100

$newWidth = 100;
window_width($newWidth); // Call the function with the value stored in $newWidth

函式可以使用關鍵字return回傳值。 要回傳的值可以是字面值、存在變數裡的值,或是某個指令的結果。

function window_height()
{
    $heightOffset = 10;

    return 100 + $heightOffset;
}

類別及其實例裡的函式稱為方法。 呼叫方法時,方法名稱前面要加上實例和->。 類別實例是透過new操作建立的。 方法可以存取特殊變數$this,它指向目前的實例。

<?php
// Calculator.php

class Calculator {
    // ...

    public function sub($x, $y)
    {
        return $this->add($x, -$y); // Calls the method add() of the current instance
    }

    public function add($x, $y)
    {
        return $x + $y;
    }
}

$calculator = new Calculator(); // Creates a new instance of Calculator class
$calculator->sub(3, 1); // Calls the method sub() of the instance stored in $calculator
// => 2

我們會在之後的練習中更深入探討函式與類別。

簡單的除錯

除錯最基本的方式,就是把值和變數的內容印出來,這有助於理解程式實際發生了什麼事。 PHP 可以用下列方式印出值:

  • echo $variable;:輸出該值的字串表示
  • print $variable;:和echo $variable;相同
  • var_dump($variable);:可以更深入了解該值,例如 PHP 看到的型別

使用echo或print時:空字串、false和null不會顯示出來。 而類別和實例則會讓它們發生錯誤。 用var_dump()就能看到這些內容。

在線上編輯器中,你產生的輸出會和測試結果一起顯示。 使用 CLI 時,輸出會和進度指示混在一起,出現在測試摘要之前。

程式碼組織

在 PHP 和許多其他語言中,檔案是程式碼組織的基本單位。 為了在程式碼區塊中顯示應該查看的檔案名稱,我們會使用註解。 你永遠不需要在自己的檔案裡加上這類註解:

<?php
// NameOfPhpFile.php

[...]

程式碼、函式和類別都可以放在同一個檔案裡。 但通常這些程式碼單位會分別放在不同的檔案中。

常見的做法是一個檔案放一個類別,而且檔名要和類別名稱相符。

<?php
// Calculator.php

class Calculator {
    // ...

    function add($x, $y)
    {
        return $x + $y;
    }
}

函式通常會依照共同的主題分組放在同一個檔案裡。

<?php
// window_handling.php

function window_paint()
{
    // ...
}

function window_size($width, $height)
{
    // ...
}

function window_move($x, $y)
{
    // ...
}

另外也常有包含可直接執行敘述的檔案,例如index.php,它通常被當作網頁應用程式的進入點。

<?php
// index.php

$sum = add(1, 2);
// ...

命名慣例

類別名稱應該全部使用PascalCase。 視風格標準而定,變數、函式和方法的命名可以是camelCase或snake_case。 名稱可以包含字母a-zA-Z、數字0-9和底線_,但不能以數字開頭。

註解

單行註解以//開頭,而一段文字可以用/*和*/包起來,變成多行註解。

// Single-line comment

/*
  Multi-line comment
*/
透過 GitHub 編輯 連結會在新視窗或分頁中開啟

學習 基礎