亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發(fā) > PHP > 正文

Zend Framework+smarty用法實例詳解

2024-05-04 23:44:09
字體:
供稿:網(wǎng)友
這篇文章主要介紹了Zend Framework+smarty用法,結(jié)合實例形式詳細(xì)分析了Zend Framework框架整合Smarty模板的具體步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
 

本文實例講述了Zend Framework+smarty用法。分享給大家供大家參考,具體如下:

一、Zend Framework簡介

Zend Framework使用模型-視圖-控制器(Model-View-Controller(MVC))結(jié)構(gòu)。這個用來把你的程序分離成不同部分使得開發(fā)和維護(hù)變得容易。

運(yùn)行Zend Framework需要:PHP 5.1.4 (或更高) 、Web 服務(wù)器支持 mod_rewrite功能,本實例采用Apache。 從這里http://framework.zend.com/download下載 Zend Framework,有兩種格式.zip或者.tar.gz。

二、Zend Framework的配置

1、目錄結(jié)構(gòu)

雖然Zend Framework 沒有強(qiáng)求使用一個標(biāo)準(zhǔn)的目錄結(jié)構(gòu),但是還是有一些通用的目錄結(jié)構(gòu)。這個目錄結(jié)構(gòu)假設(shè)你完全控制Apache 的配置。(下面以本機(jī)做例子,各位需根據(jù)自己的情況進(jìn)行更改,我的服務(wù)器的根目錄指向的是Web文件夾)

引用:

Web/
test/ 
/webapp
/controllers 
/models 
/templates
/templates_c 
/library 
/webroot
/images 
/js
/css

我們已經(jīng)把程序中的模型、視圖和控制器的文件分離到不同的子目錄中。支持的圖像,腳本和CSS 文件被存放在webroot 目錄下的不同子目錄中。下載的Zend Framework 文件放在 library 目錄下。如果我們還需要其他庫文件,都可以放在這里。在這個實例中,我們使用到了Smarty模版技術(shù),所以Smarty 的庫文件我們也應(yīng)該放在library文件下!

2、啟動文件

1) 配置.htaccess

我們使用單一的入口文件index.php來對我們的程序進(jìn)行訪問,這給我們提供了程序中所有頁面的中心點并確保運(yùn)行環(huán)境配置正確。我們用.htaccess 文件來實現(xiàn)這個目的,添加.htaccess 文件在test 的根目錄中,內(nèi)容如下:

RewriteEngine onRewriteRule !".(js|ico|gif|jpg|png|css)$ index.php

2)配置Apache
與此同時,我們還需要對apache進(jìn)行一些設(shè)置,打開apache的配置文件 httpd.conf。

1、找到“#LoadModule rewrite_module modules/mod_rewrite.so 這句話,把前面的#去掉!

2、然后再找到“AllowOverride None 改成AllowOverride All,重新啟動apache即可。

3、啟動文件index.php
index.php放在test的根目錄下,下面是index.php的內(nèi)容::

<?php //打開錯誤提示error_reporting(E_ALL|E_STRICT); //設(shè)定時區(qū)date_default_timezone_set('Asia/Shanghai'); //指明引用文件的路徑set_include_path('.' .PATH_SEPARATOR . './library/'.PATH_SEPARATOR . './webapp/models/'.PATH_SEPARATOR . get_include_path());//必須手動加載Loader.phpinclude "Zend/Loader.php"; //自動加載類,使用時,直接實例化使用function __autoload($class){Zend_Loader::loadClass($class);}//getInstance()方法用來獲取前端控制器實例$frontController = Zend_Controller_Front::getInstance(); //設(shè)定前端路由器的工作目錄$frontController->setControllerDirectory(array("default"=>'./webapp/controllers')); //拋出異常$frontController->throwExceptions(true); //設(shè)置基地址,方便以后url的跳轉(zhuǎn)用戶,.注意,區(qū)分大小寫!$frontController->setBaseUrl('/test'); //使用smarty模版需關(guān)閉本身的視圖助手. $frontController->setParam('noViewRenderer', true); // 關(guān)閉錯誤提示,發(fā)生請求錯誤時候,轉(zhuǎn)到ErrorController的errorAction控制器//$frontController->throwExceptions(false);//對。。進(jìn)行注冊Zend_Registry::set('font', $frontController);//------------配置Smarty模版 ----------------include 'Smarty/Smarty.class.php'; /*** 對smarty模版進(jìn)行初始化**/$views = new Smarty();//$views->left_delimiter = "{{";//$views->right_delimiter = "}}";$views->compile_dir = './webapp/templates_c';$views->cache_dir = './webapp/templates_c/cache_c';$views->template_dir = "./webapp/templates";function smarty_block_dynamic($param,$content,&$views){return $content;} $views->register_block('dynamic','smarty_block_dynamic',false);Zend_Registry::set('views', $views);//開始運(yùn)行程序$frontController->dispatch(); ?>

4)啟動文件說明

Zend Framework 是這樣設(shè)計的,所有的文件必須包含在 include_path 中。我們也把我們的模型目錄包含在 include path 中,這樣我們以后就能很容易加載我們的模型類。一開始,我們必須 include Zend/Loader.php,這樣我們就能訪問Zend_Loader 類,在Zend_Loader 類中有靜態(tài)方法使我們能夠加載其他Zend Framework 類,例如:

Zend_Loader::loadClass('Zend_Controller_Front');

Zend_Loader::loadClass 加載已經(jīng)命名的類。它是把下劃線轉(zhuǎn)換成路徑隔離符來實現(xiàn)的,并在最后加上.php 后綴。這樣,類Zend_Controller_Front 將從Zend/Controller/font.php 加載。如果你在你的類庫里使用相同的命名規(guī)則,就可以用Zend_Loader::loadCass()來加載它們。我們需要加載控制器類和路由類。

前端控制器用路由類來映射請求的 URL 到正確的 PHP 函數(shù),然后顯示頁面。為了能使路由工作,需要解決 URL 的哪一部分是指向index.php 的路徑,這樣它就可以在那個點后面尋找url 元素。

我們需要配置前端路由器,這樣它就知道從哪個目錄里找出我們的控制器。

$frontController = Zend_Controller_Front::getInstance(); $frontController->setControllerDirectory('./application/controllers');

設(shè)置拋出異常,但是在服務(wù)器真正工作以后,我們不應(yīng)該顯示錯誤信息給用戶看。

$frontController->throwExceptions(true);

由于在本實例中我們使用Smarty模版技術(shù)。所以我們關(guān)閉ZF本身自帶的view。$frontController->setParam('noViewRenderer', true);設(shè)置基地址,方便以后設(shè)置url來進(jìn)行跳轉(zhuǎn)。$frontController->setBaseUrl('/test');Zend_Registry::set('font', $frontController);接下來,我們對Smarty進(jìn)行設(shè)置。首先我們在類庫中引用了Smarty.class.php這個類。并且對它的路徑進(jìn)行了設(shè)置,以便讓ZF知道它的位置。:

include 'Smarty/Smarty.class.php'; /*** 對smarty模版進(jìn)行初始化**/$views = new Smarty();//$views->left_delimiter = "{{";//$views->right_delimiter = "}}";$views->compile_dir = './webapp/templates_c';$views->cache_dir = './webapp/templates_c/cache_c';$views->template_dir = "./webapp/templates";function smarty_block_dynamic($param,$content,&$views){return $content;} $views->register_block('dynamic','smarty_block_dynamic',false);

在這里,我們用ZF的對象注冊表(Registry)來對$view來進(jìn)行存貯,這樣,在程序的任何對方,我們都可以調(diào)用它來進(jìn)行操作。Zend_Registry::set('views', $views);設(shè)置好了以后,運(yùn)行程序。$frontController->dispatch();

這個時候,你如果運(yùn)行http://127.0.0.1/test 來進(jìn)行測試。會發(fā)現(xiàn)有個錯誤類似 Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (index)' in…這個是因為我們還沒有設(shè)置好我們程序。

3、設(shè)置程序

在設(shè)置文件以前,理解Zend Framework 如何組織頁面很重要。每個應(yīng)用程序的頁面叫做 action ,許多 action 組成控制器。例如,對于這樣一個格式的 URL http://localhost/test/news/view/id/1 來說,控制器是news, action 是view,后面的id和1,分別是往這個actionView傳遞的參數(shù)和值。

Zend Framework 控制器把 index 作為一個缺省的action 而保留為特別的action。這樣,對于http://localhost/test/news/ 這樣的url,在news控制器里的 index action將被執(zhí)行。Zend Framework 也保留了一個缺省的控制器,也叫做index。這樣,http://localhost/test/ 將執(zhí)行 index控制器下的 action index。

4、設(shè)置控制器

現(xiàn)在可以設(shè)置控制器了。在Zend Framework 里,控制器是一個必需被叫做{Controller name}Controller 的類。注意{Controller name}必需以大寫字母開頭。并且,這個類必須在叫做{Controller name}Controller.php這樣的文件中,這個文件還必需在特定的控制器目錄中。強(qiáng)調(diào)一下,{Controller name}必需以大寫字母開頭并其他字母一定是小寫。每個action是在控制器類里的public 函數(shù),名字必需是{action name}Action。在這里,{action name}應(yīng)該以小寫字母開頭。這樣在文件 test/webapp/controllers/IndexController.php 里我們的控制器類叫做 IndexController,位置:test/webapp/controllers/IndexController.php:

<?php class IndexController extends Zend_Controller_Action { function init(){} function indexAction() { } function addAction() { } } ?>

我們現(xiàn)在有三個我們想使用的action,直到我們設(shè)置好視圖,它們才工作。其中function init是個特殊的函數(shù),簡單的說,它就是在controller中的構(gòu)造函數(shù)時調(diào)用的函數(shù)。

每個action的 URL 如下:

http://localhost/test/ in IndexController::indexAction() 
http://localhost/test/index/add in IndexController::addAction()

現(xiàn)在,我們在程序里有個能工作的路由器和每個頁面的 action。

5、設(shè)置視圖

因為本實例使用的的是Smarty模版,所以和ZF本身的View視圖在實現(xiàn)過程中,稍微有點區(qū)別!下面我直接介紹在ZF里是任何使用Smarty的。在使用Smarty之前,我們應(yīng)該先取出在index.php里定義的$view,并且定義好,需要在模版顯示的變量。:

class IndexController extends Zend_Controller_Action { var $views; /*模板對象*/var $data; /*傳遞模版變量的對象*/function init(){//拿回注冊過的對象$this->views = Zend_Registry::get('views'); } function indexAction() { //定義模版顯示的變量 $data[`title′]=〞hello world〞;//傳遞變量到模版$this->views->assign($data);//顯示模版$this->views->display('index/index.tpl'); } function addAction() { } }

下面我們開始做視圖文件,它們的位置是test/webapp/templates/index/index.tpl:

代碼:

{$title}

這個時候,輸入http://127.0.0.1/test看看。應(yīng)該會出現(xiàn)“hello world 了。

這樣,一個簡單的實例就完成了。下面我們結(jié)合Xmlrpc技術(shù)來實現(xiàn)一個稍微復(fù)雜一點的實例!

三、XMLRPC

1、什么是XMLRPC

XMLRPC,顧名思義,就是應(yīng)用了XML技術(shù)的RPC。那么什么是XML和RPC了?

RPC是Remote Procedure Call的縮寫,翻譯成中文就是遠(yuǎn)程過程調(diào)用,是一種在本地的機(jī)器上調(diào)用遠(yuǎn)端機(jī)器上的一個過程(方法)的技術(shù),這個過程也被大家稱為“分布式計算 ,是為了提高各個分立機(jī)器的“互操作性 而發(fā)明出來的技術(shù)。

XML和RPC一樣也是一個東西的縮寫,這個東西就是eXtensible Markup Language,中文意思就是可擴(kuò)展標(biāo)記語言,標(biāo)記語言就是那種用尖括號(<>)括來括去的那種語言,比如說HTML。XML的可擴(kuò)展性也體現(xiàn)在它只定義了語言的格式,而并沒有定義過多的關(guān)鍵字,也就是通常所說的標(biāo)記(Tag),所以用戶可以自由地選擇定義標(biāo)記。它的這種自由和簡單的語法規(guī)則也使得它廣為流傳,用來表示各種數(shù)據(jù)。

2、在ZF中使用XMLRPC

1)創(chuàng)建IndexController.php

下面我們來完成一個實例,為了方便起見,就不建立新的Controller,把剛才我們建立的IndexController修改一下,就能使用了!另外我們還需要建立一個XMLRPC的服務(wù)端程序。位置在WEB服務(wù)器的根目錄上(在本機(jī)中,也就是在test文件的上級目錄中,取名為1.php),由于XMLRPC使用到了類庫,我們還需要下載libphpxmlrpc放在library文件夾下!

文件位置:test/webapp/controller/IndexController.php:

class IndexController extends Zend_Controller_Action {var $views; /*模板對象*/var $data; /*傳遞模版變量的對象*/public function init(){//拿回注冊過的對象$this->views = Zend_Registry::get('views'); $this->font = Zend_Registry::get('font'); //得到基地址 $this->baseurl=$this->font->getBaseUrl();}function indexAction() { @include "libphpxmlrpc/xmlrpc.inc";@include "libphpxmlrpc/xmlrpcs.inc"; if (isset($_POST['var1']) && isset($_POST['var2'])) { //創(chuàng)建客戶端$client = new xmlrpc_client('http://127.0.0.1/1.php');//創(chuàng)建一個實例@ $msg = new xmlrpcmsg("add", array(new xmlrpcval($_POST['var1'], "int"),new xmlrpcval($_POST['var2'], "int")));//發(fā)送信息,$response=$client->send($xmlrpc_message);,服務(wù)器返回xmlrpcresp的一個實例$retval = $client->send($msg);if ($retval->faultCode()) {print_r("發(fā)生一個錯誤: "); print_r("原因: " . htmlspecialchars($retval->faultString())); } else {//$retval->value()獲取應(yīng)答的xmlrpcval(也就是服務(wù)器端返回的結(jié)果),$retval->value()->scalarval();得到描述應(yīng)答結(jié)果的PHP變量$sum = $retval->value()->scalarval();}}@$data['var1']=$_POST['var1'];@$data['var2']=$_POST['var2'];@$data['sum']=$sum; @$data[`action′]= "$this->baseurl/index/"; //構(gòu)造完整的url給模版 $time=date("Y-m-d H:i:s")@$data['url']="$this->baseurl/index/add/id/$sum/time/$time"; /傳遞變量到模版$this->views->assign($data);//顯示模版$this->views->display('index/index.tpl'); } function addAction() { $data['title']="實驗一下"; //得到傳遞的值 $id=$this->_request->getParam("id");$time=$this->_request->getParam("time"); $data['id']="$id";$data['time']="$time";$this->views->assign($data);$this->views->display('index/add.tpl'); }}

2)創(chuàng)建顯示模版文件

位置:test/webapp/templates/index/index.tpl:

hello,下面演示的是利用Xmlrpc調(diào)用遠(yuǎn)程服務(wù)器方法的實例!并且我們把得到的結(jié)果傳遞到另外的一個函數(shù)中去!

代碼:

{if $sum}點一下看看!{/if}

位置: test/webapp/templates/index/add.tpl:

現(xiàn)在是{$time}{$title}你剛才傳遞的是 {$id}

3)創(chuàng)建XMLRPC服務(wù)器端程序

位置:web/1.php:

<?php@include ("libphpxmlrpc/xmlrpc.inc");@include ("libphpxmlrpc/xmlrpcs.inc");if ($_SERVER['REQUEST_METHOD'] != 'POST'){exit(0);}$add_sig = array(array($xmlrpcString, $xmlrpcInt, $xmlrpcInt));$add_doc = "Add the two integer together";function add($params){//引入用戶錯誤代碼值global $xmlrpcerruser;//返回一個PHP數(shù)組$val = php_xmlrpc_decode($params);$ret = $val[0] + $val[1];return new xmlrpcresp(new xmlrpcval($ret, "int"));}//創(chuàng)建一個xmlrpc_server的實例:$server = new xmlrpc_server(array("add" => array("function" => "add","signature" => $add_sig,"docstring" => $add_doc)));?>

OK,現(xiàn)在打開http;//127.0.0.1/test/看看。剛才建立的那個XMLRPC應(yīng)該已經(jīng)建立起來了,輸入數(shù)字,測試一下吧!



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
可以在线观看的黄色网址| 青青草原在线亚洲| 最近免费中文字幕大全免费第三页| 日韩在线观看你懂的| 一本大道亚洲视频| 老司机精品在线| 五月婷婷狠狠操| 国产在线精品一区免费香蕉| 97在线观看| 18free性欧美另类hd| 秋霞在线观看一区二区三区| 日本视频免费在线| 成人动漫av在线| 国产成人综合自拍| 麻豆传媒视频在线观看| 亚洲人视频在线| 中文字幕欧美日韩| 337p粉嫩大胆噜噜噜鲁| 2018天天弄| 久久在线观看免费| 影音四色91| 天堂8在线天堂资源bt| 性色av一区二区三区免费| 第四色婷婷基地| 亚洲精品中文字幕av| 91禁男男在线观看| 丝袜制服一区二区三区| 中文一区在线观看| 夜夜爽视频导航| 3344国产永久在线观看视频| 亚洲午夜女主播在线直播| sihu影院永久在线影院| 国产精品精品久久久久久| 在线观看视频免费一区二区三区| 天堂网www中文在线| 91在线高清视频| 国产原厂视频在线观看| 深夜宅男网站免费进入| 国产盗摄视频在线观看| 久久午夜鲁丝片| 99re66热这里只有精品3直播| 欧美黄色片在线观看| 久久久久久久穴| 日韩精品一卡二卡| 人九九综合九九宗合| 538在线观看| 国内免费精品永久在线视频| 国 产 黄 色 大 片| 亚洲激情在线观看| 国产欧美视频一区二区三区| 欧美日韩a区| 97精品一区二区| 奇米影视亚洲| 男男视频在线观看网站| 午夜久久免费观看| 高清国产mv在线观看| 久久国产露脸精品国产| 国产精品sm调教免费专区| xxx欧美老熟| 高清一区在线观看| 91麻豆精品国产91久久久使用方法| 亚洲欧洲综合另类| 老司机精品视频导航| 国产视频精品久久久| 久久中文字幕无码| 国产美女高潮一区二区三区| 国产高清在线a视频大全| 亚洲精品一区三区三区在线观看| 欧美电影三区| 国产性猛交xxxx免费看久久| 午夜日韩在线电影| 97影院秋霞午夜在线观看| 国产天堂第一区| 欧美另类一区二区三区| 狠狠躁18三区二区一区| 中文字幕亚洲欧美日韩在线不卡| 日韩美女啊v在线免费观看| 好吊色在线观看| 四虎精品一区二区三区| 一级毛片视频在线观看| 国产一区二区三区观看| 97超碰人人看人人| 91社区在线播放| 在线一区观看| 高清视频一区二区三区| 国产精品女主播一区二区三区| 污的视频网站| 成人午夜激情| 一区二区精品免费| 日韩va欧美va亚洲va久久| 国产一区二区三区视频免费| 麻豆av一区二区三区久久| 九七影院97影院理论片免费| 成人性生交大片免费看视频直播| 中文字幕在线观看一区二区| 精品国内一区二区三区免费视频| 超级碰碰视频| 欧美xxxxbbbb在线播放| 国产麻豆xxxvideo实拍| 69精品小视频| 国产精品久久久免费看| 青青草原综合久久大伊人精品优势| 亚洲高清精品视频| 成人精品一区| 国内自拍视频在线看免费观看| 免费看美剧网站| 日韩av高清不卡| 瑟瑟视频在线| 亚洲一区二区成人在线观看| 中文视频在线观看| 亚洲伦理在线精品| 亚洲最大黄网| 99久久久国产精品| 在线视频不卡一区二区三区| 日韩色淫视频| 91精品福利在线一区二区三区| 中文字幕免费在线看| 久久视频在线播放| 久久综合九色综合久久久精品综合| 性高湖久久久久久久久aaaaa| 无码人妻丰满熟妇区96| 宅男66日本亚洲欧美视频| 不卡av影片| 污污网站免费看| 亚洲美女免费精品视频在线观看| 欧美日韩视频在线| 天天干夜夜干| 国产成+人+亚洲+欧美+综合| 77导航福利在线| 99riav国产精品视频| 福利片在线播放| 亚洲精美色品网站| 嗯~啊~轻一点视频日本在线观看| 香港三日本8a三级少妇三级99| 明星国产一级毛片范冰冰视频| xfplay每日更新av资源在线| 嫩草在线播放| 在线观看欧美日本| 精品卡一卡二卡三卡四在线| 欧美极度另类性三渗透| 国产伦一区二区三区色一情| 狠狠狠综合7777久夜色撩人| 天天碰免费视频| 亚洲免费视频观看| 国产成人综合av| 99久久久久成人国产免费| 精品国产欧美一区二区五十路| 国产高潮在线观看| 香蕉视频911| 999在线精品视频| 美女啪啪无遮挡免费久久网站| 天天干天天草天天射| 欧美欧美欧美| 国产精品日韩精品欧美在线| 中文字幕jux大岛优香| 黄色在线成人| 999久久欧美人妻一区二区| 亚洲国产91| 日本成人三级电影网站| 成人精品国产亚洲| 影音先锋久久久| 欧美精品第一页| 最新视频 - x88av| 国产女教师bbwbbwbbw| 免费在线观看日韩视频| 日本羞羞视频| 亚洲国产成人av网| 国产女片a归国片aa| 欧美色图片区| 波多野结衣在线| 岛国在线视频免费看| 欧美人与动牲交xxxxbbbb| 欧美日韩日日摸| 91国产精品视频在线观看| 成人自拍视频在线观看| 激情六月天婷婷| 男女羞羞在线观看| 欧美一区二区三区四区高清| 被黑人猛躁10次高潮视频| 色婷婷av在线| 久久久久成人精品无码中文字幕| 中国一级大黄大黄大色毛片| 酒色婷婷桃色成人免费av网| 亚洲在线观看免费| 久久久久久久久久久久久久久| 欧美激情国产精品日韩| 伊人影院在线观看| 国产91精品久久久久| 国产亚洲精品久久久久动| 视频一区二区三| 国产免费www| 69av在线视频| 久久久久五月天| 日韩网站中文字幕| 污视频在线观看免费网站| 视频一区视频二区中文字幕| 在线观看的毛片| 国产精品中文字幕在线| 97免费视频在线播放| 人妻在线日韩免费视频| 国产成人精品久久一区二区小说| 欧美在线观看禁18| 中文字幕中文字幕在线中一区高清| 中文字幕理伦片免费看| 美女久久久久久久久| 国产aⅴ一区二区三区| 欧美视频一区二区三区四区| 久青草免费视频| 日本精品免费观看高清观看| 免费观看毛片网站| 中文字幕精品在线观看| 日韩va欧美va亚洲va久久| 青青草视频社区| 国产精品全国免费观看高清| 国产99视频精品免费视频36| 欧美bbbbb| 欧美激情亚洲色图| 欧美白嫩的18sex少妇| 欧美日韩国产影片| 欧美日韩黄色网| 激情综合闲人网| 国产精品久久久久久久午夜| 无尽裸体动漫2d在线观看| 糖心vlog精品一区二区| 国产亚洲精品bt天堂精选| 毛片视频免费观看| 18+视频在线观看| 97福利电影| 男人天堂视频网| 免费成人在线视频观看| 欧美激情精品久久久久久小说| 手机看片一区二区| 992kp免费看片| 欧美性视频一区二区三区| 在线观看视频中文字幕| 日本午夜精品一区二区三区电影| 人人爽人人爽人人片| 99久久99久久精品免费| 天天爽天天爽夜夜爽| 黄色网页在线播放| 亚洲男人天堂av网| 麻豆入口视频在线观看| 国产盗摄一区二区三区| xxxxhd欧美精品| 91福利在线免费观看| 在线看片一区| 成人午夜视屏| 色99中文字幕| 成人免费在线观看网站| 亚洲福利国产精品| 91精品免费| 香蕉521av成人网| 两个人看的免费完整在线观看| 久久久精品成人| 宅男午夜电影| 色综合久久一区二区三区| jizzjizzjizz亚洲女| 国产经典自拍视频在线观看| 欧美日韩国产一级二级| 日韩视频www| 久久久久久久久久成人| 国产激情精品一区二区三区| 中文日韩欧美| 国产亚洲欧洲在线| 性视频1819p久久| 国产亚洲欧洲高清| 免费观看成人鲁鲁鲁鲁鲁视频| 色综合五月婷婷| 亚洲成人黄色av| 在线播放日韩导航| 欧美综合激情网| 女人高潮一级片| 青草青青在线视频| 国产精品99导航| 欧美福利小视频| 日本黄色免费录像| 偷拍自拍亚洲色图| 日韩电影免费观看在线观看| 欧美在线一区视频| 最近免费中文字幕mv视频| 99久久99久久久精品齐齐| 中国日韩欧美久久久久久久久| 麻豆久久久9性大片| 亚洲视频1区| 国产人妖乱国产精品人妖| 欧美日韩精品一区二区三区视频播放| 亚洲精品视频91| 日韩午夜电影| 蜜桃一区二区三区四区| 91精品人妻一区二区三区四区| 亚洲女人在线观看| 色偷偷色偷偷色偷偷在线视频| 欧美性极品videosbest| 国产伦精品一区二区三区在线播放| 国产尤物视频在线观看| 国产日韩欧美视频在线| av在线亚洲天堂| 成人污网站在线观看| 国产一区二区视频在线| 国产在线1区| 欧美日韩中文字幕在线| 久久国产精品一区二区三区| 男人午夜天堂| 色婷婷777777仙踪林| 91成人福利在线| 日韩免费观看高清| 狂野欧美性猛交xxxx| 久久久久久久久久久久久91| 性久久久久久久| 欧美日韩破处| 日韩欧美一区二区三区免费看| 91丨porny丨在线中文| 欧美激情偷拍自拍| 成年人免费视频观看| 18以下岁禁止1000部免费| 免费动漫网站在线观看| 99精品视频一区二区三区| 成人三级av| 国产伦精品一区二区三毛| 牛牛在线精品视频| 日韩在线视频播放| 日韩av影片| 欧美va亚洲va国产综合| 亚洲另类在线一区| 国产日本一区二区三区| 成人精品一区二区三区中文字幕| 色综合天天色综合| 欧美激情性做爰免费视频|