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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

chengren-成人-php系列3

發(fā)布時(shí)間:2024/9/20 php 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 chengren-成人-php系列3 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2010年最新PHP類(lèi)的精縮歸納

chengren-成人-php系列3

?

十:類(lèi)型提示:

注意,類(lèi)型提示功能只能用于參數(shù)為對(duì)象的提示,而無(wú)法用于為整數(shù),字串,浮點(diǎn)等類(lèi)型提示。有些類(lèi)的方法需要傳入的參數(shù)為所期望的對(duì)象類(lèi)型,可以用下面的方法達(dá)到強(qiáng)制實(shí)施此替則。要達(dá)到類(lèi)型提示,只要在方法的對(duì)象型參數(shù)前加一個(gè)已存在的類(lèi)的名稱(chēng),如:function funname(OtherClassName $otherclassINSName,$c....),注意,OtherClassName必須是存在的類(lèi)。如下:

class em{ var $k=56; }
class test{
function __construct()
{ echo $this->addab(new em(),2); }

function addab(em $j,$c) //這個(gè)方法,即可以在內(nèi)部調(diào)用,也可以在外部調(diào)用。只要作用域許可。
{ return $j->k+$c; }
}
$a = new test();
$b = new em();
echo $a->addab($b,2); //或 $a->addab(new em(),2);

十一、類(lèi)的管理:

1、instanceof關(guān)鍵字:用于分析一個(gè)對(duì)象是否是某一個(gè)類(lèi)的實(shí)例或子類(lèi)或是實(shí)現(xiàn)了某個(gè)特定的接口:如下例,但要注意: 類(lèi)名沒(méi)有任何引號(hào)等定界符,否則會(huì)出錯(cuò)。如test不能用'test'

class test2{}
class test{}
class testChilern Extends test{}
$a = new test2();
$m = new test();
$i = ($m instanceof test);
if($i)echo '$m是類(lèi)test的實(shí)例!<br />'; // get this value
switch ($a instanceof test){
case true :
echo 'YES<br />';
break;
case false :
echo 'No<br />'; //get this value
break;
}
$d=new testChilern();
if($d instanceof test)echo '$d是類(lèi)test的子類(lèi)!<br />'; // get this value

2、確定類(lèi)是否存在:boolean class_exists(string class_name): class_exists('test');

3、返回類(lèi)名:string get_class(object),成功時(shí)返回實(shí)例的類(lèi)名,失敗則返回FALSE:

$a = new test2(); echo get_class($a); //返回 test2

4、了解類(lèi)的公用屬性:array get_class_vars('className') ,返回關(guān)鍵數(shù)組:包含所有定義的public屬性名及其相應(yīng)的值。這個(gè)函數(shù)不能用實(shí)例名做變量

5、返回類(lèi)方法:get_class_methods('test'); //或: get_class_methods($a);可用實(shí)例名做參數(shù),返回包括構(gòu)造函數(shù)在內(nèi)的所有非私有方法。

6、print_r(get_declared_classes())了解當(dāng)前PHP版本中所有的類(lèi)名。PHP5有149個(gè)。

7、get_object_vars($a)返回實(shí)例中所有公用的屬性及其值的關(guān)聯(lián)數(shù)組。注意它和get_class_vars()的區(qū)別:

/* (1) get_object_vars($a)是用實(shí)例名做參數(shù),而get_class_vars('test')是用類(lèi)名做參數(shù)。
* (2) get_object_vars($a)獲得的屬性值是實(shí)例運(yùn)行后的值,而get_class_vars('test')獲得的屬性值是類(lèi)中的初始定義。
* (3) 兩者均返回關(guān)聯(lián)數(shù)組,且均對(duì)未賦值的屬性返回NULL的值。如類(lèi)test中有定義了public $q;則返回Array ( [v] => 5 [q]=>) ,
*/

8、返回父類(lèi)的名稱(chēng):get_parent_class($b);//或get_parent_class('test2'); 返回test

9、確定接口是否存在:boolean interface_exists($string interface[,boolean autoload])

10、確定對(duì)象類(lèi)型: boolean is_a($obj,'className'),當(dāng)$obj屬于CLASSNAME類(lèi)時(shí),或?qū)儆谄渥宇?lèi)時(shí),返回TRUE,如果$obj與class類(lèi)型無(wú)關(guān)則返回FALSE。如:is_a($a,'test')

11、確定是否是某類(lèi)的子對(duì)象:當(dāng)$b是繼承自TEST類(lèi)時(shí),返回TRUE,否則FALSE。boolean is_subclass_of($b,'test');

12、確定類(lèi)或?qū)嵗?#xff0c;是否存在某方法。method_exists($a,'getv') //或用method_exists('test','getv'),此函數(shù)適用于非public定義的作用域的方法。

以上函數(shù)實(shí)例:

class test{
public $v=2;
private $c=5;
function __construct(){
$this->v=5;
}
private function getv(){
return $this->v;
}
}
class test2 extends test{}

$a=new test();
$b=new test2();
print_r( get_class_methods('test')); //或:print_r( get_class_methods($a)); 均返回:Array ( [0] => __construct [1] => getv )
echo '<br />';
print_r( get_class_vars('test')); //返回:Array ( [v] => 2 ),和上面不一樣,不能用print_r( get_class_methods($a));
echo '<br />';
echo get_parent_class($b);//或get_parent_class('test2'); 返回test
echo '<br />';
echo is_a($b,'test');// 返回1
echo '<br />';
if(is_subclass_of('test2','test'))echo '是子類(lèi)!'; //或(is_subclass_of($b,'test')),返回1,當(dāng)參數(shù)1為$a時(shí)則返回false,
echo '<br />';
echo method_exists($a,'getv') //或用method_exists('test','getv')返回1,本函數(shù)也適用于用private等定義域的方法。

十一、自動(dòng)加載類(lèi)庫(kù)文件:

當(dāng)類(lèi)多了以后,比如要在一個(gè)文件中載入3個(gè)類(lèi)庫(kù)文件:a.class.php,b.class.php,c.class.php要用三個(gè)require_once

require_once('classes/a.class.php);
require_once('classes/b.class.php);
require_once('classes/c.class.php);

可以用PHP5自動(dòng)加載的功能來(lái)處理:在全局應(yīng)用配置文件中,定義一個(gè)特殊的函數(shù)__autoload($class)函數(shù)(__autoload并不是一個(gè)類(lèi)的方法,只是單獨(dú)的函數(shù),和類(lèi)沒(méi)有關(guān)系):

function __autoload($class){
require_once("classes/$class)
}

該函數(shù)放哪沒(méi)有關(guān)系,在創(chuàng)建類(lèi)實(shí)例時(shí),也不必去調(diào)用這個(gè)autoload函數(shù)。PHP會(huì)自動(dòng)完成。但務(wù)必注意一點(diǎn):“在調(diào)用頁(yè)面上創(chuàng)建實(shí)例所使用的類(lèi)名稱(chēng)”、和“被調(diào)用的文件名”、以及“該文件中的類(lèi)的名稱(chēng)”3個(gè)必須是一樣的。這樣就不需要去調(diào)用__autoload();如果不一樣則必須單獨(dú)調(diào)用__autoload('c');并給它一個(gè)文件名前綴。如:
c.class.php文件的代碼是:

<?php
class c{
public $m=7;
}
?>這里代碼的類(lèi)名稱(chēng)是c,而文件名也是c,
現(xiàn)在要在index.php調(diào)用:
<?php
function __autoload($class){
require_once "$class.class.php";
}

$m = new c(); //創(chuàng)建實(shí)例調(diào)用的類(lèi)也是c
echo $m->m;
?>

此時(shí)PHP會(huì)自動(dòng)調(diào)用根目錄下的c.class.php中的類(lèi)C。

但如果c.class.php中的代碼是:

<?php
class mm{
public $m=7;
}
?>
而調(diào)用頁(yè)index.php代碼是:
<?php
function __autoload($class){
require_once "$class.class.php";
}
# __autoload('c'); //如果不加這一行就會(huì)出錯(cuò)。
$m = new mm();
echo $m->m;
?>

會(huì)出錯(cuò),提示找不到mm.class.php文件。這時(shí)可以加一行__autoload('c');但這樣就達(dá)不到簡(jiǎn)化代碼的目的。

轉(zhuǎn)載于:https://www.cnblogs.com/chengren/archive/2010/03/30/1700386.html

與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的chengren-成人-php系列3的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品视频入口 | 天堂网www. | 婷婷资源网 | 亚洲欧美日韩中文字幕在线观看 | 亚洲一区日韩精品 | a毛片网站| 理论片大全免费理伦片 | 九九久久精品 | 欧美午夜一区二区三区 | 欧洲美女与动交zozzo | 中文字幕精品一二三四五六七八 | 亚洲第3页| 亚洲福利电影网 | 青草青草视频 | 欧美成人午夜剧场 | 精品人妻一区二区三区免费 | 日韩精品在线一区二区三区 | 日韩综合第一页 | 琪琪色综合 | 久久久成人精品 | 久久人妻无码aⅴ毛片a片app | 欧美日韩一区二区在线观看视频 | 爱臀av| 福利第一页 | 风韵多水的老熟妇 | 人成亚洲 | 日本三级不卡 | 一级大片在线观看 | 日韩精品第三页 | 午夜天堂av| 久久在线看 | 91香蕉视频在线 | 麻豆黄色一级片 | 国产精品午夜久久 | 久久av一区二区三区亚洲 | 欧美日韩国产a | 久草免费在线观看 | 欧美一区二区三区免费看 | 午夜影院在线免费观看 | 欧美大黑b | 亚洲天堂免费看 | 欧美性色黄 | 国产福利小视频在线观看 | 亚洲激情网址 | 美女视频免费在线观看 | 日韩欧美视频 | 中文字幕+乱码+中文乱 | 在线观看黄色免费网站 | 亚洲成人网在线 | 四虎免费久久 | 视频区图片区小说区 | 欧美成人高清 | 日本黄色一区二区三区 | 日日操狠狠操 | 青青草伊人 | 国产原创中文av | 久久久美女视频 | 亚洲视频国产 | 国产成人在线视频观看 | 免费观看黄色av | 国产一区二区高清视频 | 国产精品久久一区 | 四川操bbb | 女生脱裤子让男生捅 | 日韩黄色一级视频 | 日本一区二区三区视频在线观看 | 久久久久亚洲AV成人网人人小说 | 综合久色| 国产精品久久久久久久毛片 | 欲色网站 | 国产美女精品视频国产 | 亚洲乱码中文字幕久久孕妇黑人 | 国产在线播放一区 | 色妺妺视频网 | av一区二区三区 | 亚洲免费在线视频 | 中文字幕精品久久 | 亚洲欧美国产高清va在线播放 | 天干夜天干天天天爽视频 | 国产成人av电影 | 无码人妻aⅴ一区二区三区 国产高清一区二区三区四区 | 久久11 | av福利在线免费观看 | 国产最新视频 | 国产成人精品综合久久久久99 | 欧美一级艳片视频免费观看 | 亚洲一区在线不卡 | 日本无遮挡边做边爱边摸 | 黄色网址免费 | 亲子乱对白乱都乱了 | 亚洲乱码国产乱码精品精剪 | 美女国产免费 | 69综合| 男生女生插插插 | 日本免费观看视频 | 精品二区在线观看 | 亚洲一区二区视频在线观看 | 精品人人妻人人澡人人爽牛牛 | 嫩草影院在线视频 |