亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

PHP進階篇

Jason PHP開發工程師
難度初級
時長 9小時28分
學習人數
綜合評分8.90
570人評價 查看評價
9.3 內容實用
8.8 簡潔易懂
8.6 邏輯清晰
  • 如果構造函數定義成了私有方法,則不允許直接實例化對象了,這時候一般通過靜態方法進行實例化,在設計模式中會經常使用這樣的方法來控制對象的創建,比如單例模式只允許有一個全局唯一的對象。

    class Car {
    ? ?private function __construct() {
    ? ? ? ?echo 'object create';
    ? ?}

    ? ?private static $_object = null;
    ? ?public static function getInstance() {
    ? ? ? ?if (empty(self::$_object)) {
    ? ? ? ? ? ?self::$_object = new Car(); //內部方法可以調用私有方法,因此這里可以創建對象
    ? ? ? ?}
    ? ? ? ?return self::$_object;
    ? ?}
    }
    //$car = new Car(); //這里不允許直接實例化對象
    $car = Car::getInstance(); //通過靜態方法來獲得一個實例

    查看全部
  • 直接寫的字符串是不會匹配的. 只有符合正則規則才會匹配

    查看全部
  • 元字符:正則表達式中具有特殊含義的字符

    \????????轉義字符? ? ? ? \s匹配任意空白符?

    ^????????在方括號外面時,表示斷言目標的開始位置? ? ? ?/^我[^\s]+(蘋果|香蕉)$/

    ????????? 作為第一個字符時,表示字符取反? ? ?[^\s]匹配任意非空白符

    $????????斷言目標的結束位置????????/^我[^\s]+(蘋果|香蕉)$/

    .????????匹配除換行符外的任何字符? ??[\w\.\-]

    [????????開始字符類定義

    ]?????????結束字符類定義

    |????????開始一個可選分支? ? ? ? ? 蘋果|香蕉? 匹配蘋果或香蕉

    (????????子組的開始標記

    )????????子組的結束標記

    ?????? ? 作為量詞表示0次或1次匹配

    *????????量詞,0次或多次匹配

    +????????量詞,1次或多次匹配????????[^\s]+一次或多次匹配空白字符

    {????????自定義量詞開始標記

    }????????自定義量詞結束標記

    -????????標記字符范圍????????????

    ???????? 在方括號內時,0-9表示0到9之間的所有數字

    /^我[^\s]+(蘋果|香蕉)$/

    ^開始????????

    查看全部
    0 采集 收起 來源:元字符與轉義

    2021-04-13

  • /http:\/\//

    正則匹配模式由分隔符/包括

    如果正則匹配模式中需要匹配分隔符,則可以使用反斜杠\進行轉義,即是標注正則匹配模式中的分割符是需要匹配的對象

    $p = '/' . preg_quote($p, '/') . '/';

    點號.用來串聯字符串

    preg_quote來標注變量$p中存在需要匹配的字符'/'

    查看全部
  • ?php

    clahttp://www.xianlaiwan.cn/code/547#editor-tabs-phpss Car {

    ? ? public $name = 'car';

    ? ??

    ? ? public function __clone() {? ? ? ? ? ? //? ?__clone來進行對象復制

    ? ? ? ? $obj = new Car();

    ? ? ? ? $obj->name = $this->name;

    ? ? }

    }

    $a = new Car();? ? ? ? ? // 聲明一個對象a

    $a->name = 'new car';? ? // 對象a的名字定義為'new car'

    $b = clone $a;? ? ? ? ? ?// 克隆對象a,把對象a屬性name的值復制復制給對象b

    if ($a == $b) echo '==';? ?//true? ? ? ? 兩個對象都是同一個類的實例,兩個對象的屬性都相等

    if ($a === $b) echo '==='; //false? ? ? ?兩個對象是否是同一個


    $str = serialize($a);? ?// 對象序列化成字符串

    echo "\n" . $str.'<br>';

    $c = unserialize($str); // 字符串反序列化為對象

    var_dump($c);



    //? “var_dump”是PHP中的調試函數,用于判斷一個變量的類型與長度,并輸出變量的數值。

    查看全部
  • <?php

    class Car {

    ? ? public $speed = 10;

    ? ? /**

    ? ? ?*? 方法__call實現重載:

    ? ? ?*? 當調用與參數$name匹配的函數時,會把該函數在類中重新載入

    ? ? ?*/

    ? ? public function __call($name, $args) {

    ? ? ? ? if ($name == 'speedDown') {

    ? ? ? ? ? ? $this->speed -= 10;

    ? ? ? ? }

    ? ? }

    }

    $car = new Car();

    $car->speedDown(); //調用不存在的speedDown方法

    echo $car->speed;

    /**

    ?*? ? ? __set:? 實現對不存在的屬性賦值

    ?*/

    ?

    public function __set($key, $val) {

    ? ? $this->ary[$key] = $val;

    }

    $car->name = '汽車';? ? ? ? ?//? ? 當類中屬性name不存在時,創建屬性name,并賦值

    /**

    ?*? ? ? __get:? 實現對不存在的屬性讀取

    ?*/

    public function __get($key) {

    ? ? if (isset($this->ary[$key])) {? ? ? ? //? ? 如果類中的屬性key不存在

    ? ? ? ? return $this->ary[$key];? ? ? ? ? //? ? 返回這個值

    ? ? }

    ? ? return null;

    }


    /**

    ?*? ? ? __isset:? 判斷屬性是否設置

    ?*/

    public function __isset($key) {

    ? ? if (isset($this->ary[$key])) {

    ? ? ? ? return true;? ? ? ? ? ? ? ? ? ? ?//? ? ? 如果屬性已設置,返回true

    ? ? }

    ? ? return false;

    }

    ?

    /**

    ?*? ? ? __unset:? 銷毀屬性

    ?*/

    public function __unset($key) {

    ? ? unset($this->ary[$key]);? ? ? ? ? ? ?//? ? ?直接銷毀屬性key

    }

    ?

    ?

    查看全部
  • class Car {? ? ? ? ? ? ? ? ? ? ? ? ?//????定義一個類Car

    ????public?$speed?=?0;???//??定義類中的一個屬性$speed
    
    ????public?function?speedUp()?{?????????//????定義類中的一個方法speedUp
    ?????????$this->speed?+=?10;????????????//????使用$this代表當前類,并使用$this->speed來在該類的方法中調用該類的屬性
    ?????????return?$this->speed;???????????//????類Car的方法Speed是一個函數,他返回當前類的屬性speed的值
    ????}
    }
    
    class?Truck?extends?Car?{???????????????//????定義一個類Truck繼承類Car
    ????public?function?speedUp()?{?????????//????在子類中重寫父類中已有的方法speedUp
    ????????$this->speed?=?parent::speedUp()?+?50;????????//????在子類的方法中調用父類的方法
    ????????return?$this->speed;????????????//????返回值是子類Truck繼承父類的屬性speed
    ?????}
    }
    
    $car?=?new?Truck();?????//????聲明一個對象car,該對象是類Truck的一個實例
    $car->speedUp();????????//????調用對象的方法speedUp(),將在類Truck中尋找方法
    echo?$car->speed;???????//????打印出對象的屬性speed
    ????
    重點1
    使用parent::來調用子類中與父類重名的方法
    查看全部
  • <?php

    //定義一個Car類并實例化一個對象

    class Car {

    ? ? public $name = "布加迪威龍";? ??

    ? ? public $money = 2000;//定義屬性

    ? ??

    ? ??

    ? ? public function getInfo() {? ? ? ??

    ? ? ? ? echo "品牌名是:".$this->name."<br>價值是:".$this->money;

    ? ? ?}

    }


    $car = new car();

    $car->getInfo();

    ?>

    查看全部
  • <?php

    $fruit=array('蘋果','香蕉','菠蘿');

    foreach($fruit as $key=>$value){

    ? ? echo '<br>第'.$key.'值是:'.$value;

    }


    ?>

    一個點都不可以少

    查看全部
  • $arr=array()
    查看全部
    0 采集 收起 來源:PHP數組定義

    2021-02-13

  • 前頁為$page,每頁顯示$n條數據,那么m為當前頁前面所有的數據,即$m = ($page-1) * $n

    <?php

    //連接數據庫

    mysql_connect('127.0.0.1', 'code1', '');

    mysql_select_db('code1');

    mysql_query("set names 'utf8'");

    $page = 2;

    $pagesize = 2;//預設翻頁參數

    //在下兩行構建分頁查詢

    $offset = ($page - 1) * $pagesize;

    $sql = "select * from user limit $offset, $pagesize";

    //獲取翻頁數據

    $result = mysql_query($sql);

    $data = array();

    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

    ? ? $data[] = $row;

    }

    echo '<pre>';

    print_r($data);

    echo '</pre>';


    查看全部
  • 獲取數據集中的一行數據,最常用的是mysql_fetch_array

    //連接數據庫

    mysql_connect('127.0.0.1', 'code1', '');

    mysql_select_db('code1');

    mysql_query("set names 'utf8'");

    //數據預處理 防止查詢不到數據

    mysql_query("insert into user(name, age, class) values('王二', 19, '高三五班')");

    //進行數據查詢

    $sql = "select * from user limit 1";

    $result = mysql_query($sql);

    $row = mysql_fetch_array($result);//在這里獲取一行數據

    echo '<pre>';

    print_r($row);

    echo '</pre>';

    //使用mysql_fetch_array函數獲取一行數據,并將他賦值到$row變量中,以便于后面輸出。

    查看全部
  • 插入數據其實也是通過執行一個sql語句來實現,通常數據都是存儲在變量或者數組中,因此sql語句需要先進行字符串拼接得到。

    $name = '李四';
    $age = 18;
    $class = '高三一班';
    $sql = "insert into user(name, age, class) values('$name', '$age', '$class')";
    mysql_query($sql); //執行插入語句


    查看全部
  • PHP要對數據庫進行操作,首先要做的是與數據庫建立連接,通常我們使用mysql_connect函數進行數據庫連接,該函數需要指定數據庫的地址,用戶名及密碼。

    $host = 'localhost';
    $user = 'code1';
    $pass = '';
    $link = mysql_connect($host, $user, $pass);

    PHP連接數據庫的方式類似于直接在命令行下通過進行連接,類似:mysql -hlocalhost -ucode1 -p,當連接成功以后,我們需要選擇一個操作的數據庫,通過mysql_select_db函數來選擇數據庫。

    mysql_select_db('code1');

    通常我們會先設置一下當前連接使用的字符編碼,一般的我們會使用utf8編碼。

    mysql_query("set names 'utf8'");

    通過上面的步驟,我們就與數據庫建立了連接,可以進行數據操作了。


    查看全部
  • //創建可拋出一個異常的函數
    function checkNum($number){
    ? ? if($number>1){
    ? ? ? ? throw new Exception("異常提示-數字必須小于等于1");
    ? ? }
    ? ? return true;
    }


    <?php

    $filename = 'test.txt';

    try {

    ? ? if (!file_exists($filename)) {

    ? ? ? throw new Exception('文件不存在');

    ? ? }

    } catch(Exception $e) {

    ? ? echo $e->getMessage();

    }


    查看全部

舉報

0/150
提交
取消
課程須知
需要有一定的網頁基礎知識如HTML、CSS樣式等,并且已經學習完成《PHP入門篇》對PHP已經有了簡單的了解,如變量、常量、數據類型等。
老師告訴你能學到什么?
全面的掌握PHP的理論知識與實踐中的應用方法,提高編程能力與掌握網頁開發技能。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!