一、函數php
php內置函數能夠直接使用,若是沒有安裝php擴展便可html
自定義函數函數
//函數function 函數名 function dump($var = null){ //支出默認參數值 echo ‘<pre/>’; var_dump($var); }二、類(class)和對象( new Obj)post
<?php //定義一我的的類,如今還不是對象 class Person { //私有屬性private $eye = '大眼睛'; private $mouth = '小嘴巴'; private $leg = '大長腿'; //構造方法 new 對象的時候自定調用 public function __construct() { echo __CLASS__; } public function run() { echo $this->leg; } //學習 會用到 腿(走路)、眼睛(看書)、嘴(唸書) public function study() { echo $this->leg, $this->eye, $this->mouth; } } //使用類 new之後就變成了對象 $person = new Person(); //輸出 Person $person -> run(); //輸出 大長腿 $person -> study(); //輸出 大長腿 大眼睛 小嘴脣三、類的封裝(public, protected, private)和繼承(extends)學習
//類的繼承 class A { public function help() { echo __METHOD__; } //聲明一個吃的方法 私有的 private function eat() { echo __METHOD__; } } //子類能夠繼承父類全部的公共方法和屬性、受保護的方法和屬性,私有方法除外 //若是想使用,重寫便可 class B extends A { public function doSomething() { $this -> help(); //繼承了父類的方法 前提是聲明爲public echo '<hr/>'; $this -> eat(); //由於吃是私有的,子類不能使用, 這裏在子類中寫了一個eat方法. } //子類的吃 public function eat() { echo __METHOD__; } } $b = new B; $b->doSomething();//輸出結果A::helpthis
B::eat四、類的靜態方法和靜態屬性url
<?php //定義一個Url 相關的類 class Url { public static function createUrl($arr = []) { echo __METHOD__; } public static function redirect($url = '') { echo __METHOD__; } public static function getCurrentUrl() { echo __METHOD__; } } //把方法聲明成靜態方法,不須要每次都實例化(new)對象,操做方便,節省內存,效率更高 echo Url::createUrl($var=''); echo Url::redirect($url=''); echo Url::getCurrentUrl();五、類的靜態屬性spa
<?php //定義一個Url 相關的類 class Url { //聲明爲類常量 const URL = 'http://www.baidu.com'; //從5.3之後能夠直接在類外部使用 const //聲明爲靜態變量 public static $var = 'it is very good'; public static function createUrl($arr = []) { echo self::URL; echo '<br/>'; echo self::$var; echo '<br/>'; echo __METHOD__; } public static function redirect($url = '') { echo __METHOD__; } public static function getCurrentUrl() { echo __METHOD__; } } //把方法聲明成靜態方法,不須要每次都實例化(new)對象,操做方便,節省內存,效率更高 echo Url::createUrl($var='');