日韩性视频-久久久蜜桃-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ò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲毛片大全 | 男人的天堂va| 欧美一a一片一级一片 | 国产精品第1页 | 在线观看免费av片 | 国产主播中文字幕 | 亚洲成人精品一区 | 999国产精品视频免费 | 欧美成人精品网站 | 亚洲国产成人在线观看 | 伊人亚洲| 久久精品www人人爽人人 | 成人综合在线视频 | 亚洲精品中文字幕乱码三区91 | 中文字字幕在线中文乱码 | 美女少妇一区二区 | 欧美三级一级 | 久久久亚洲成人 | 国产一区二区视频在线观看 | 伊人黄色 | 少妇高潮久久久久久潘金莲 | 一级成人免费视频 | 欧美 日韩 国产精品 | 在线看日韩 | jzzjzz日本丰满成熟少妇 | 四虎成人网 | 大牛影视剧免费播放在线 | 国产精品久久久毛片 | 欧美粗大猛烈老熟妇 | 奇米影视第四色首页 | 怡红院av亚洲一区二区三区h | 男人喷出精子视频 | 亚洲综合p | 久久久九九 | 国产一区二区内射 | 香蕉91视频| 黄色视屏在线免费观看 | 我要色综合网 | 麻豆精品视频在线观看 | 伊人久久精品视频 | 国产成人精品在线播放 | 玖玖在线观看 | 男女在线观看视频 | a中文字幕 | 九九热在线视频免费观看 | 亚洲一区国产精品 | 欧美综合在线一区 | 亚洲高清二区 | 国产精品不卡视频 | 日韩av三区 | 综合久久综合久久 | 日本wwwxxx| 日韩亚洲欧美在线观看 | 中文一区在线 | 色婷婷激情五月 | 超碰导航 | 亚洲精品久久久久av无码 | 福利视频一区 | 一区二区在线视频观看 | 蜜桃又黄又粗又爽av免 | 青青偷拍视频 | 久久国产精品精品国产 | 黄色影音 | 成人在线视频网址 | 国产精品99久久久久久人 | 香蕉黄色网 | 中文字幕99 | 日韩一三区 | 久久久久久日产精品 | 丰满大肥婆肥奶大屁股 | 日韩精品在线观看免费 | 久久精品一区二区国产 | 欧美乱大交 | 欧美日韩亚洲不卡 | 欧美大片高清 | 四虎永久免费地址 | 久久无码人妻一区二区三区 | 中文字幕一二三四 | 好色999| 国产美女精品人人做人人爽 | 在线亚洲+欧美+日本专区 | 免费av一区| 女av在线 | 正在播放91| 就去吻亚洲 | 精品国产一区二区三区在线观看 | 欧美淫| 欧美日韩一区二区三区69堂 | 亚洲精品成人片在线观看精品字幕 | 亚洲男人天堂2019 | 亚洲区综合 | 在线亚洲色图 | 亚洲国产精品成人综合久久久 | 国产一区二区在线视频观看 | 欧美成人性生活 | 精品无人国产偷自产在线 | 欧美色就是色 | 国产精品久久久久久久久久东京 | 亚洲久久天堂 |