日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

全面解读php-面向对象

發布時間:2024/7/5 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全面解读php-面向对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、類的自動載入

//類的自動載入我們使用 spl_autoload_register($autoload_function )。我們需要在不同的地方包含更多不同的類文件,只需要多寫幾個 $autoload_function就可以了。 //例如: spl_autoload_register('my_autoloader');function my_autoloader($class) {include 'classes/' . $class . '.class.php'; }

假如程序現在需要包含 Database.class.php, 當程序運行到 my_autoloadder ()時,發現Database.class.php類不存在,就會自動包含進來。

二、PSR-0規范

?三、SPL庫的使用 (Standard Php Library)

1、SPL常用數據結構。

SplStack (棧)

特點:只有一個出入口,跟試管兒一樣,先進后出。

$stack = new SplStack(); $stack ->push('orange'); $stack ->push('banana');$stack->rewind(); while($stack->valid()){ //對象的valid()方法檢查是否到了結尾處。var_dump($stack->current());$stack->next(); } //輸出結果 string 'banana' (length=6) string 'orange' (length=6)

SplQueue(隊列)

特點:先進先出,后進后出

$queue = new SplQueue(); $queue->enqueue('A'); $queue->enqueue('B');$queue->rewind(); while($queue->valid()){echo $queue->current(),"\n";$queue->next(); }//輸出結果: //A //B
//注:
$queue->dequeue(); //用于刪除最前面的一個數據。

SplHeap(j堆,又叫二叉堆)

特點:采用二叉樹的方式存儲數據。

分類:最大堆(大根堆)和最小堆(小根堆)

最大堆:根結點的鍵值是所有堆結點鍵值中最大者,且每個結點的值都比其孩子的值大。

最小堆:根結點的鍵值是所有堆結點鍵值中最小者,且每個結點的值都比其孩子的值小

下面以最小堆來進行說明

$h = new SplMinHeap();// [parent, child] $h->insert([9, 11]); $h->insert([0, 1]); $h->insert([1, 2]); $h->insert([1, 3]); $h->insert([1, 4]); $h->insert([1, 5]); $h->insert([3, 6]); $h->insert([2, 7]); $h->insert([3, 8]); $h->insert([5, 9]); $h->insert([9, 10]);for ($h->top(); $h->valid(); $h->next()) {list($parentId, $myId) = $h->current();echo "$myId ($parentId)\n"; }//輸出結果 1 (0) 2 (1) 3 (1) 4 (1) 5 (1) 7 (2) 6 (3) 8 (3) 9 (5) 10 (9) 11 (9)

SplFixedArray (固定長度的數組)

// Initialize the array with a fixed length $array = new SplFixedArray(5);$array[1] = 2; $array[4] = "foo";var_dump($array[0]); // NULL var_dump($array[1]); // int(2) var_dump($array["4"]); // string(3) "foo"

四、鏈式操作

鏈式操作最核心的一點就是要返回 $this

class DataBase {public function where($condition){//....return $this;}public function orderBy($order){//....return $this;}public function limit($limit){//....return $this;} }

操作方式:

$db = new DataBase() $db->where()->orderBy()->limit();

例如下面這個是yii2上嗎的where方法,return $this 是關鍵

?

轉載于:https://www.cnblogs.com/chrdai/p/11167234.html

總結

以上是生活随笔為你收集整理的全面解读php-面向对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。