精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

PHP開發必備 一步步學PHP模版引擎Dwoo

開發 后端
PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。它可以比 CGI或者Perl更快速的執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多。本文介紹了一款PHP的模版引擎Dwoo,一起來看。

PHP目前是使用最廣泛的腳本解析動態語言之一。在PHP的開發當中,開發者都很關心的一個問題是,如何最大程度地將頁面和商業邏輯分離。而目前的很多PHP的開發框架,在這方面都有很好的解決方案,比如Zend,Agavi,CakePHP和CodeIgniter。然而,假如你的項目不是太大而沒使用這些框架時,則可以選用一些開源的PHP模版引擎來實現頁面和邏輯的分離,目前比較著名的有Smarty。本文將介紹另一款新興的PHP模版引擎Dwoo,它同樣有很多優點,值得讀者去學習。

一、安裝Dwoo

首先到Dwoo的官方網站下載(http://www.dwoo.org)最新的版本1.1.7。在下載后,解壓dwoo,將解壓目錄命名為dwoo,當然,你也可以用pear的安裝方法安裝,方法為:

pear channel-discover pearhub.org

pear install pearhub/Dwoo

二、Dwoo模版簡介

在Dwoo中,跟象Smarty等模版引擎差不多的是,它允許用戶用普通的HTML編輯工具編輯表現層的頁面,然后在需要產生動態內容的地方用占位符表示。模版引擎在解析的時候,會把如數據庫中的或者業余邏輯計算結果填充到這些占位符中。下面先看一個簡單的例子。

我們先建立一個模版文件,Dwoo的模版文件默認是tpl,當然你也可以改為其他文件后綴。模版文件名為knock.tpl,把它保存在template文件夾中,內容為:

 

  1. <html> 
  2. <head></head> 
  3. <body> 
  4. <blockquote> 
  5. Knock knock! <br/> 
  6. Who's there? <br/> 
  7. {$name} <br/> 
  8. {$name} who? <br/> 
  9. {$punchline}  
  10. </blockquote> 
  11. </body> 
  12. </html> 

可以看到,在Dwoo中,模版文件中,把需要動態更替的內容用{$ }這樣的形式包裹起來,作為占位符,占位符當中的內容到時會被自動更替為實際的內容。接下來看如何使用Dwoo,代碼如下:

 

  1. <?php  
  2. include 'dwooAutoload.php';  
  3. // 創建dwoo實例  
  4. $dwoo = new Dwoo();  
  5. //讀取模版文件   
  6. $tpl = new Dwoo_Template_File('tmpl/knock.tpl');  
  7. // 對模版變量賦值  
  8. $data = array();  
  9. $data['name'] = 'Boo';  
  10. $data['punchline'] = 'Don\'t cry, it\'s only a joke';  
  11. // 將實際內容輸出到模版  
  12. $dwoo->output($tpl$data);  
  13. ?> 

下面是使用Dwoo的幾個步驟:

1、首先要包含Dwoo自動裝載類dwooAutoload.php,這個類是自動加載了Dwoo模版所需要的其他依賴的類和工具類;

2、創建Dwoo類的實例;

3、通過new Dwoo_Template_File的方法加載模版,其中的參數為模版文件所在的路徑;

4、設置要向模版文件中輸出的替換內容,在Dwoo中,只需要通過定義一個關聯數組的方法即可,數組中每個元素的名稱跟模版文件中的占位符一一對應,數組中的每個值,就是要替換模版中的實際內容;

5、通過調用output方法,將數據向模版中輸出,傳入的參數為輸出的數組內容和模版路徑。

下圖為輸出結果:

shuchujieguo

#p#

三、Dwoo語法講解

下面以實例的形式講解下Dwoo的語法,先來看最常用的if語句。

1) if 語句

下面是一個模版的例子:

  1. <html> 
  2. <head></head> 
  3. <body> 
  4. {if $auth == 0}  
  5. Not logged in  
  6. {else}  
  7. Logged in as: Anonymous User   
  8. {/if}  
  9. </body> 
  10. </html> 

可以看到,Dwoo中的if語句其實跟普通的if語句沒什么區別。接下來我們看下控制這個模版的php文件,如下:

  1. <?php  
  2. include 'dwooAutoload.php';  
  3. try {  
  4. $dwoo = new Dwoo();  
  5. $tpl = new Dwoo_Template_File('tmpl/auth.tpl');  
  6. $data = new Dwoo_Data();  
  7. $data->assign('auth', rand(0,1));  
  8. $dwoo->output($tpl$data);  
  9. } catch (Exception $e) {  
  10. echo "Error: " . $e->getMessage();   
  11. }  
  12. ?> 

注意,這里我們使用了new Dwoo_Data();這個Dwoo_Data()方法的優勢在于,它比較容易存放大量的數據,比用數組的方法去存儲數據方便多了,而且它本身提供了很多不同的方法去獲得,清理和刪除模版變量。這個例子中,用隨機數的方法產生了auth變量,結果可能為如下圖:

xiatu

當然,可以使用if elseif語句,比如模版中:

 

  1. <html> 
  2. <head></head> 
  3. <body> 
  4. {if $auth == 1}  
  5. Logged in as: Anonymous User   
  6. {elseif $auth == 2}  
  7. Logged in as: Administrator   
  8. {else}  
  9. Not logged in  
  10. {/if}  
  11. </body> 
  12. </html> 

2) LOOP循環語句

在Dwoo中,可以使用{loop}進行循環,動態產生數據,下面是例子:

  1. <html> 
  2. <head></head> 
  3. <body> 
  4. <ul> 
  5. {loop $items}  
  6. <li>{escape($item)}</li> 
  7. {/loop}  
  8. </ul> 
  9. </body> 
  10. </html> 

下面是產生數據的php文件:

  1. <?php  
  2. include 'dwooAutoload.php';  
  3. try {  
  4. $dwoo = new Dwoo();  
  5. $tpl = new Dwoo_Template_File('tmpl/list.tpl');  
  6. $data = new Dwoo_Data();  
  7. $items = array();  
  8. $items[] = array('item' => 'red');  
  9. $items[] = array('item' => 'yellow');  
  10. $items[] = array('item' => 'blue');  
  11. $items[] = array('item' => 'green');  
  12. $data->assign('items'$items);  
  13. $dwoo->output($tpl$data);  
  14. } catch (Exception $e) {  
  15. echo "Error: " . $e->getMessage();   
  16. }  
  17. ?> 

這里,我們生成了數組items,然后在模版文件中,通過{loop $items}即可循環輸出內容。結果如下圖:

jieguo

注意,這里使用了{escape($item)}的方法輸出每一行的內容,其中eascape是dwoo中使用的插件,是將所有內容在輸出前使用HTML編碼格式過濾,這可以防止XSS攻擊,是個很好的實踐。

而在Dwoo中,可以同樣使用{foreach}而達到同樣的效果,代碼如下:

 

  1. <html> 
  2. <head></head> 
  3. <body> 
  4. <ul> 
  5. {foreach $items item}  
  6. <li>{escape($item)}</li> 
  7. {/foreach}  
  8. </ul> 
  9. </body> 
  10. </html> 

同樣,foreach也可以使用如下的用法,即:

 

  1. <html> 
  2. <head></head> 
  3. <body> 
  4. <ul> 
  5. {foreach $items key value}  
  6. <li>{upper($key)} is for {$value}</li> 
  7. {/foreach}  
  8. </ul> 
  9. </body> 
  10. </html> 

而配合這個模版,PHP的控制頁面中的關聯數組的寫法如下:

  1. $data = new Dwoo_Data();  
  2. $items = array(  
  3. 'a' => 'apple',  
  4. 'b' => 'ball',  
  5. 'c' => 'cat',  
  6. 'd' => 'dog' 
  7. );  
  8. $data->assign('items'$items); 

這樣輸出結果如下圖:

shuchujieguo

我們既然學會了loop,下面來嘗試下從數據庫中取出數據集,并通過Dwoo顯示出來,下面是模版文件的主要部分:

 

  1. <body> 
  2. <table> 
  3. <tr class="heading"> 
  4. <td>Author</td> 
  5. <td>Title</td> 
  6. </tr>   
  7. {loop $records}  
  8. <tr> 
  9. <td>{$author}</td> 
  10. <td>{$title}</td> 
  11. </tr>   
  12. {/loop}  
  13. </table> 
  14. </body> 

而PHP文件代碼如下,其中使用了PDO去訪問數據庫:

 

  1. <? php  
  2. include 'dwooAutoload.php';  
  3. // 連接數據庫  
  4. try {  
  5. $dbh = new PDO('mysql:dbname=library;host=localhost''user''pass');  
  6. } catch (PDOException $e) {  
  7. echo "Error: Could not connect. " . $e->getMessage();  
  8. }  
  9. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);  
  10. try {  
  11. $sql = "SELECT a.AuthorName AS author, t.TitleName AS title FROM author AS a, title AS t, author_title AS at WHERE a.AuthorID = at.AuthorID AND t.TitleID = at.TitleID ORDER BY author LIMIT 0,20";  
  12. $sth = $dbh->query($sql);  
  13. while ($row = $sth->fetchObject()) {  
  14. $records[] = array('author' => $row->author, 'title' => $row->title);  
  15. }  
  16. //關閉數據庫連接  
  17. unset($dbh);   
  18. $dwoo = new Dwoo();  
  19. $tpl = new Dwoo_Template_File('tmpl/books.tpl');  
  20. $data = new Dwoo_Data();  
  21. $data->assign('records'$records);  
  22. $dwoo->output($tpl$data);   
  23. } catch (PDOException $e) {  
  24. echo "Error: Could not execute query \"$sql\". " . $e->getMessage();   
  25. unset($dbh);  
  26. } catch (Exception $e) {  
  27. echo "Error: " . $e->getMessage();   
  28. }   
  29. ?> 

 

#p#

四、模版組合

在頁面設計中,常用的最佳實踐是把一個復雜的頁面劃分為不同的部分,同樣模版文件中也應該指定不同的部分,最后再將其組合起來,比如下圖是常件的模版件結構:

mobanjianjiegou

可以看到有頭部,尾部和頁面的主體三部分組成,下面給出它們的模版文件header.tpl:

 

  1. <!-- BEGIN header.tpl --> 
  2. <html> 
  3. <head></head> 
  4. <body> 
  5. <table width="100%" border="1"> 
  6. <tr> 
  7. <td align="center"><a href="#">Home</a></td> 
  8. <td align="center"><a href="#">News</a></td> 
  9. <td align="center"><a href="#">Weather</a></td> 
  10. <td align="center"><a href="#">Hotels</a></td> 
  11. <td align="center"><a href="#">Dining</a></td> 
  12. </tr> 
  13. </table> 
  14. <p /> 
  15. <h2>{$title}</h2> 
  16. <p /> 
  17. <!-- END header.tpl --> 
  18. footer.tpl  
  19. <!-- BEGIN footer --> 
  20. <table width="100%" align="center"> 
  21. <tr> 
  22. <td align="center"><font size="-2">&copy; {$year}. All rights reserved.</font></td> 
  23. </tr> 
  24. </table> 
  25. </body> 
  26. </html> 

而Dwoo中,使用include可以將不同的模版包含到同一個模版中去,比如下面是框架主模版文件main.tpl:

 

  1. {include(file='header.tpl')}  
  2. <!-- BEGIN main.tpl --> 
  3. <table border="1"> 
  4. <tr> 
  5. <td valign="top"> 
  6. <strong>{$headline}</strong> 
  7. <p /> 
  8. {$content}  
  9. </td> 
  10. <td valign="top" align="center" width="25%"> 
  11. <strong>Special Feature</strong><br /> 
  12. {$feature}  
  13. </td> 
  14. </tr> 
  15. </table> 
  16. <!-- END main.tpl --> 
  17. {include(file='footer.tpl')} 

而框架文件的php文件如下,可以為主框架模版中的變量賦值:

  1. <?php  
  2. include 'dwooAutoload.php';  
  3. try {  
  4. $dwoo = new Dwoo();  
  5. $tpl = new Dwoo_Template_File('tmpl/main.tpl');  
  6. $data = new Dwoo_Data();  
  7. $data->assign('title''Welcome to London!');  
  8. $data->assign('headline''Playing in the Park');  
  9. $data->assign('content''It\'s a warm summer day, and Simon finds the lake in St. James Park too inviting for words...');  
  10. $data->assign('feature''Tower Bridge - Snapshots from the Top');  
  11. $data->assign('year'date('Y'mktime()));  
  12. $dwoo->output($tpl$data);  
  13. } catch (Exception $e) {  
  14. echo "Error: " . $e->getMessage();   
  15. }  
  16. ?> 

可以得出如下結果:

jieguo

而另外的實現方法,是不使用include,而是在主框架模版中如下設置:

 

  1. {$header}  
  2. <!-- BEGIN main.tpl --> 
  3. <table border="1"> 
  4. <tr> 
  5. <td valign="top"> 
  6. <strong>{$headline}</strong> 
  7. <p /> 
  8. {$content}  
  9. </td> 
  10. <td valign="top" align="center" width="25%"> 
  11. <strong>Special Feature</strong><br /> 
  12. {$feature}  
  13. </td> 
  14. </tr> 
  15. </table> 
  16. <!-- END main.tpl --> 
  17. {$footer} 

而在PHP文件中,再動態設置header和footer的變量的值,

  1. $data->assign('header',$dwoo->get(new Dwoo_Template_File('tmpl/header.tpl'), $data));  
  2. $data->assign('footer',$dwoo->get(new Dwoo_Template_File('tmpl/footer.tpl'), $data)); 

這里使用了Dwoo中的get方法,將兩個模版文件中的內容提取出來,設置到header和footer兩個變量中去。

#p#

五、Dwoo中的插件機制

在Dwoo中,為開發者提供了大量方便的插件,比如前文提到的escape過濾功能,也是Dwoo 的插件之一。下面再學習一個同樣功能的插件auto_esacpe,它其實實現的是跟escape一樣的功能,但它可以針對一整段的模版變量進行格式化,比如,如下的模版:

 

  1. <html> 
  2. <head></head> 
  3. <body> 
  4. {auto_escape on}  
  5. {$html}  
  6. {/auto_escape}  
  7. </body> 
  8. </html> 

這里使用了{auto_escape on},表明在 {/auto_escape}前的輸出全部要進行HTML格式化,考察如下的php腳本:

  1. <?php  
  2. include 'dwooAutoload.php';  
  3. try {  
  4. $dwoo = new Dwoo();  
  5. $tpl = new Dwoo_Template_File('tmpl/out.tpl');  
  6. $data = array();  
  7. $data['html']= '<span id="ack">Welcome to Jack & Jill\'s humble abode.</span>';  
  8. $dwoo->output($tpl$data);  
  9. } catch (Exception $e) {  
  10. echo "Error: " . $e->getMessage();   
  11. }  
  12. ?> 

其輸出為如下圖:

shuchujieguo

同樣,Dwoo也有象php中的strip_tags方法,用來去掉HTML標記,比如:

 

  1. <html> 
  2. <head></head> 
  3. <body> 
  4. {strip_tags($html)}  
  5. </body> 
  6. </html> 

對應的PHP腳本為:

  1. $data = array();  
  2. $data['html'] = '<a href="http://www.google.com">Search</a>'

那么將會輸出如下結果:

shuchujieguo

下面再介紹Dwoo中關于日期格式化的處理,其中可以使用date_format這個插件,這個插件需要傳入兩個參數,一個是要處理的日期,另外一個是指定用什么格式去格式化處理日期,舉個例子:

  1. <html> 
  2. <head></head> 
  3. <body> 
  4. {date_format $date "%d.%m.%Y"}  
  5. <br/> 
  6. {date_format $date "%B %d, %Y %I:%M %p"}  
  7. </body> 
  8. </html> 

處理的PHP代碼的核心部分:

  1. $data = array();  
  2. $data['date'] = '14 July 2010 21:35'

下面為其輸出:

shuchujieguo

小結

在本文中,介紹了PHP模版引擎Dwoo的基本原理和用法,給讀者一個快速的入門,在下一篇中,將深入介紹挖掘Dwoo中的一些特色功能。

【編輯推薦】

  1. PHP開發必備 PHP持續集成工具介紹(上)
  2. PHP開發必備 PHP持續集成工具介紹(下)
  3. PHP正則表達式 PHP中的正則函數
  4. PHP中幾個常用的時間應用方式
責任編輯:于鐵 來源: IT168
相關推薦

2011-05-19 11:03:02

PHPDwoo

2018-06-11 15:30:12

2017-01-19 21:08:33

iOS路由構建

2018-12-24 10:04:06

Docker存儲驅動

2019-03-05 14:09:27

Docker存儲容器

2019-07-09 15:23:22

Docker存儲驅動

2023-12-26 07:59:01

2016-11-02 18:54:01

javascript

2017-12-25 11:50:57

LinuxArch Linux

2010-03-04 16:28:17

Android核心代碼

2021-01-03 15:07:16

開發編程語言后端.

2024-09-30 09:56:59

2024-08-30 08:30:29

CPU操作系統寄存器

2011-05-10 10:28:55

2024-08-06 09:29:54

程序機器指令字符串

2020-12-24 11:19:55

JavaMapHashMap

2009-12-17 16:36:23

無線路由設置密碼

2015-07-27 16:06:16

VMware Thin虛擬化

2019-04-01 10:15:02

2025-09-30 09:40:33

點贊
收藏

51CTO技術棧公眾號

韩国欧美国产1区| 亚洲区小说区| 午夜av一区二区三区| 黄色99视频| jizz国产在线观看| 久久久久电影| 日韩精品极品在线观看| 亚洲欧美自拍另类日韩| 午夜小视频福利在线观看| 成人激情文学综合网| 国产成人短视频| 91国在线高清视频| 午夜一区在线观看| 影院在线观看全集免费观看| 高清在线视频不卡| 91社区在线播放| 成人www视频在线观看| 国产91av视频| 91麻豆精品国产91久久久平台 | 欧美一二三不卡| 日本福利片在线| 国产一区二区三区视频在线播放| 4438全国成人免费| 欧美成人综合色| 日韩精品影院| 97久久人人超碰| 成人a在线视频| 91丨九色丨海角社区| 久久99青青| 欧美成人综合网站| 一区二区三区四区久久| 欧美日韩在线中文字幕| 成人黄色a**站在线观看| 91精品国产综合久久久久久蜜臀| 国产精品久久久久久久久久久久久久久久久 | www亚洲视频| 成人黄色av| 日韩av中文字幕在线| 天堂社区在线视频| 在线天堂资源| 午夜a成v人精品| av女优在线播放| 精产国品自在线www| 久久久不卡影院| 久久99精品国产99久久| 亚洲精品国产精品国| 国产在线观看一区二区| 国产精品一二三在线| 99久久精品国产亚洲| 国产色综合网| 久久久久久12| 国产 日韩 欧美 成人| 欧美精品1区| 欧美老少做受xxxx高潮| 欧美三级 欧美一级| 一区二区在线| 欧美精品在线视频观看| 91在线播放观看| 影视一区二区| 欧美激情手机在线视频 | 久久久精品日韩| 奇米影视亚洲狠狠色| 日本天堂网在线| 久久黄色影院| 国产精自产拍久久久久久| 中文字幕在线一| 精品一区二区三区蜜桃| 亚洲一区二区在线| 成人免费毛片东京热| 图片小说视频色综合| 久久国产色av| 日韩av电影网址| 亚洲影视在线| 国产不卡一区二区在线播放| wwwwww在线观看| 免费观看久久久4p| 91夜夜未满十八勿入爽爽影院| 国产精品探花视频| 高清av一区二区| 91精品国产99久久久久久| 伊人影院综合网| 国产精品成人a在线观看| 欧美精品在线视频观看| 精品国产乱码一区二区| 国产电影一区二区在线观看| 久久夜色精品国产欧美乱| 香蕉视频黄色在线观看| 国产精区一区二区| 亚洲成人在线网| av黄色在线免费观看| 欧美xxav| 午夜精品一区二区三区在线视| 一级黄色大片视频| 久久国产福利国产秒拍| 国产麻豆一区二区三区在线观看| 欧美18xxxxx| 亚洲女同女同女同女同女同69| 人妻av中文系列| 69堂精品视频在线播放| 精品免费99久久| 色综合99久久久无码国产精品| 欧美激情综合| 国产精品欧美日韩一区二区| 不卡av中文字幕| 国产女人水真多18毛片18精品视频| 特级黄色录像片| 日韩伦理三区| 亚洲精品在线三区| 国产男女无遮挡猛进猛出| 任你弄精品视频免费观看| 最近的2019中文字幕免费一页| 久久精品性爱视频| 久久精品久久综合| 欧美成人综合一区| 日本精品一区二区在线观看| 欧美高清在线精品一区| 欧美视频免费看欧美视频| 中文字幕一区二区三区四区五区六区 | 性一交一乱一精一晶| 久久丝袜美腿综合| 免费在线黄网站| 欧美视频精品| 亚洲香蕉av在线一区二区三区| 91高清免费看| 男男视频亚洲欧美| 欧美高清一区二区| 国产后进白嫩翘臀在线观看视频 | 欧美性做爰毛片| www.av黄色| 亚洲视频 欧洲视频| 国产在线青青草| 欧美aaa免费| 欧美日韩色一区| 蜜桃无码一区二区三区| 日韩一级网站| 国产一区二区三区奇米久涩| 在线看三级电影| 7777精品久久久大香线蕉| 99国产精品免费| 日韩av电影天堂| 欧美一区二区福利| 台湾佬成人网| 亚洲网站在线观看| 人妻丰满熟妇av无码区| 26uuu国产一区二区三区| 成年人午夜视频在线观看| 亚洲精品aⅴ| 欧美激情综合色综合啪啪五月| a级片在线免费看| 成人性视频网站| 日本精品福利视频| 日韩三级精品| 日韩国产精品一区| 日韩成人免费在线观看| 成人av在线影院| 免费毛片网站在线观看| 欧美成人基地| 91精品国产精品| 深夜福利视频在线观看| 欧美日韩亚洲一区二区| 欧美老熟妇乱大交xxxxx| 另类亚洲自拍| 日韩高清国产精品| 亚洲精品777| 欧美成人免费观看| 蜜臀av免费在线观看| 午夜视黄欧洲亚洲| 波多野结衣福利| 日韩精品午夜视频| 中文字幕一区二区三区四区五区六区| 精品中文视频| 性色av一区二区三区免费| 日本一级在线观看| 欧美午夜一区二区| 久草综合在线视频| 粉嫩aⅴ一区二区三区四区| 免费看国产曰批40分钟| 久久综合影院| 亚洲已满18点击进入在线看片| 暧暧视频在线免费观看| 亚洲欧美日韩网| 国产露脸国语对白在线| 亚洲国产精品久久久男人的天堂| 蜜桃精品成人影片| 久久精品国产免费| 日韩欧美精品免费| 加勒比久久综合| 147欧美人体大胆444| 色偷偷色偷偷色偷偷在线视频| 一区二区三区 在线观看视| 国产精品人人爽| 欧美日韩精品中文字幕| 老司机精品免费视频| 成人免费视频视频在线观看免费 | 亚洲精品9999| 91国内精品| 国产精品男人的天堂| 在线āv视频| 亚洲一二三在线| 亚洲黄色在线观看视频| 欧美性大战久久久久久久蜜臀 | 欧美日韩国产色综合一二三四| 国产中文一区二区| 99久久999| 日韩免费在线看| 麻豆福利在线观看| 在线看日韩av| 午夜在线视频观看| 91精品久久久久久蜜臀| 依依成人综合网| 一二三区精品福利视频| 中文天堂资源在线| 99国产精品99久久久久久| 国产不卡的av| 青青草一区二区三区| 亚洲人精品午夜射精日韩| 午夜精品视频一区二区三区在线看| 精品视频一区在线| 综合中文字幕| 亚洲www在线| 国产成+人+综合+亚洲欧美| 日韩电影免费观看中文字幕| 91肉色超薄丝袜脚交一区二区| 欧美性感美女h网站在线观看免费| 国产性xxxx| 中文字幕在线观看一区二区| 中文字幕被公侵犯的漂亮人妻| 91在线免费视频观看| 日本人妻一区二区三区| 国产麻豆精品视频| 污网站在线免费| 美女脱光内衣内裤视频久久网站 | 久久精品72免费观看| 99福利在线观看| 国产亚洲欧洲| 国产一区二区视频播放| 国产精品激情电影| 免费观看亚洲视频| 欧美一区高清| 亚洲最大av网站| 天天综合在线观看| 国产日韩在线视频| 日韩一级特黄| 91人成网站www| www久久久| 亚洲自拍在线观看| 日本精品在线播放 | 国产高潮免费视频| 日韩成人免费在线| 亚洲xxxx2d动漫1| 老汉av免费一区二区三区| 三上悠亚av一区二区三区| 麻豆91精品视频| 亚洲成人福利在线| 韩国v欧美v日本v亚洲v| 欧美激情第四页| 国产精品自拍网站| 在线免费看黄色片| 日日夜夜免费精品视频| 天天天干夜夜夜操| 久久99久久久欧美国产| 欧美在线a视频| 成人激情av网| 免费看日本黄色片| 中文字幕亚洲区| 日韩一区二区不卡视频| 一区二区三区小说| 日韩一区二区视频在线| 91福利国产成人精品照片| 一级特黄aa大片| 精品国产百合女同互慰| 欧美3p视频在线观看| 色99之美女主播在线视频| 婷婷av在线| 青草青草久热精品视频在线网站| 99欧美精品| 999精品视频一区二区三区| 日韩av黄色在线| 午夜精品一区二区在线观看 | 精品无码一区二区三区在线| 免费在线观看成人av| 天天干天天操天天做| 高清不卡在线观看| 一区二区三区在线观看免费视频| 亚洲婷婷在线视频| 国产精品suv一区二区69| 欧美日韩亚洲一区二区三区| 中文字幕乱码中文字幕| 日韩欧美亚洲另类制服综合在线| 无码国精品一区二区免费蜜桃| 中文字幕精品在线视频| 免费观看的毛片| 亚洲日本欧美日韩高观看| 日本免费一区视频| 亚洲天堂视频在线观看| av大全在线| 国产99久久精品一区二区| 国产视频一区二区在线播放| 麻豆成人av| 欧美/亚洲一区| 欧在线一二三四区| 粉嫩久久99精品久久久久久夜| 午夜影院黄色片| 黄色一区二区在线| 国产强被迫伦姧在线观看无码| 精品视频久久久久久久| 91最新在线视频| 国产精品扒开腿做爽爽爽男男 | 小h片在线观看| 91老司机在线| 波多野结衣在线播放一区| 精品视频在线观看一区| 国产乱人伦精品一区二区在线观看| 粉嫩av蜜桃av蜜臀av| 亚洲国产精品尤物yw在线观看| 91黄色在线视频| 在线激情影院一区| 日韩电影免费观| 久久国产精品99久久久久久丝袜| 欧美区国产区| 亚洲天堂伊人网| 国产精品三级电影| 中文字幕第24页| 欧美日韩国产专区| 成人免费视频国产| 久久成人一区二区| 国产亚洲人成a在线v网站| 欧美深深色噜噜狠狠yyy| 一区二区三区四区五区精品视频 | 亚洲一二三区视频| 中文字幕一区二区三区最新| 日韩一区精品视频| 人妻一区二区视频| 色综合一区二区| 欧美日韩激情视频一区二区三区| 8x海外华人永久免费日韩内陆视频| 亚洲不卡在线| 久久手机在线视频| 国产成人免费在线| 国产制服丝袜在线| 亚洲va中文字幕| 天天操天天操天天| 97精品视频在线| 欧美精品国产白浆久久久久| 麻豆tv在线播放| 99精品久久免费看蜜臀剧情介绍| 国产真实夫妇交换视频| 欧美zozo另类异族| 成人性生交大片免费看在线播放| 高清免费日韩| 亚洲大胆视频| 女尊高h男高潮呻吟| 色天天综合久久久久综合片| 你懂得网站在线| 国产精品精品视频一区二区三区| 精品99在线| 伊人色在线观看| 伊人性伊人情综合网| 亚洲成人第一区| 91高清视频免费观看| 九九热线有精品视频99| 超碰在线97免费| 亚洲欧美一区二区三区极速播放 | 成人国产精品一区二区免费麻豆| 亚洲国产精品www| 国产美女一区二区三区| 久久久久久久久精| 欧美制服丝袜第一页| 在线观看免费版| 91传媒免费看| 99日韩精品| 精品人妻中文无码av在线| 91精品黄色片免费大全| av免费不卡国产观看| 欧美午夜精品久久久久免费视 | 欧美日韩精选| 人妻少妇精品视频一区二区三区| 在线免费亚洲电影| 99视频免费在线观看| 激情伦成人综合小说| 蜜桃精品视频在线观看| 欧美黄色免费观看| 亚洲欧美国产日韩天堂区| 韩国理伦片久久电影网| 无码熟妇人妻av在线电影| 国产欧美中文在线| 99视频国产精品免费观看a| 2019中文字幕全在线观看| 久久视频在线| 亚洲天堂资源在线| 欧美日韩亚洲综合一区二区三区| 免费在线国产视频| 日韩亚洲视频在线| 粉嫩绯色av一区二区在线观看| 国产精品成人久久久| 欧美激情喷水视频| 日韩国产专区| 精品无码在线视频| 日韩欧美国产1| 成人av色网站|