锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
鍙堝仛浜?jiǎn)涓浜涘皬涓滀笢鑰屼笖璺熺潃DFLYING澶ц櫨瀛︿細(xì)PHP浠ュ悗錛屽紑濮嬫帴鏍″唴鐨勫皬媧誨仛鈥︹︿竴涓洟濮旀棗涓嬬綉绔?/strong>
鎴愮珛Enwell Studio
]]>
web20鏈変竴鐐瑰緢閲嶈錛屽氨鏄ぞ浼?xì)缃懢l溿傚氨鎷?a >璞嗙摚緗?/font>鏉ヨ錛屾垜閫氳繃璞嗙摚鎻愪緵鐨勪互涔︿細(xì)鍙嬬殑鍔熻兘璁よ瘑浜?jiǎn)鍑犱釜蹇棴懀鐩告姇鐨勬湅鍙嬨傝眴鐡d細(xì)鏍規(guī)嵁浣犲枩嬈㈣鐨勪功錛岀湅鐨勭數(shù)褰憋紝鍚緱闊充箰錛屾帹鑽愮粰浣犲拰浣犲叴瓚g浉鎶曠殑浜猴紝rss璁㈤槄涔熷簲璇ヨ繖鏍楓傛瘮濡侭loglines鍙互鏌ョ湅閮芥湁璋佽闃呬簡(jiǎn)榪欎釜feed錛屽彲鏄負(fù)浠涔堜笉鏇磋繎涓姝ワ紝灝嗕袱涓漢鐨勮闃呭唴瀹逛綔姣旇緝錛屽仛鍖歸厤鍛紵閫氳繃鍦ㄤ綘鐨勭綉绔欐彁渚涚殑 rss璁㈤槄鏈嶅姟鎴戝彲浠ヨ璇嗘湅鍙嬶紝榪欎篃鏄綉绔欑矘鎬т箣涓銆傚惁鍒欏儚鎴戠幇鍦ㄥ彲浠ユ鏃犻【蹇岀殑浠巄loglines鎼鍒皉ojo鍜屾姄铏劇綉銆傝屾洿澶氳嚜鍙栫浉鍚岀殑浜哄彲浠ョ粍鎴愬湀瀛愩傜敋鑷寵鐢熸洿騫夸竴鐐癸紝澶у閫氳繃鏌ョ湅浣犵殑profile錛屾祻瑙堜綘鐨凚log錛屽喅瀹氳窡浣犲仛鏈嬪弸鐨勬椂鍊欙紝浣犱細(xì)寰楀埌涓涓獀ote鐨勫垎鏁幫紝鍦ㄦ湅鍙嬪湀鐨勮仛鍚堥棬鎴蜂笂鎺掑悕鑰冨墠錛岃繖涓笉灝辨槸鑱旂粶瀹?/font>涔堬紵
鎺ㄨ崘緇欐垜鍏朵粬璇葷墿
褰撴垜鐢ㄨ眴鐡g殑鏃跺欙紝榪樻湁涓涓姛鑳界壒鍒創(chuàng)蹇?jī)锛尀鏄畠浼?xì)鎺ㄨ崘緇欐垜鐩哥被浼肩殑鍥句功銆傛瘮濡傛垜璇誨厔寮燂紝瀹冧細(xì)鍦ㄦ梺杈圭粰鎴戞帹鑽愭椿鐫錛岃涓夊叧鍗栬絳夌瓑鈥︹ss鐨勫皬闂ㄦ埛錛屽彲浠ユ牴鎹瘡涓漢鐨勫叴瓚d笉鍚岋紝鎺ㄨ崘鍦ㄦ綾誨埆涓儗digg嬈℃暟鏈澶氱殑blog緇欐垜錛岀渷寰楁垜鎬繪槸鎰熸叏:鍝庡憖錛屾庝箞娌℃棭鐐圭湅鍒拌繖涓綉绔欏憿錛?br />淇℃伅絳涢?/span>
璁㈤槄浜?jiǎn)濂藉rss feed鐨勪漢閮芥湁姝ょ緇忓巻錛岄偅灝辨槸鏈夌殑鏃跺欏繖錛屼綘濂戒箙娌$湅浜?jiǎn)锛尳H佺劧浠ヤ笂鏉ワ紝鎴愮櫨涓婂崈鐨勬柊鏉$洰錛屽綋鍗蟲(chóng)檿鍊掋傝創(chuàng)蹇?jī)鐨劷{涢夋槸寰堝繀瑕佺殑錛宺ss璁㈤槄鏈嶅姟緗戠珯瀹屽叏鍙互鏍規(guī)嵁鍏朵粬鐢ㄦ埛鐨刣igg rank鏉ユ寜鐓ч噸瑕佺▼搴︾粰鎴戞帓搴忥紝澶у璁や負(fù)閲嶈鐨勫厛鐪嬶紝澶у璁や負(fù)涓嶉噸瑕佺殑鍚庣湅鈥︹︽垜鎯籌紝緹や紬鐨勭溂鐫涜繕鏄洩浜殑銆?br />鍐椾綑鐨勫墧闄?/span>
璁㈤槄浜?jiǎn)澶ч噺rss鐨勪漢鏉ヨ錛屾湁涓浜涚瀛愬彲鑳藉凡緇忓潖鎺変簡(jiǎn)錛屾垨鑰呬綔鑰呮洿鏂伴鐜囧緢浣庯紝鎴栬呰繃浜?jiǎn)涓孌墊椂闂翠互鍚庯紝浣犲凡緇忎笉澶涓洪偅涓浣犳湁浠峰間簡(jiǎn)(榪欎釜鍙互浠庝綘digg it鍜屾敹钘忕殑棰戠巼鏉ュ垽鏂?錛屼絾鏄洜涓烘垜浠繘琛屼簡(jiǎn)澶ч噺鐨勮闃咃紝瑕佹妸瀹冨墧闄ら渶瑕佽姳璐規(guī)椂闂寸殑銆俁SS璁㈤槄鏈嶅姟鍙渶瑕佹浛璁㈤槄鑰呯湅鐫鐐瑰潖鎺夌殑縐嶅瓙錛岀粺璁′笅璁㈤槄鑰呭鍏剁殑鍏蟲(chóng)敞搴︼紝鐒跺悗寤鴻鍓旈櫎鍝簺娌℃湁浠峰肩殑feed錛岃繖灝嗙粰鎴戝甫鏉ュ法澶х殑鏂逛究銆?br />鎶撹櫨涓巖ojo鐩告瘮bloglines鐨勬敼榪?/span>
rojo鏈変竴鐐瑰緢濂斤紝褰撲綘澶у紑涓涓猣eed鐨勬椂鍊欙紝浠栦滑鏄劇ず鐨勬槸title錛屽彧鏈夊綋鐐瑰嚮灝忓崄瀛楁煡鐪嬪叿浣撳唴瀹癸紝瀹冩墠璁や負(fù)浣犺榪囦簡(jiǎn)錛屼笅嬈′綘鍐嶆墦寮榪欎釜縐嶅瓙錛岃繖涓潯鐩究涓嶄細(xì)鏄劇ず鍑烘潵銆備箣鍓嶇敤bloglines鏈夌殑鏉$洰寰堝錛屼竴澶╁彲鑳界湅涓嶅畬錛屼笅涓嬈″啀鎵撳紑灝辯湅涓嶅埌浜?jiǎn)锛屽洜湄?fù)浣犱箣鍓嶇殑鎵撳紑琚玝loglines璁や負(fù)鏄槄璇昏繃鐨勮〃鐜般傝屾湁浜涙潯鐩垜浠涓烘槸寰堟湁浠峰肩殑錛宺ojo鍜屾姄铏鵑兘鎻愪緵浜?jiǎn)鏀惰棌鐨勫姛鑳姐傛澶杛ojo瀵筨loglines瀵筬eed姝繪澘鐨勫垎綾誨姛鑳借繘琛屼簡(jiǎn)鏀瑰杽錛屾浛浠g殑鏄痶ag錛屽氨鏄涓涓猣eed鍙互灞炰簬澶氫釜tag錛屼綘鐢氳嚦鍙互瀵規(guī)潯鐩繘琛宼ag錛岃繖鏍鋒洿鍔犳湁鍒╀簬灝忛棬鎴峰垎闂ㄥ埆綾葷殑鑱氬悎銆?br />鏇磋繘涓姝?br />鎴戜竴鐩存劅瑙塨log鐨勪簰鍔ㄦц繕?shù)笉澶熷Q岃繖涓笉鍔ㄤ笉鏄寚comment銆傝屾槸鏃犳硶鍍廈BS涓鏍鳳紝瀵逛竴涓璁哄艦鎴愪竴涓湁涓葷嚎鐨勮窡榪涖傚ぇ瀹跺涓浜涗笢瑗塊兘鏈夎嚜宸辯殑鐪嬫硶錛屽彲鏄兘鏄浂鏁茬鎵擄紝鑷繁璇磋嚜宸辯殑錛屽鍒漢鐨勬兂娉曞彲鑳戒笉浜?jiǎn)瑙c備粎浠呴潬track back鏄棤娉曚覆鑱旇搗鏉ョ殑銆傚鏋滀綘鐨剅ss璁㈤槄鏈嶅姟鑳藉鏈夎凍澶熺殑綺樻э紝閭d箞鐢ㄦ埛鍩烘湰閮戒粠浣犺繖閲岃幏寰椾俊鎭紝褰撲粬瑕佸彂琛ㄥ鏌愪釜鏉$洰鐨勭湅娉曪紝璁╃敤鎴風(fēng)櫥闄嗕粬鑷繁鐨?Blog錛屽揩鎹風(fēng)殑寮曠敤鍒拌嚜宸辯殑blog閲岄潰錛岃岃闃呮湇鍔$綉绔欏皢閫氳繃鏌愮鏂瑰紡灝嗙敤鎴風(fēng)殑璇勮鍐呭寰楀埌銆傝繖鏍鳳紝灝嗕紬澶氱殑鐢ㄦ埛鐨勫唴瀹規(guī)暣鐞嗗嚭鏉ワ紝綾諱技BBS璁ㄨ鐨勫艦寮忥紝鑱氬悎鍦ㄩ棬鎴烽噷銆傝繖鏍鳳紝Blog涔嬮棿鎵嶅艦鎴愪簡(jiǎn)鏈夋晥鐨勪簰鍔ㄣ傚彲鎯滐紝榪欎釜鎯蟲(chóng)硶錛屼技涔庤繕?shù)笉鐭ラ亾鎬庝箞瀹炵幇銆?br />鎴戠殑欏甸潰&&涓漢闂ㄦ埛
鍑犱箮榪欑rss璁㈤槄鏈嶅姟緗戠珯閮芥彁渚涙垜鏀惰棌鐨刦eed鐨勫睍紺猴紝鎴戞劅瑙夎繖涓槸涓嶅鐨勩傝岃繕搴旇灞曠ず鐨勫垯鏄窡鎴戜笂闈㈡墍璇寸殑鏈夎仈緋葷殑錛屾渶榪慸igg鐨勬潯鐩紝鏈榪戞敹钘忕殑鏉$洰錛屼互鍙?qiáng)鎴戞渶榪戣瘎璁虹殑鏉$洰錛屼互鍙?qiáng)鎴戠殑鏈嬪弸鍦埥{夌瓑銆傝繖鎵嶅艦鎴愪簡(jiǎn)鐪熸鐨勨滄垜鐨勯〉闈⑩濄?br />鐢╧eso鐨勮瘽璇達(dá)紝rss闃呰鍣ㄧ殑鎶鏈棬妲涘緢楂樺晩銆?/div>
]]>
public
聽(tīng)
class
聽(tīng)Artist聽(tīng)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)String[]聽(tīng)others;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
/**聽(tīng)*/
/**
聽(tīng)Creates聽(tīng)a聽(tīng)new聽(tīng)instance聽(tīng)of聽(tīng)Artist聽(tīng)
*/
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)Artist()聽(tīng)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)Artist(String聽(tīng)name,String聽(tīng)
聽(tīng)others)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
for
(String聽(tīng)other聽(tīng):聽(tīng)others)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println(other);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
this
.others聽(tīng)
=
聽(tīng)others;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)
void
聽(tīng)wildestMethod(Object聽(tīng)
聽(tīng)objs)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
//
this聽(tīng)method聽(tīng)will聽(tīng)accept聽(tīng)any聽(tīng)arguments
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)
static
聽(tīng)
void
聽(tīng)main(String[]聽(tīng)args)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)Artist聽(tīng)artist聽(tīng)
=
聽(tīng)
new
聽(tīng)Artist(
"
You
"
,聽(tīng)
"
1
"
,聽(tīng)
"
2
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)artist.wildestMethod(
1
,聽(tīng)
3.5
,聽(tīng)
"
AA
"
,聽(tīng)
new
聽(tīng)Artist());
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
}
]]>
public
聽(tīng)
class
聽(tīng)AutoBoxing聽(tīng)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
/**聽(tīng)*/
/**
聽(tīng)Creates聽(tīng)a聽(tīng)new聽(tīng)instance聽(tīng)of聽(tīng)AutoBoxing聽(tīng)
*/
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)AutoBoxing()聽(tīng)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)
void
聽(tīng)boxingDemo()
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
//
auto聽(tīng)boxing
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)I(yíng)nteger聽(tīng)i聽(tīng)
=
聽(tīng)
0
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
float
聽(tīng)f聽(tīng)
=
聽(tīng)
1.66f
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)Float聽(tīng)F聽(tīng)
=
聽(tīng)f;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
//
auto聽(tīng)unboxing
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)I(yíng)nteger聽(tīng)I(yíng)聽(tīng)
=
聽(tīng)
new
聽(tīng)I(yíng)nteger(
1
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
int
聽(tīng)i2聽(tīng)
=
聽(tīng)I(yíng);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
//
null聽(tīng)value聽(tīng)test,聽(tīng)it聽(tīng)will聽(tīng)case聽(tīng)NullPointerException
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)I(yíng)nteger聽(tīng)I(yíng)2聽(tīng)
=
聽(tīng)
null
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
int
聽(tīng)i3聽(tīng)
=
聽(tīng)I(yíng)2;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)
void
聽(tīng)testOperator()
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)I(yíng)nteger聽(tīng)i聽(tīng)
=
聽(tīng)
1
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
while
(
true
)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)i
++
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println(
"
Counter:
"
+
i);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
if
(i
>
5
)聽(tīng)
break
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)
void
聽(tīng)testCompare()
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
//
it's聽(tīng)equal聽(tīng)because聽(tīng)-127~127聽(tīng)are聽(tīng)immutable聽(tīng)objects
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)I(yíng)nteger聽(tīng)i聽(tīng)
=
聽(tīng)
1
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)I(yíng)nteger聽(tīng)i2聽(tīng)
=
聽(tīng)
1
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
if
(i聽(tīng)
==
聽(tīng)i2)聽(tīng)System.out.println(
"
1:Equal
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
else
聽(tīng)System.out.println(
"
1:Not聽(tīng)Equal
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
//
it's聽(tīng)not聽(tīng)equal聽(tīng)because聽(tīng)j聽(tīng)and聽(tīng)j2聽(tīng)are聽(tīng)different聽(tīng)objects
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)I(yíng)nteger聽(tīng)j聽(tīng)
=
聽(tīng)
200
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)I(yíng)nteger聽(tīng)j2聽(tīng)
=
200
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
if
(j聽(tīng)
==
聽(tīng)j2)聽(tīng)System.out.println(
"
200:Equal
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
else
聽(tīng)System.out.println(
"
200:Not聽(tīng)Equal
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)
void
聽(tīng)testControl()
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)Boolean聽(tīng)flag聽(tīng)
=
聽(tīng)
true
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)I(yíng)nteger聽(tīng)i聽(tīng)
=
聽(tīng)
20
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)I(yíng)nteger聽(tīng)j聽(tīng)
=
聽(tīng)
30
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
if
(flag)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println(
"
Boolean聽(tīng)affects
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
if
(i
<
j)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println(
"
Integer聽(tīng)affects
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)
void
聽(tīng)testMethod(
double
聽(tīng)arg)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println(
"
public聽(tīng)void聽(tīng)testMethod(double聽(tīng)arg)聽(tīng)is聽(tīng)invoked
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)
void
聽(tīng)testMethod(Integer聽(tīng)arg)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println(
"
public聽(tīng)void聽(tīng)testMethod2(Integer聽(tīng)arg)聽(tīng)is聽(tīng)invoked
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)
static
聽(tīng)
void
聽(tīng)main(String聽(tīng)args[])
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)AutoBoxing聽(tīng)auto聽(tīng)
=
聽(tīng)
new
聽(tīng)AutoBoxing();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)auto.testCompare();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)auto.testOperator();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)auto.testControl();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
int
聽(tīng)i聽(tīng)
=
聽(tīng)
1
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
//
聽(tīng)public聽(tīng)void聽(tīng)testMethod(Integer聽(tīng)arg)聽(tīng)wouldn't聽(tīng)be聽(tīng)invoked
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
//
because聽(tīng)聽(tīng)public聽(tīng)void聽(tīng)testMethod(double聽(tīng)arg)聽(tīng)will聽(tīng)be聽(tīng)invoked聽(tīng)in聽(tīng)JDK1.4
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
//
Java聽(tīng)tiger聽(tīng)consider聽(tīng)the聽(tīng)backward聽(tīng)capability
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)auto.testMethod(i);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)auto.boxingDemo();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
}
]]>
public
聽(tīng)
enum
聽(tīng)User聽(tīng)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)Admin,User,Guest,Unknown聽(tīng)聽(tīng)聽(tīng)
}
public
聽(tīng)
class
聽(tīng)Login聽(tīng)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
private
聽(tīng)User聽(tīng)user;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)EnumMap
<
User,String
>
聽(tīng)userName聽(tīng)
=
聽(tīng)
new
聽(tīng)EnumMap
<
User,聽(tīng)String
>
(User.
class
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
/**聽(tīng)*/
/**
聽(tīng)Creates聽(tīng)a聽(tīng)new聽(tīng)instance聽(tīng)of聽(tīng)Login聽(tīng)
*/
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)Login()聽(tīng)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)userName.put(User.Admin,聽(tīng)
"
Administrator
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)userName.put(User.User,聽(tīng)
"
David
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)userName.put(User.Guest,聽(tīng)
"
Steve
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)
boolean
聽(tīng)isAdmin(User聽(tīng)user)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
if
(user.equals(User.Admin))
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
return
聽(tīng)
true
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
return
聽(tīng)
false
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)
void
聽(tīng)printUserRole()
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)User[]聽(tīng)users聽(tīng)
=
聽(tīng)user.values();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
for
(User聽(tīng)u聽(tīng):聽(tīng)user.values())
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println(u.toString());
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)
void
聽(tīng)isRole(User聽(tīng)user)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
switch
(user)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
case
聽(tīng)Admin:
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println(
"
admin
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
break
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
case
聽(tīng)User:
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println(
"
User
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
break
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
case
聽(tīng)Guest:
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println(
"
Guest
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
break
;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
default
:
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println(
"
unknow
"
);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
public
聽(tīng)
static
聽(tīng)
void
聽(tīng)main(String[]聽(tīng)args)
{
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)Login聽(tīng)login聽(tīng)
=
聽(tīng)
new
聽(tīng)Login();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println(login.isAdmin(User.Admin));
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)login.printUserRole();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)login.isRole(User.User);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
}
]]>
]]>Rasmus Lerdorf, creator of the PHP langauge, has a new tutorial on his site today that looks at the creation of a "no-framework PHP MVC framework" using PHP5, the Yahoo! User Interface Library, and JSON.
He steps through the entire process of working up the "non-framework" - the goals of the project, why to go with the MVC approach for the structure, and, of course, the code.
That arose the PHP's own MVC Pattern discussion in PHP Community.But i have my own view.Here is my response in one of most famous PHP community:
其实我认为由于lerdorf演示的是一个PHP AJAX应用,所以其实很难跟cid的方案有什么对比。由于AJAX应用的特殊性,lerdorf这个所谓的controller根本不需要考虑进行完了相关的操作以后View到底应该去哪里,应该转向哪里?因为直接push给客户端JSON对象就好了,完全不用操心到a.php还是b.php
另外,虽然lerdorf说以后可能可以多个请求Include一个xxx.inc就是他的controller,但是目前的状况,即使成为MVC也是page controller,而cid想要做的是一个Front controller做请求委派,Front Controller的复杂的明显要比PC要高,考虑的问题也多。但是并不是说FC就好,asp.net不就是典型的page controller模式么?
但是说句我的真实感受:读完之后我把它看作PHP AJAX应用示例教程更合适,lerdorf的标题起的有点大了,而且读完以后没有给我任何架构上启示性的东西聟聟
而且那个if(isset($_POST[''])){}在里面做相关操作,我还是认为挺简陋甚至丑陋的。如果一个挺复杂的view采用此种方式,还是不优雅。
所以AJAX应用的controller有一部分应该放在View里面,一个页面a.html不一定非要请求到a.php,叶面里面的操作也是要有不同逻辑划分的,但是目前没有成熟的应用示例和解决方案。大家有没有自己的尝试?
AutoAssist is an auto completion web widget that written in pure JavaScript. It can help enhance the accessibility of existing website, let the users to work effective and feel comfortable. AutoAssist Javascript only and is built upon prototype and rico. Its main features are :
* improve the User Experience
* Don't require an Ajax experience
* pretty managed JavaScript, easy to understand and customize
* works well on Mozilla/FireFox, IE and Opera
* have a nice solution for fast user typing, reduce a lot of corresponding server loading (20% - 80% *)
The code for the screenshot is very simple :
var foo = function() {
var tt = new AutoAssist("t", {setRequestOptions: function() {
var pars = "name=" + this.txtBox.value;
return { url: "/country.php", parameters: pars };
}});
}
Event.observe(window, "load", foo);
You can find a ten minutes tutorial for AutoAssist explaining in details how to use this script to create an auto-complete list based on country data.
By the way,script.aculo.us also has it's impelmention:http://demo.script.aculo.us/ajax/autocompleter
But,You still need to care javascript's FUNCTION SCOPE.Also see code snippet:
var scope = "global";
function f( ) {alert(scope); // Displays "undefined", not "global"var scope = "local"; // Variable initialized here, but defined everywherealert(scope); // Displays "local"}f( );
Right,thought you alert(scope) first and then define a new functin scope variable scope.However,once you define a function scope vriable,it will hide the global variable in the function body,whatever the definition order.