基础

基础 属于 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)
{
    // ...
}

还有些文件包含用于直接执行的语句,比如通常用作 Web 应用入口的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 编辑 该链接会在新窗口或标签页中打开

学习 基础