超碰97资源在线免费观看-国产亚洲一区二区久久-欧美日韩成人字幕一区-激情五月网在线视频-亚洲天堂美女av在线-麻豆视传媒精品av-婷婷激情综合激情五月俺也去-国产精品久久久久久亚洲av站-51精产国品一二三产区区,久久久久久久区二区三区四区久久久,色哟哟视频国产精品,日韩va亚洲va欧美

中山php|最優(yōu)網(wǎng)絡(luò)中山做網(wǎng)站 中山php建站

最優(yōu)良人

2011/08/28 at 13:24

中山古鎮(zhèn)到城南客運(yùn)站的8號(hào)公車將取消

今天起,服務(wù)中山市民數(shù)年的8路公交車將成為歷史。原線路被一分為三,202路為市中醫(yī)院-古鎮(zhèn)鎮(zhèn)政府。乘客若需前往海洲、南區(qū)方向則需換乘353路或047路。

標(biāo)簽:
comments Comments (22)    -
2011/08/28 at 13:13

中山坦洲682路公交線今天開(kāi)通

根據(jù)中山網(wǎng)消息,為進(jìn)一步完善坦洲鎮(zhèn)鎮(zhèn)內(nèi)公交線網(wǎng),解決坦洲鎮(zhèn)群聯(lián)村村民出行問(wèn)題,公共汽車682路線"金斗灣客運(yùn)站—群聯(lián)村"線路今日開(kāi)通。營(yíng)運(yùn)時(shí)間:金斗灣客運(yùn)站(6:30-18:30),群聯(lián)村(7:00-19:10),發(fā)車間隔為15-25 分鐘/班。實(shí)行無(wú)人售票,上車 2.0元。

標(biāo)簽:
comments Comments (4)    -
2011/08/27 at 23:07

mysql字符串替換函數(shù)replace

mysql替換字符串函數(shù)replace可以實(shí)現(xiàn)把某字段的某些字符串替換成其他字符串,例如

update dede_addonarticle set body=replace(body,'news/uploads/allimg/c110826','news/uploads/blank.gif?')

可以把dedecms的文章內(nèi)容表所有的圖片鏈接替換成空白圖片,這樣就可以去把已經(jīng)上傳的大量圖片刪除以節(jié)省空間了,在對(duì)采集回來(lái)的數(shù)據(jù)尤其有用。

標(biāo)簽:
comments Comments (323)    -
2011/08/27 at 17:21

JS實(shí)現(xiàn)簡(jiǎn)單的垂直不簡(jiǎn)單滾動(dòng)跑馬燈

以下代碼實(shí)現(xiàn)垂直不簡(jiǎn)單滾動(dòng)跑馬燈效果,注意js代碼要放在html代碼后面

<div id=maq style=overflow:hidden;height:200px;width:204px;>
<div id=mtext>
<ul>
<li><a href="http://m.7kwoool.com/news/view-8611-1.html">從善如流重民意辦好實(shí)事惠民生</a></li>
</ul>
<ul>
<li><a href="http://m.7kwoool.com/news/view-8612-1.html">岐江夜游兩岸大改造 重點(diǎn)打造濱江一號(hào)廣</a></li>
</ul>
<ul>
<li><a href="http://m.7kwoool.com/news/view-8613-1.html">60年工齡鉗工熬成機(jī)車專家</a></li>
</ul>
<ul>
<li><a href="http://m.7kwoool.com/news/view-8614-1.html">小客車成了水果攤</a></li>
</ul>
<ul>
<li><a href="http://m.7kwoool.com/news/view-8615-1.html">曾軼可欲投票洪辰被阻止?</a></li>
</ul>
<ul>
<li><a href="http://m.7kwoool.com/news/view-8616-1.html">電動(dòng)車上練瑜伽?</a></li>
</ul>
<ul>
<li><a href="http://m.7kwoool.com/news/view-8617-1.html">為未來(lái)發(fā)展獻(xiàn)計(jì)支招</a></li>
</ul>
<ul>
<li><a href="http://m.7kwoool.com/news/view-8618-1.html">為重點(diǎn)工程把脈開(kāi)方</a></li>
</ul>
<ul>
<li><a href="http://m.7kwoool.com/news/view-8619-1.html">"防盜網(wǎng)"令小區(qū)治安明顯好轉(zhuǎn)</a></li>
</ul>
<ul>
<li><a href="http://m.7kwoool.com/news/view-8620-1.html">彩虹社區(qū)</a></li>
</ul>
<ul>
<li><a href="http://m.7kwoool.com/news/view-8621-1.html">116家個(gè)體工商戶轉(zhuǎn)型為企業(yè)</a></li>
</ul>
<ul>
<li><a href="http://m.7kwoool.com/news/view-8622-1.html">送科技送法律送健康</a></li>
</ul>
<ul>
<li><a href="http://m.7kwoool.com/news/view-8609-1.html">網(wǎng)絡(luò)團(tuán)購(gòu)貓膩多做好備份好退貨</a></li>
</ul>

</div>
<div id=m0></div>
</div>

<script>
var speed=40 //調(diào)整滾動(dòng)速度
m0.innerHTML=mtext.innerHTML
function Marquee(){
if(m0.offsetTop-maq.scrollTop<=0)
maq.scrollTop-=mtext.offsetHeight
else{
maq.scrollTop++
}
}
var MyMar=setInterval(Marquee,speed)
maq.onmouseover=function() {clearInterval(MyMar)}
maq.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>
效果如:

 

標(biāo)簽:
comments Comments (117)    -
2011/08/27 at 15:01

簡(jiǎn)單的下拉菜單,CSS+幾行JS代碼實(shí)現(xiàn)

這是最近一個(gè)項(xiàng)目使用到的下拉菜單效果,首先定義一個(gè)id為nav的ul,ul->li里面放的是下拉出來(lái)的菜單,也是一個(gè)ul:

<ul id="nav">
<li><a href="<?url ctrl=home?>">首 頁(yè)</a></li>
<li><a href="#">|</a></li>
<li><a href="#">關(guān)于我們</a>
<!-- 下拉部分-->
<ul><li><a href="#">公司簡(jiǎn)介</a></li>
<li><a href="#">總經(jīng)理致辭</a></li>
</ul></li>
<!-- 下拉部分-->
</ul>

js就幾行代碼:

<script type=text/javascript><!--//--><![CDATA[//><!--
function menuFix() {
var sfEls = document.getElementById("nav").getElementsByTagName("li");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onMouseDown=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onMouseUp=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"),
"");
}
}
}
window.onload=menuFix;
//--><!]]></script>

css代碼:

#nav {
line-height: 24px; list-style-type: none;
}
#nav a {
display: block; text-align:center;
}
#nav a:link {
color:#a6ce38; text-decoration:none;
}
#nav a:visited {
color:#a6ce38;text-decoration:none;
}
#nav a:hover {
color:#F00; text-decoration:none;;
}
#nav li {
float: left; padding-left:15px; font-family:"微軟雅黑"; font-size:14px;
}
#nav li a:hover{
color:#F00;
}
#nav li ul {
line-height:18px; list-style-type: none;text-align:left;
left: -999em; width:120px; position: absolute;

}
#nav li ul li{
background: #FFF;/*沒(méi)有背景在ie6下會(huì)有一點(diǎn)小問(wèn)題*/
float:left; width:100px;
font-family:"微軟雅黑"; font-size:12px; color:#F00;
margin:0px;padding:0;
clear:both;
}
#nav li ul a{
display: block; width:100px;text-align:left;
}
#nav li ul a:link {
color:#a6ce38; text-decoration:none;
}
#nav li ul a:visited {
color:#a6ce38; text-decoration:none;
}
#nav li ul a:hover {
color:#FFF; text-decoration:none;
background:#F00;
}
#nav li:hover ul {
left: auto;
}
#nav li.sfhover ul {
left: auto;
}

標(biāo)簽:,
comments Comments (212)    -
2011/08/27 at 14:28

廣東偷拍門

廣東某地幾名合租房的女生在洗澡時(shí)未拉窗簾,又燈火通明,結(jié)果被有心人士拿相機(jī)狂拍了下來(lái)。從圖中看女生們的住處比較簡(jiǎn)陋,而浴室未安裝毛玻璃,晚上開(kāi)燈,自然是春光乍泄
comments Comments (4)    -
2011/08/26 at 23:20

dede采集的文章在欄目列表頁(yè)無(wú)法顯示

利用dedecms的采集功能,大批量采集數(shù)據(jù)之后,沒(méi)辦法一個(gè)一個(gè)審核,所有在sql命令行運(yùn)行了

update `dede_archives` set `arcrank` = 0

批量審核文章,然后運(yùn)行

update `dede_archives` set `ismake` = -1

把所有文章改成動(dòng)態(tài)瀏覽

更新首頁(yè)html之后再最新更新可以看到新發(fā)布的文章,但是在欄目列表頁(yè)不顯示最新的數(shù)據(jù),原來(lái)dede還有一個(gè)文章的索引表dede_arctiny,只要運(yùn)行下面sql把審核狀態(tài)置為0就正常了

update `dede_arctiny` set `arcrank` = 0

效果如 最優(yōu)資訊中山新聞?lì)l道

標(biāo)簽:,
comments Comments (412)    -
2011/08/26 at 15:14

二級(jí)目錄下,htaccess做301重定向,把ip地址轉(zhuǎn)向域名

因?yàn)榫W(wǎng)站是放在獨(dú)立IP的主機(jī)上,百度和谷歌直接通過(guò)ip地址收錄了網(wǎng)站許多頁(yè)面,包括二級(jí)目錄下的頁(yè)面,因?yàn)樽幽夸浵乱泊嬖趆taccess文件,有自己的規(guī)則,所以根目錄的301跳轉(zhuǎn)規(guī)則對(duì)子目錄無(wú)效,需要在子目錄下再做301重定向。

發(fā)現(xiàn)子目錄與根目錄不同的地方是訪問(wèn)地址后面有沒(méi)有加斜杠所請(qǐng)求的地址有一點(diǎn)點(diǎn)不同,下面是規(guī)則:

RewriteBase /news
RewriteCond %{HTTP_HOST} ^zui88.com [NC]
RewriteRule com(.*)$ http://m.7kwoool.com$1 [L,R=301]
#不加斜杠請(qǐng)求的地址是/wwwroot/zui88.com/news/
RewriteCond %{HTTP_HOST} ^zui88.com [NC]
RewriteRule (.*)$ http://m.7kwoool.com/news/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^124.173.133.154 [NC]
RewriteRule com(.*)$ http://m.7kwoool.com$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^124.173.133.154 [NC]
RewriteRule (.*)$ http://m.7kwoool.com/news/$1 [L,R=301]

標(biāo)簽:,
comments Comments (221)    -
2011/08/26 at 14:54

phpmyadmin里MySQL字符集:cp1252 West European (latin1) ,解決亂碼問(wèn)題

使用虛擬主機(jī)空間上的phpmyadmin操作數(shù)據(jù)庫(kù)的時(shí)候,如果看到phpmyadmin首頁(yè)上顯示的MySQL 字符集為cp1252 West European (latin1),當(dāng)我們導(dǎo)入數(shù)據(jù)時(shí)就會(huì)出現(xiàn)亂碼,解決的方法是:

在phpmyadmin首頁(yè)的右邊有個(gè)Language選項(xiàng),把默認(rèn)的中文 - Chinese simplified-gb2312改成 中文 - Chinese simplified,則左邊的MySQL 字符集會(huì)變成UTF-8 Unicode (utf8) ,亂碼問(wèn)題得到解決!

標(biāo)簽:
comments Comments (296)    -
2011/08/26 at 00:06

什么是php反射機(jī)制以及利用php反射機(jī)制實(shí)現(xiàn)可插拔可擴(kuò)展的插件架構(gòu)

反射是什么?
它是指在PHP運(yùn)行狀態(tài)中,擴(kuò)展分析PHP程序,導(dǎo)出或提取出關(guān)于類、方法、屬性、參數(shù)等的詳細(xì)信息,包括注釋。這種動(dòng)態(tài)獲取的信息以及動(dòng)態(tài)調(diào)用對(duì)象的方法的功能稱為反射API。

反射是操縱面向?qū)ο蠓缎椭性P偷腁PI,其功能十分強(qiáng)大,可幫助我們構(gòu)建復(fù)雜,可擴(kuò)展的應(yīng)用。其用途如:自動(dòng)加載插件,自動(dòng)生成文檔,甚至可用來(lái)擴(kuò)充PHP語(yǔ)言。php反射api由若干類組成,可幫助我們用來(lái)訪問(wèn)程序的元數(shù)據(jù)或者同相關(guān)的注釋交互。借助反射我們可以獲取諸如類實(shí)現(xiàn)了那些方法,創(chuàng)建一個(gè)類的實(shí)例(不同于用new創(chuàng)建),調(diào)用一個(gè)方法(也不同于常規(guī)調(diào)用),傳遞參數(shù),動(dòng)態(tài)調(diào)用類的靜態(tài)方法。
*
**
反射api是php內(nèi)建的oop技術(shù)擴(kuò)展,包括一些類,異常和接口,綜合使用他們可用來(lái)幫助我們分析其它類,接口,方法,屬性,方法和擴(kuò)展。這些oop擴(kuò)展被稱為反射,位于php源碼/ext/reflection目錄下。

可以使用反射api自省反射api本身(這可能就是反射最初的意思,自己"看"自己):
<?php
Reflection::export(new ReflectionExtension('reflection'));
?>
幾乎所有的反射api都實(shí)現(xiàn)了reflector接口,所有實(shí)現(xiàn)該接口的類都有一個(gè)export方法,該方法打印出參數(shù)對(duì)象的相關(guān)信息。
使用get_declared_classes()獲取所有php內(nèi)置類,get_declared_interfaces();
get_defined_functions();
get_defined_vars(); get_defined_constants();可獲取php接口,方法,變量,常量信息。

**
***
反射初探:
<?php
//定義一個(gè)自定義類
class MyTestClass{

public function testFunc($para0='defaultValue0'){

}
}
//接下來(lái)反射它
foreach(get_declared_classes() as $class){
//實(shí)例化一個(gè)反射類
$reflectionClass = new ReflectionClass($class);
//如果該類是自定義類
if($reflectionClass->isUserDefined()){
//導(dǎo)出該類信息
Reflection::export($reflectionClass);
}
}
?>
以上片段實(shí)例如何查看自定義類的基本信息。
描述數(shù)據(jù)的數(shù)據(jù)被稱為元數(shù)據(jù),用反射獲取的信息就是元數(shù)據(jù)信息,這些信息用來(lái)描述類,接口方法等等。(元---》就是原始之意,比如元模型就是描述模型的模型,比如UML元模型就是描述UML結(jié)構(gòu)的模型),元數(shù)據(jù)進(jìn)一步可分為硬元數(shù)據(jù)(hard matadata)和軟元數(shù)據(jù)(soft metadata),前者由編譯代碼導(dǎo)出,如類名字,方法,參數(shù)等。
后者是人為加入的數(shù)據(jù),如phpDoc塊,php中的屬性等。
***
****
現(xiàn)在商業(yè)軟件很多都是基于插件架構(gòu)的,比如eclipse,和visual studio,netbeans等一些著名IDE都是基于插件的GUI應(yīng)用。第三方或本方開(kāi)發(fā)插件時(shí),必須導(dǎo)入定義好的相關(guān)接口,然后實(shí)現(xiàn)這些接口,最后把實(shí)現(xiàn)的包放在指定目錄下,宿主應(yīng)用程序在啟動(dòng)時(shí)自動(dòng)檢測(cè)所有的插件實(shí)現(xiàn),并加載它們。如果我們自己想實(shí)現(xiàn)這樣的架構(gòu)也是可能的。
<?php
//先定義UI接口
interface IPlugin {
//獲取插件的名字
public static function getName();
//要顯示的菜單項(xiàng)
function getMenuItems();
//要顯示的文章
function getArticles();
//要顯示的導(dǎo)航欄
function getSideBars();
}
//一下是對(duì)插件接口的實(shí)現(xiàn)
class SomePlugin implements IPlugin {
public function getMenuItems() {
//返回菜單項(xiàng)
return null;
}
public function getArticles() {
//返回我們的文章
return null;
}
public function getSideBars() {
//我們有一個(gè)導(dǎo)航欄
return array('SideBarItem');
}
//返回插件名
public static function getName(){
return "SomePlugin";
}
}
?>
php中也有使用插件的解決方案,不像eclipse。

使用我們的插件:1.先使用get_declared_classes()獲取所有已加載類。2.遍歷所有類,判斷其是否實(shí)現(xiàn)了我們自定義的插件接口IPlugin。3.獲取所有的插件實(shí)現(xiàn)。4.在宿主應(yīng)用中與插件交互
下面這個(gè)方法幫助我們找到實(shí)現(xiàn)了插件接口的所有類:
function findPlugins() {
$plugins = array();
foreach(get_declared_classes() as $class) {
$reflectionClass = new ReflectionClass($class);
//判斷一個(gè)類是否實(shí)現(xiàn)了IPlugin接口
if($reflectionClass->implementsInterface('IPlugin')) {
$plugins[] = $reflectionClass;
}
}
return $plugins;
}
注意到所有的插件實(shí)現(xiàn)是作為反射類實(shí)例返回的,而不是類名本身,或是類的實(shí)例。因?yàn)槿绻褂梅瓷鋪?lái)調(diào)用方法還需要一些條件判斷。

判斷一個(gè)類是否實(shí)現(xiàn)了某個(gè)方法使用反射類的hasMethod()方法。
接下來(lái)我們把所有的插件菜單項(xiàng)放在一個(gè)菜單上。
function integratePlugInMenus() {
$menu = array();
//遍歷所有的插件實(shí)現(xiàn)
foreach(findPlugins() as $plugin) {
//判斷插件是否實(shí)現(xiàn)了getMenuItems方法
if($plugin->hasMethod('getMenuItems')) {
/*實(shí)例化一個(gè)方法實(shí)例(注意當(dāng)你將類和方法看成概念時(shí),它們就可以有實(shí)例,就像"人"這個(gè)概念一樣),該方法返回的是ReflectionMethod的實(shí)例*/
$reflectionMethod = $plugin->getMethod('getMenuItems');
//如果方法是靜態(tài)的
if($reflectionMethod->isStatic()) {
//調(diào)用靜態(tài)方法,注意參數(shù)是null而不是一個(gè)反射類實(shí)例
$items = $reflectionMethod->invoke(null);
} else {
//如果方法不是靜態(tài)的,則先實(shí)例化一個(gè)反射類實(shí)例所代表的類的實(shí)例。
$pluginInstance = $plugin->newInstance();
//使用反射api來(lái)調(diào)用一個(gè)方法,參數(shù)是通過(guò)反射實(shí)例化的對(duì)象引用
$items = $reflectionMethod->invoke($pluginInstance);
}
//合并所有的插件菜單項(xiàng)為一個(gè)菜單。
$menu = array_merge($menu, $items);
}
}
return $menu;
}
這里主要用到的反射方法實(shí)例的方法調(diào)用:
public mixed invoke(stdclass object, mixed args=null);
請(qǐng)一定搞清楚我們常規(guī)方法的調(diào)用是這種形式:$objRef->someMethod($argList...);
因?yàn)槭褂昧朔瓷洌@時(shí)你在想調(diào)用一個(gè)方法時(shí)形式變?yōu)椋?br /> $reflectionMethodRef->invoke($reflectionClassRef,$argList...);
如果使用反射調(diào)用方法,我們必須實(shí)例化一個(gè)反射方法的實(shí)例,如果是實(shí)例方法還要有一個(gè)實(shí)例的引用,可能還需傳遞必要的參數(shù)。當(dāng)調(diào)用一個(gè)靜態(tài)方法時(shí),顯式傳入null作為第一參數(shù)。
對(duì)插件類實(shí)現(xiàn)的其他方法有類似的處理邏輯,這里不再敷述。
以下是我的一個(gè)簡(jiǎn)單測(cè)試:
<?php
/**
* 定義一個(gè)插件接口
* */
interface IPlugIn
{
/**
* getSidebars()
*
* @return 返回側(cè)導(dǎo)航欄
*/
public function getSidebars();
/**
* GetName()
*
* @return 返回類名
*/
public static function GetName();
}

/*下面是對(duì)插件的實(shí)現(xiàn),其實(shí)應(yīng)該放在不同的文件中,甚至是不同的包中*/
class MyPlugIn implements IPlugIn
{
public function getSidebars()
{
//構(gòu)造自己的導(dǎo)航欄
$sideBars = '<div><ul >
<li><a href="">m1</a>
</li>
<li><a href="">m2</a>
</li>
</ul>
</div>';
return $sideBars;
}
public static function GetName()
{
return 'MyPlugIn';
}
}
//第二個(gè)插件實(shí)現(xiàn);
class MyPlugIn2 implements IPlugIn
{
public function getSidebars()
{
//構(gòu)造自己的導(dǎo)航欄
$sideBars = '<div><ul >
<li><a href="">mm1</a>
</li>
<li><a href="">mm2</a>
</li>
</ul>
</div>';
return $sideBars;
}
public static function GetName()
{
return 'MyPlugIn2';
}
}

//在宿主程序中使用插件
class HostApp
{

public function initAll()
{
// 初始化各個(gè)部分
echo "yiqing95.";
$this->renderAll();
}
//渲染GUI格部分
function renderAll(){
$rsltSidebars="<table>";
foreach($this->integrateSidebarsOfPlugin() as $sidebarItem){
$rsltSidebars.="<tr><td>$sidebarItem</td></tr>";
}
$rsltSidebars.="</table>";

echo $rsltSidebars;
}
/*加載所有的插件實(shí)現(xiàn):*/
protected function findPlugins()
{
$plugins = array();
foreach (get_declared_classes() as $class) {
$reflectionClass = new ReflectionClass($class);
if ($reflectionClass->implementsInterface('IPlugin')) {
$plugins[] = $reflectionClass;
}
}
return $plugins;
}
/**加載組裝所有插件實(shí)現(xiàn)***/
protected function integrateSidebarsOfPlugin()
{
$sidebars = array();
foreach ($this->findPlugins() as $plugin) {
if ($plugin->hasMethod('getSidebars')) {
$reflectionMethod = $plugin->getMethod('getSidebars');
if ($reflectionMethod->isStatic()) {
$items = $reflectionMethod->invoke(null);
} else {
$pluginInstance = $plugin->newInstance();
$items = $reflectionMethod->invoke($pluginInstance) ;
}
}
//$sidebars = array_merge($sidebars, $items);
$sidebars[]=$items;
}
return $sidebars;
}

}
//運(yùn)行程序:
$entryClass =new HostApp();
$entryClass->initAll();
?>
****
××××
$reflectionClass = new ReflectionClass("IPlugIn");
echo $reflectionClass-> getDocComment();
這段代碼可以幫助我們獲取類的文檔注釋,一旦我們獲取了類的注釋內(nèi)容我們就可以擴(kuò)展我們的類功能,比如先獲取注釋,然后分析注釋使用docblock tokenizer 『pecl擴(kuò)展』,或使用自帶的Tokenizer類又或者使用正則表達(dá)式,字符串函數(shù)來(lái)解析注釋文檔,你可以在注釋中加入任何東西,包括指令,在使用反射調(diào)用前可判斷這些通過(guò)注釋傳遞的指令或數(shù)據(jù):
<?php
//"分析相關(guān)的注釋數(shù)據(jù)"
analyse($reflectionClass-> getDocComment());//analyse是自己定義的?。?!
//根據(jù)分析的結(jié)果來(lái)執(zhí)行方法,或者傳遞參數(shù)等
if(xxxx){
$reflectionMethod->invoke($pluginInstance) ;
}
?>
因?yàn)樽⑨尞吘故亲址?,可以使用任何字符串解析技術(shù),提取有用的信息,再根據(jù)這些信息來(lái)調(diào)用方法,就是說(shuō)程序的邏輯不光可由方法實(shí)現(xiàn)決定,還可能由注釋決定(前提是你使用了反射,注釋格式嚴(yán)格有要求)。
××××
*****
反射api和其他類一樣可被繼承擴(kuò)展,所以我們可以為這些api添加自己的功能。結(jié)合自定義注釋標(biāo)記。就是以@開(kāi)頭的東東,標(biāo)注(Java中稱為annotation),.net中稱為屬性attribute(或稱為特性)。然后擴(kuò)展Reflection類,就可以實(shí)現(xiàn)強(qiáng)大的擴(kuò)展功能了。
值得一提的是工廠方法設(shè)計(jì)模式(GOF之一),也常使用反射來(lái)實(shí)例化對(duì)象,下面是示例性質(zhì)的偽碼:
Class XXXFactory{
function getInstance($className){
$reflectionClass =new ReflectionClass($className);
return $reflectionClass->newInstance();
}
//使用接口的那個(gè)類實(shí)現(xiàn),可能來(lái)自配置文件
function getInstance(){
$pathOfConfig = "xxx/xx/XXXImplement.php";
$className= Config->getItem($pathOfClass,'SomeClassName');
return $this->getInstance($className);
}
}
*****

標(biāo)簽:,
comments Comments (406)    -
亚洲欧美丝袜制服一区-日韩激情视频在线高清-日韩1区2区3区4区5区-久久 婷婷 一区 | 中文字幕一区二区三区四区人妻-岛国激情区二区三区-久久精品电影在线播放-国产亚洲精品91av久久久 | 久久精品国产91精品亚洲高清-精品人妻久久久蜜桃-日本人妻中文字幕精品专区-欧美久久久久久久高潮 | 亚洲熟女久久 国产-久久国产一区二区三区-欧美黑人xxxx高潮猛交野战-日韩av三级免费电影 | av中文字幕在线专区-日韩性生活av-久久久久久久久久久久久93-最新日韩人妻av在线 | 成人午夜电影在线观看网站-亚洲成人精品蜜桃-国产av一区二区三区…-日韩一级av在线免费播放 | 精品中文字幕在线观看视频-亚洲中文字幕乱码在线综合-人妻精品人妻一区区-乱老熟妇一区二区三区 色哟哟av一区二区-日韩一区二区三区在线视频观看-亚洲综合久久狠狠95-最近最新高清中文字幕av在线 | 久久精品伊人一区二区-99精品国产在热久久_-亚洲欧美日韩视频免费观看-久久久夜色精品国产噜噜噜 | 国产乱淫av人妻无-国产精品久久久久久久夜色-视频在线观看免费完整高清中文-成人免费在线观看av 成人精品1024欧美日韩-99日本精品久久久久久人妻-91极品粉嫩鲍鱼在线观看-久久九九99国产精品 | 伊人av一区二区三区四区-又粗又长又大又猛又硬又爽视频-日韩精品有码中文字幕-欧美日韩在线观看97 | 国产av一区二区三区久久久-日韩av在线不卡看-成人 免费在线视频-亚洲av日韩av第一区二区三区 | 欧美人妻久久久久久综合-五月婷婷av网址在线-色婷婷综合专区-91乱子伦国产乱子伦无 | 中文字幕人妻一区二区三区综合-aaaa高潮喷水在线观看-sss人妻在线 中文字幕-99精品久久只有精品 人人妻人人爽人人澡人人玩av-蜜桃传媒一区二区亚洲av动漫-日韩中文字幕人妻精品-日本人一区二区三区 | 婷婷性生活视频-成人av一区二区三区在线观看-国产中文字幕免费av大片-日韩av综合10 | 久久96国产精品久久-人妻系列中文字幕在线一区-欧美人妻一区二区三区四区-亚洲欧美日韩女第一区 精选一区二区三区国产-日韩人妻每日中出一区二区三区-老色鬼久久亚洲av综合0-国产av久久人人澡人人 | 国产av精品国语对白国产-国产成人无精品久久久久国语-中文字幕av一区二区三区-97超级碰免费在线 精品一区二区三区久久久久-岛国av在线观看网站-久久一综合中文字幕-国产又粗又长又大又爽免费视频 | 大吊视频一区二区三区四区-999国产精品首页在线-99精品福利少妇午夜-91在线无精精品入 | 日本熟妇人妻影片精选-91精品久久久蜜桃网站-91久久精品国产91性色69-17分钟视频一区二区三区 | av中文字幕在线专区-日韩性生活av-久久久久久久久久久久久93-最新日韩人妻av在线 | 久久久久久av中文字幕-骚熟女一区二区三区-六月婷婷久久综合在线-91麻豆天美果冻精东传媒 | 中文字幕丝袜人妻视频-亚洲区在线视频观看-国产亚洲精品日韩综合-日韩美女网站视频视频 | 日本不卡一二三区手机视频-av网站免费在线观看视频-久久综合亚洲天堂网-91蜜桃臀久久一区二区 | 91成年人免费短视频-国内久久婷婷精品人双人-日韩欧美一级a免费-久久精品中文字幕推荐 | 777亚洲熟妇色xxxxx-九九re久久免费视频-精品人妻一区二区三区四区六区-一区二区三区视频网 | 日韩在线播放视频一区二区三区-欧美日韩高清一区二区三区-日韩免费看毛片视频-欧美日韩精品999 | 91大神视频在线观看-岛国精品一区二区三区-亚洲1区,2区,3区-久久精品人妻少妇一区二区 | 天天舔天天揉天天干-超碰97超碰在线视频-日韩欧美精品18+-久久蜜桃精品网 | 内射极品少妇一区二区-久久综合狠狠爱精品-国产一二区高清视频-欧美激情一区二区视频 | 丰满熟女一区二区三区三州-五月激情中文字幕-五月婷婷在线看-av麻豆国产在线观看 | 中文字幕人妻乱码无人-久久97精品久久久久久-久久精品日韩在线观看-日韩美女大尺度在线观看视频 成人性生交大片免费看午夜-狠狠综合久久av一区二区…-国产91丝袜在线18-亚洲伊人狠狠另类综合 | 国产精品视频自在线-国产精品白嫩美女在线观看-亚洲欧美国产国产一区二区-日韩中文字幕成人免费在线 | 素人搭讪按摩中出中文字幕在线观看-国产av毛片一区二区三区麻豆-蜜臀久久精品久久久久酒店-天天干天天操天天干天天日 | 欧美日韩国产网-日韩免费观看网址-蜜臀91久久精品久久久久-成人黄色av在线播放 | 亚洲av欧洲av国产av-99国产精品国产精品久久-人妻中文字幕专区一区二区三区-日韩精品亚洲女大屁股 | 91沈先生在线播放-亚洲国产破苞av一区二区三区-色综合av综合网站-欧美日韩制服丝袜寝取在线 | 一区二区三区精品在线免费视频-久久婷婷综合色丁香-精品中文字幕高清99-激情综合开心五月激情五月 | 天天艹天天射天天操天天射-天天射天天操天天日-高清日本中文字幕在线-欧美日韩国产精品自拍 | 天天想太多脑袋感觉很紧绷怎么办-99久久国产日韩欧美-日韩欧美一区二区在线-麻烦视频一区二区三区 | 91精品9999视频-亚洲欧美最大色精品网站免费观看-欧美成人综合久久精品-久久久久人妻www | 国产av区一区二区三-久久99精品视频在线观看-99人妻人人澡人人爽人人-国产蜜臀97一区二区三区 | 亚洲天堂 成人av-h色小视频在线观看-成人免费视频国产免费麻豆下-2018中文字幕免费在线 |