PHP学习

基础的语法跟C、JAVA并无太大区别

特殊点在于:

字符串

(1) 引号遇到 $

<?php $love = "I love you!"; $string1 = "$love"; //输出为 I love you! $string2 = '$love'; //输出为 $love echo $string1; echo "<br />"; echo $string2; ?>

(2)字符串很长
使用Heredoc结构形式

<?php 
$string1 = <<<GOD 我有一只小毛驴,我从来也不骑。 有一天我心血来潮,骑着去赶集。 我手里拿着小皮鞭,我心里正得意。 不知怎么哗啦啦啦啦,我摔了一身泥. GOD;
//此处仅能有“GOD;”不能加其他文字。GOD只是一个标识符,可改
echo $string1;
?>

面向对象开发
1.类属性必须定义为公有,受保护,私有之一。如果用 var 定义,则被视为公有。

<?php
/** * Define MyClass */
class MyClass {
    public $public = 'Public';
    protected $protected = 'Protected';
    private $private = 'Private';

    function printHello() {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj = new MyClass();
echo $obj->public; // 这行能被正常执行
echo $obj->protected; // 这行会产生一个致命错误
echo $obj->private; // 这行也会产生一个致命错误
$obj->printHello(); // 输出 Public、Protected 和 Private


/** * Define MyClass2 */
class MyClass2 extends MyClass {
    // 可以对 public 和 protected 进行重定义,但 private 而不能
    protected $protected = 'Protected2';

    function printHello() {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj2 = new MyClass2();
echo $obj2->public; // 这行能被正常执行
echo $obj2->private; // 未定义 private
echo $obj2->protected; // 这行会产生一个致命错误
$obj2->printHello(); // 输出 Public、Protected2 和 Undefined

?>

接口
使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。
接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。
接口中定义的所有方法都必须是公有,这是接口的特性。
要实现一个接口,使用 implements 操作符。类中必须实现接口中定义的所有方法,否则会报一个致命错误。类可以实现多个接口,用逗号来分隔多个接口的名称。

<?php

// 声明一个'iTemplate'接口
interface iTemplate {
    public function setVariable($name, $var);
    public function getHtml($template);
}


// 实现接口
class Template implements iTemplate {
    private $vars = array();

    public function setVariable($name, $var) {
        $this->vars[$name] = $var;
    }

    public function getHtml($template) {
        foreach($this->vars as $name => $value) {
            $template = str_replace('{' . $name . '}', $value, $template);
        }

        return $template;
    }
}

你可能感兴趣的:(PHP)