Zend Framework 入门教程(简体中文版)

Zend Framework 入门教程(简体中文版)
Zend Framework 入门教程(简体中文版)

Zend Framework 入门教程(简体中文版)

Getting Started With the Zend Framework Author:Rob Allen, https://www.360docs.net/doc/e27224945.html,

Document Revision:1.5.2

Copyright? 2006, 2008

翻译:Altair (eniac2008@https://www.360docs.net/doc/e27224945.html,)

中文版本号:v0.12

【翻译说明】这是Zend Framework 的非常经典的入门教程,它的原作者Rob Allen 是《Zend Framework In Action》一书的作者。在翻译这个版本之前,只知道Jason Qi 翻译的0.9 版(实际内容是关于Zend Frame 0.6

版本的)。因为自0.9 版以来Zend Framework 已经有了很大的变化,教程也有了比较大的改变。因此才决定重新翻译一次。翻译完成后才发现Jason Qi 翻译的最新版本已经是1.4.3 了。但毕竟已经翻译完成,而且Jason翻译的还不是最新版本,因此还是决定将这个版本的翻译发布出来。因此,实际上这个翻译版本是根据英文版v1.5.2 完全重新翻译的。

这个翻译版本是比较初步的一个版本,里面可能还有不少翻译错误,主要是中文表述的问题,我会一直对其进行修订。如果你发现文中有一些错误,那很有可能是我在翻译的时候造成的,欢迎大家将发现的错误及时通知我,以便我能及时更新,以保证此中文版本跟原文一样的高品质。Thanks!

本教程的英文版原文链接:https://www.360docs.net/doc/e27224945.html,/zend-framework-tutorial/

Jason Qi翻译的本教程的早期版本可以在这里找到:

https://www.360docs.net/doc/e27224945.html,/download/

本教程首发: https://www.360docs.net/doc/e27224945.html,, https://www.360docs.net/doc/e27224945.html, (Under construction) History:

2008/05/30 v0.01 First Release.

2008/05/30 v0.02 Bug Fix

2008/06/01 v0.03 Bug Fix

2008/06/02 v0.04 Bug Fix

2008/06/05 v0.10/0.11 对文字做了比较大的修订。

2008/06/06 v0.12 Bug Fix

What's New?

v0.12 P12“样式”小节中有关辅助函数类保存的地址helper 应为helpers 感谢https://www.360docs.net/doc/e27224945.html,/lxq73061 指出此错误。

v0.10 对文字做了比较大的修订。

v0.04 (1) 因原文中有关目录配置的地方有一处写得有点矛盾,因此我在v0.03 版的译注是针对使用虚拟主机的配置的。对于不使用虚拟主机的情况,我的译注与文中后来访问的URL 有冲突。新版中对此作了一些修改。原则上,v0.03 版的译注是没有问题的。

本教程对使用Zend Framework 来开发数据库驱动的应用程序作了非常基本的介绍。

注意:本教程在Zend Framework 1.5 版下测试通过。在以后的 1.5.x 版本上,它也有很大可能正常运行,但在 1.5 以前的版本上本教程不能运行。

Model-View-Controller架构

下面是传统的PHP 应用程序编写方式:

include "common-libs.php";

include "config.php";

mysql_connect($hostname, $username, $password);

mysql_select_db($database);

?>

Home Page

$sql = "SELECT * FROM news";

$result = mysql_query($sql);

?>

while ($row = mysql_fetch_assoc($result)) {

?>

}

?>

对于采用这种方式编写的应用程序来说,为了适应其生命周期中客户不断变化的需求,将不得不在代码的多个地方打上补丁,最后导致它变得无法维护。提高程序的可维护性的一种方法是将这个程序的代码分成如下三个不同的部分(通常也是独立的文件):

Zend Framework 使用Model-View-Controller(MVC)架构。它将程序中不同部分独立开来,使得应用程序的开发和维护更加容易。

需求

使用Zend Framework 需要下列环境:

PHP 5.1.4 或以上版本

支持mod_rewrite 功能的Web 服务器

一些假设

本教程假定你运行PHP 5.1.4 或以上版本,外加Apache Web 服务器。Apache 必须已安装并正确配置了mod_rewrite 扩展。

必须保证Apache 已配置成支持.htaccess 文件的模式。通常这可以通过在httpd.conf 中将

AllowOverride None

改成

AllowOverride All

来实现。更详细的设置方法可以在Apache 发行文档中找到。如果没有正确配置mod_rewrite 及.htaccess,那么除了本教程的首页外你将不能看到任何其它的页面。

获取框架

Zend Framework可以从https://www.360docs.net/doc/e27224945.html,/download下载(有.zip或.tar.gz 两种格式)。

目录结构

虽然Zend Framework 对目录结构没有特别要求,但其手册上还是推荐了一种常用的目录结构,本教程也使用这种目录结构。这种结构要求你能完全控制Apache 的配置文件,以便可以将大多数的文件存放在web的根目录之外。

首先在web服务器的根目录下创建一个zf-tutorial目录1 ,然后分别创建下面的子目录来存放网站2的文件:

\

我们使用单独的目录来保存应用程序的模型、视图和控制器文件。public目录是网站的根目录3,这样就可以通过URL http://localhost/zf-tutorial/public/ 来访问我们的程序。并且应用程序的绝大多数文件都不能直接通过Apache来访问,从而提高了系统的安全性。

1 译注:按道理此处的Web 服务器的根目录不应指网站的根目录,即不是Apache 配置文件中的DocumentRoot 目录。但实际上本教程中这个目录就是指的是

DocumentRoot 目录。原文这个地方写得与上文中“将大多数文件存放在web 的根目录之外”的原则有点矛盾。

2 译注:此处的网站是将教程中开发的应用程序看作一个独立的网站的应用来看待的。因此,在下文中有时会将网站或(应用用)程序的概念混用,只要记住它都是指我们在这个教程中正在开发的应用程序就可以了。

3 译注:此处意味着我们必须将.htaccess 及index.php 两个文件保存在public 目录下。

注意:

在一个包括其它网站的服务器中,最好还是为我们的网站创建一个虚拟主机,将其根目录设置为public子目录。例如你可以创建一个zf-tutorial.localhost的虚拟主机4:

ServerName zf-tutorial.localhost

DocumentRoot /var/www/html/zf-tutorial/public

AllowOverride All

这样就可以通过http://zf-tutorial.localhost/ 来访问该网站。(使用这种方式必须修改/etc/hosts 或c:\windows\system32\drivers\etc\hosts文件,将zf-tutorial.localhost映射到127.0.0.1)。

辅助的图像文件,JavaScript 文件和CSS 文件分别保存在public 目录下的不同文件夹中。下载后的ZendFramework 文件将保存在library 文件夹中。如果需要使用其它的库文件,也可以放在该文件夹下。

将下载的Zend Framework 软件包,我使用的是ZendFramework-1.5.0.zip,解压到一个临时目录中,解压后的所有文件都放在ZendFramework-1.5.0 子文件夹下,将它的子目录library/Zend 拷贝到zf-tutorial/library/文件夹,现在zf-tutorial/library/目录中包含了Zend 子目录。

引导文件

Zend Framework控制器类Zend_Controller支持网站使用“干净的URL”5。为此

所有的请求都需要通过index.php进入。这就是通常所说的前端控制器(Front Controller)设计模式。它为我们的应用程序的所有页面提供了一个中心控制点并确保程序的运行环境已经正确设置。要完成这一切,都必须在zf-tutorial/public目录下创建一个.htaccess

文件:

zf-tutorial/public/.htaccess

# Zend Framework rewrite 规则

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule .* index.php

# 安全性考虑:不允许列表目录内容

Options -Indexes

# PHP 设置

php_flag magic_quotes_gpc off

php_flag register_globals off

php_flag short_open_tag on

4 译注:如果配置虚拟主机,必须将此处的DocumentRoot 以及Directory 中的路径换成自己的实际目录。

5 译注:所谓“干净的URL”是指URL中不含那些杂乱的参数,如:

http://localhost/index/add/,而不是http://localhost/index.php?action=add。

RewriteRule 非常简单,可理解为“对所有不能映射到磁盘上已存在的文件的url,都用index.php 来代替”。

为了安全起见,我们设定了一些PHP 的ini 设置;我们还将short_open_tag 选项设置为on,因为将来视图文件可能会用到它。当然这些设置可能已经正确设置过了,但我们必须确保这一点。注意只有在使用PHP模块(mod_php)的方式下才可以

在.htaccess 文件中使用php_flag 标记。如果使用CGI/FastCGI 模式,必须保证在php.ini 中正确设置了这些参数。注意,为了让.htaccess 起作用,必须在httpd.conf 中将配置指令AllowOverride 设置为All.

引导文件: index.php

zf-tutorial/public/index.php 是应用程序的引导文件,我们用下面的代码开始我们的

教程:

zf-tutorial/public/index.php

error_reporting ( E_ALL | E_STRICT );

ini_set ( 'display_errors', 1 );

date_default_timezone_set ( 'Europe/London' );

// 目录设置和类装载

set_include_path ( '.' . PATH_SEPARATOR . '../library/' . PATH_SEPARATOR . '../application/models' . PATH_SEPARATOR . get_include_path () );

include "Zend/Loader.php";

Zend_Loader::registerAutoload ();

// 设置控制器

$frontController = Zend_Controller_Front::getInstance ();

$frontController->throwExceptions ( true );

$frontController->setControllerDirectory ( '../application/controllers' ); // run!

$frontController->dispatch ();

注意在文件的结尾我们没有加上?>,因为在文件的结尾它不是必需的。这样可以避免产生一些难于调试的错误问题。例如,在使用header()函数来重定向(redirect)时,如果在其前面某个包含文件中?> 后面不小心加上了空格就会出现错误。

下面开始详细解释这个文件:

error_reporting(E_ALL|E_STRICT);

ini_set('display_errors', 1);

date_default_timezone_set('Europe/London');

前 2 行保证在程序出错时能看到相应的错误信息。第 3 行设置了时区(PHP 5.1+以后要求如此)。当然,你应该选择自己所在地的时区。

// 目录设置和类装载

set_include_path('.' . PATH_SEPARATOR . '../library/'

. PA TH_SEPARATOR . '../application/models'

. PA TH_SEPARATOR . get_include_path());

include "Zend/Loader.php";

Zend_Loader::registerAutoload();

Zend Framework 在设计时就要求它必须在包含路径(include path)中。为了将来很容易的装入模型类,我们也将模型类目录加到了包含路径中。在正式开始之前,我们首先包含进Zend/Loader.php 文件,这样就可以使用Zend_Loader 类了。接着调用

Zend_Loader 类的registerAutoload()成员函数,这样以后在实例化ZendFramework 对象时就可自动装入它们。

问题:由于我测试的版本是1.11.12,和1.5有些不同,出现如下问题

Notice: Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead

解决办法,将:

//require_once ‘Zend/Loader.php’;

//Zend_Loader::registerAutoload();//设置Zend Framework 自动载入类文件

换成:

require_once ‘Zend/Loader/Autoloader.php’;

Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);

// 设置控制器

$frontController = Zend_Controller_Front::getInstance();

$frontController->throwExceptions(true);

$frontController->setControllerDirectory('../application/controllers');

必须设置前端控制器使得它知道从哪里去找我们的控制器类。

$frontController = Zend_Controller_Front::getInstance();

$frontController->setControllerDirectory('./application/controllers');

$frontController->throwExceptions(true);

因为这只是一个教程并且通常只是在测试系统上运行,因此我决定让前端控制器(front controller)抛出它遇到的所有异常。默认情况下,前端控制器将捕获这些异常并将其传递到ErrorController 控制器,但这容易造成Zend Framework 新手的困惑。直接抛出异常相对简单,这样错误也很容易看到。当然,在实际运行中的服务器,不管怎样都不能将错误直接显示给用户。

前端控制器使用了一个路由类将请求的URL 映射到相应的显示页面内容的PHP 函数。路由类要正常工作,必须知道该URL 中哪些部分用于映射到index.php 的路径,这样它才可以从其后余下的部分中读取URI 元素。这个工作由Request 对象来完成。Request 对象可以有很强的自动检测正确的基地址(base URL)的能力,但如果它在你的设置环境中不能正常工作,可以使用$frontController->setBaseUrl()来覆盖它。

现在到了程序的核心部分了,程序正式开始运行:

// run!

$frontController->dispatch();

此时如果你用浏览器来测试http://localhost/zf-tutorial/public/,你会看到一条致命错误信息:

Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (index)' in…

这个错误信息告诉我们还没有创建application 的内容。在此之前,我们最好先讨论一下要做什么,而这就是我们下一节的内容。

网站内容

我们打算建立一个非常简单的库存管理系统,用于显示我们收藏的CD。主页上显示我们收藏的CD 列表,

并允许我们增加、修改、删除CD。CD 信息保存在如下结构的数据库中:

需要的页面

在我们的程序中需要下列四个页面:

页面的组织

在我们继续下一步工作之前,理解Zend Framework要求页面如何组织至关重要。程序的每个页面就是一个“动作”(action),而动作又组合到控制器中。例如,对于http://localhost/public/zf-tutorial/news/view形式的URL来说,控制器是news, 动作是view。这样可以将相关的动作组合到一起。例如,一个news控制器可以有list, archive

和view动作。Zend Framework的MVC系统还支持将不同的控制器组合在一起,但这个程序没有那么复杂,所以我们不用考虑这些。

默认情况下,Zend Framework保留了一个特殊的动作,称之为index,并将它作为默认动作。因此http://localhost/public/zf-tutorial/news将执行控制器news的动作index。同样,如果不提供控制器名称,那么就使用index作为默认的控制器。因此

http://localhost/public/zf-tutorial/ 将执行控制器index的动作index。

作为一个简单的教程,我们不考虑那些复杂的情况如“登录”等,它们也许需要另外一篇教程才能讲清楚......

现在我们有四个页面,并且都跟唱片有关,因此我们可以将它们组合到包含四个动作的控制器中。在这里我们使用默认的控制器,它的四个动作如下:

编写控制器

现在可以编写控制器类了。在Zend Framework 中,控制器类名必须为{Controller name}Controller。注意控制器类名称(Controller name)的首字母必须大写。控制器类必须保存在application/controllers 目录中,文件名为{Controller name}Controller.php。同样,这里{Controller name}必须以大写字母开头,所有其它字母均为小写。每个动作(action)必须是一个名为{action}Action 的public 函数,这里{action}必须以小写字母开头并且全是小写字母。混合大小写的控制器名称或动作名称是允许的,但在使用它们之前你必须理解这种用法有其特殊的规则。建议你在使用它们之前先阅读一下相关的文档。

因此我们的控制器名为IndexController,它在

zf-tutorial/application/controllers/IndexController.php文件中定义。我们先创建该文件并编写它的框架代码:

zf-tutorial/application/controllers/IndexController.php

class IndexController extends Zend_Controller_Action

{

function indexAction()

{

}

function addAction()

{

}

function editAction()

{

}

function deleteAction()

{

}

}

现在已经设置了将要用到的四个动作。在视图代码完成后,它们就可以工作了。每个动作对应的URL如下6:

6 译注:对于使用虚拟主机的配置,其对应的URL类似于

http://zf-tutorial.localhost/index ...

现在已经有了一个可以工作的“路由器”,每个页面都定义了一个动作函数。接下来我们将开始创建视图。

编写视图

不奇怪,Zend Framework 的视图组件就叫做Zend_View. 视图组件允许我们将显示页面的代码与动作函数的代码分离。

Zend_View 的基本用法如下:

$view = new Zend_View();

$view->setScriptPath('/path/to/view_files');

echo $view->render('viewScipt.php');

而易见,如果直接将这些骨架代码写到每一个动作函数中,我们就不得不到处无聊的重复这些跟动作关系不大的代码。我们希望能将视图的初始化代码放在其它的地方,

然后在每个动作函数中直接访问已初始化过的视图对象。

Zend Framework 的设计人员已经预见到了这种情况,建立了一个“动作辅助类(action helper)”来解决这个问题。这个辅助类是

Zend_Controller_Action_Helper_ViewRenderer,它初始化视图属性($this->view),我们可以使用这个属性,并用来显示视图文件。显示过程首先通知Zend_View 对象在views/scripts/{controllername}目录中查找显示脚本,然后显示与动作名称相同,扩展名为.phtml 的显示脚本。即显示的视图文件名为views/scripts/{controller name}/{action name}.phtml,显示的内容将附加到应答对象(Response Object)的应答内容(body)中。应答对象将MVC 系统生成的HTTP 头,应答内容以及所有异常信息整合在一起。前端控制器在调度过程的结尾处自动将HTTP 头以及应答内容返回给用户。

们需要创建一些视图文件来将视图集成到我们的程序中。为了验证这些视图文件是否能正常工作,我们先需要修改IndexController,修改的内容见下面的黑体部分:zf-tutorial/application/controllers/IndexController.php

class IndexController extends Zend_Controller_Action

{

function indexAction()

{

$this->view->t itle = "My Albums";

}

function addAction()

{

$this->view->title = "Add New Album";

}

function editAction()

{

$this->view->title = "Edit Album";

}

function deleteAction()

{

$this->view->title = "Delete Album";

}

}

每个动作函数中,我们做的所有工作就是为视图属性(view)属性增加了一个title 变量。注意在这个时候实际的显示操作还没有开始——它是在前端控制器在调度过程的最后进行的。

现在需要在我们的程序中增加四个视图文件。前面已经提到过,这些文件称为显示脚本(scripts)或显示模板(templates),每一个显示模板根据相应的动作命名,并且扩展名为.phtml。模板文件必须放在与控制类同名的子目录中,因此这四个模板文件分别是:zf-tutorial/application/views/scripts/index/index.phtml

<?php echo $this->escape($this->title); ?>

escape($this->title); ?>

zf-tutorial/application/views/scripts/index/add.phtml

<?php echo $this->escape($this->title); ?>

escape($this->title); ?>

zf-tutorial/application/views/scripts/index/edit.phtml

<?php echo $this->escape($this->title); ?>

escape($this->title); ?>

zf-tutorial/application/views/scripts/index/delete.phtml

<?php echo $this->escape($this->title); ?>

escape($this->title); ?>

现在浏览上面的四个url 地址测试每个控制器/动作,在浏览器中应该可以看到四个页面的标题了。

相同的HTML代码

很快你就会发现在我们的视图中有大量相同的HTML 代码,由于这个问题非常普遍,因此Zend Framework中专门设计了Zend_Layout 组件来解决这个问题。

Zend_Layout 组件允许我们将相同的头部和尾部代码移到独立的布局显示脚本(layout view script)中,并在布局显示脚本中包含与正在执行的动作相关的显示代码。

为此我们需要对程序做一些修改。首先要确定的是将布局显示脚本保存到哪里。建议的路径是在application目录下,因此我们在zf-tutorial/application 目录中创建一个layouts 子目录。

其次我们需要通知启动文件启用Zend_Layout,这只需要在public/index.php 中增加一行代码即可(黑体部分):

zf-tutorial/public/index.php:

...

$frontController->throwExceptions(true);

$frontController->setControllerDirectory('../application/controllers');

Zend_Layout::startMvc(array('layoutPath'=>'../application/layouts'));

// run!

$frontController->dispatch();

startMvc()函数内部为前端控制器安装了一个插件(plugin),该插件保证

Zend_Layout 组件在调度过程的最后显示布局脚本,而该布局脚本中包含了动作的显示脚本。

现在我们就需要这个布局显示脚本了。布局显示脚本默认的文件名是layout.phtml,它保存在在layouts目录中,内容如下:

zf-tutorial/application/layouts/layout.phtml

"https://www.360docs.net/doc/e27224945.html,/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<?php echo $this->escape($this->title); ?>

escape($this->title); ?>

layout()->content; ?>

注意我们创建了一个符合XHTML 规范的标准HTML 文件来显示页面。因为页面中

标记中的标题在所有页面上都显示,我们将它移到了布局文件中,并且使用escape()函数来保证它被恰当的编码。

为了显示当前动作的显示脚本(view scripts),我们使用了layout()辅助函数: echo $this->layout()->content; 它将内容显示到content 占位符中。这也意味着动作的显示脚本在布局显示脚本之前执行。

现在我们可以来清理一下4 个动作的显示脚本了,因为还没有什么特殊的东西需要放到它里面,所以我们可以将index.pthml, add.phtml, edit.phtml, delete.phtml 文件内容清空。

现在再测试一下上述四个URL,你会发现看到的内容与上次一模一样!然而它们有一个关键的不同,就是这次所有的工作都是利用布局显示脚本(layout)来完成的。

样式

虽然只是一个教程,我们还是需要一个CSS 文件来使得我们的程序看起来漂亮一些。因为URL 并不是指向正确的根目录,这使得我们在如何引用CSS 文件时碰到一点小麻烦。这时我们可以通过创建自己的视图辅助类baseUrl()来解决这个问题。该辅助类通过收集请求对象(request object)的相关信息使得我们所不知道的实际URL。

视图辅助类保存在application/views/helpers 文件夹中名为{Helper name}.php(文件名第一个字母大写)文件中,视图辅助类的名字必须是Zend_Controller_Helper_{Helper name}形式(同样,Helper name 的第一个字母必须大写)。在这个类中,必须有一个名为{helper name}()的函数(函数名的第一个字母必须小写—可别忘了!)。在我们的例子中,这个文件名为BaseUrl.php,内容如下:

zf-tutorial/application/views/helpers/BaseUrl.php

class Zend_View_Helper_BaseUrl

{

function baseUrl()

{

$fc = Zend_Controller_Front::getInstance();

return $fc->getBaseUrl();

}

}

zf-tutorial/application/layouts/layout.phtml

<?php echo $this->escape($this->title); ?>

最后,我们需要一些CSS 样式:

zf-tutorial/public/css/site.css

body,html{

margin:05px;

font-family: Verdana,sans-serif;

}

h1 {

font-size: 1.4em;

color: #008000;

}

a {

color: #008000;

}

/* Table */

th {

text-align: left;

}

td,th {

padding-right: 5px;

}

/* style form */

form dt {

width: 100px;

display: block;

float: left;

clear: left;

}

form dd {

margin-left: 0;

float: left;

}

form#submitbutton {

margin-left: 100px;

}

数据库

既然我们已将程序的控制与视图分离开来了,现在该是考虑模型的时候了。记住,模型是用来处理程序的核心议题(即所谓的“商业规则”business rules)的,在我们的例子中就是存取数据库。我们将利用Zend Framework 提供的Zend_Db_Table 类来进行查找、插入、修改和删除数据库表中的记录。

配置

为了使用Zend_Db_Table类,我们必须先告诉它使用的数据库名称以及该数据库的用户名和密码。因为不希望将这些信息直接硬编码(hard-code)到程序中,所以我们使用配置文件来保存这些信息。

Zend Framework 提供了一个Zend_Config 类,它可以用灵活的面向对象的方式来访问配置文件。配置文件可以是一个INI 文件也可以是一个XML 文件。此处我们使用INI 方式将配置信息保存在application 目录下的config.ini 文件中。

zf-tutorial/application/config.ini

[general]

db.adapter = PDO_MYSQL

db.params.host = localhost

https://www.360docs.net/doc/e27224945.html,ername = rob

db.params.password = 123456

db.params.dbname = zftest

当然你必须使用自己的数据库名称,用户名和密码而不是我的!对于那些比较大而且包含多个配置文件的应用程序,你可以将配置文件存放在一个单独的目录如

application/config 中。

使用Zend_Config 非常简单:

$config = new Zend_Config_ini ('config.ini', 'setion');

注意在这种情况下,Zend_Config_Ini 从INI 中装入一节(section)的数据而不是所有节的数据(当然只要你愿意,可以装入每一节的数据)。它支持一个节名的参数,这样就可以装入附加节的数据。Zend_Config_Ini将参数名称中的点当做层次分隔符,这样可以将一组相关的配置参数组合在一起。在我们的config.ini 中,主机、用户名、密码和数据库名称参数均组合在$config->params->config 中。现在可以在启动文件public/index.php 中装入配置文件信息了:

Relevant part of zf-tutorial/public/index.php

require_once 'Zend/Loader/Autoloader.php';

Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);

//load configuration

$config = new Zend_Config_Ini('../application/config.ini', 'general'); $registry = Zend_Registry::getInstance();

$registry->set('config',$config);

// 设置控制器

$frontController = Zend_Controller_Front::getInstance ();

修改的地方见上面粗体字显示的部分。首先装载两个将要使用的类

Zend_Config_Ini 以及Zend_Registry,然后将application/config.ini 文件中的general 节中的数据读取到$config 对象中。最后我们将$config 保存到$registry 对象中,这样在程序的其它地方也可以使用它。

注意:在本教程中,我们实际上并不需要将$config 保存到$registry 中,但这样做是一个好习惯,因为在大的应用程序中config.ini 中保存的可能并不仅仅是数据库的连接信息。另外你必须知道的是,注册表有点类似于全局变量,如果不小心的话,会产生不该发生的对象的互相依赖的问题。

设置Zend_Db_Table

为了使用Zend_Db_Table 类,必须告诉它我们刚装入的数据库配置信息。为此我们必须先创建Zend_Db 类的一个实例,然后使用静态函数

Zend_Db_Table::setDefaultAdapter()将它注册到Zend_Db_Table 中。同样,我们需要修改启动文件(黑体部分):

Relevant part of zf-tutorial/public/index.php

$registry = Zend_Registry::getInstance();

$registry->set('config',$config);

//setup database

$db = Zend_Db::factory($config->db);

Zend_Db_Table::setDefaultAdapter($db);

// 设置控制器

$frontController = Zend_Controller_Front::getInstance ();

Zend_Db_Table 7有一个静态成员函数factory(),它利用$config->db对象中的信息为我们实例化了一个合适的数据库适配器。

创建表

在本教程我们使用MySQL 作为后台数据库,下面是用来创建数据库表的语句:CREATE TABLE albums (

id int(11) NOT NULL auto_increment,

artist varchar(100) NOT NULL,

title varchar(100) NOT NULL,

PRIMARY KEY (id)

);

在MySQL 客户端如phpMyAdmin 或标准的MySQL 命令行中运行该语句即可生成数据库。

插入测试唱片数据

我们先插入一些记录到albums 表中,这样可用来测试主页从数据库中读取数据的功能。我们将https://www.360docs.net/doc/e27224945.html,上最畅销的两张CD 插入到表中:

INSERT INTO albums (artist, title) V ALUES ('Duffy', 'Rockferry'), ('Van Morrison',

'Keep It Simple');

(很高兴看到Van Morrison 专辑仍在热卖…)

模型(Model)

Zend_Db_Table 是抽象类,因此必须用它派生一个类才能管理我们的唱片。虽然派生类叫什么名字无关紧要,但使用与数据库表相同的名字会更容易让人理解。因为我们的表名为albums,因此我们称该派生类为Albums。为了让Zend_Db_Table 知道它要操作的表的名称,我们需要将其保护成员属性$_name 设置为数据表名称。另外,Zend_Db_Table 假定表有一个字段名为id 自动增加(Auto Increment)的主键,当然根据需要,这个字段名称可以改变。

将Albums 类保存至applications/models 目录下的Albums.php 文件中:

zf-tutorial/application/models/Albums.php

class Albums extends Zend_Db_Table

{

protected $_name = 'albums';

}

7 译注:原文如此,应该是Zend_Db。

并不是很复杂,不是吗?那是因为我们比较幸运,需求非常简单而Zend_Db_Table 正好提供了我们所需要的所有功能。如果需要添加为模型的增加一些特殊功能,可以将它放在这个类中。通常你需要提供的附加功能是这样一组“查询(find)”方法,它可以返回你欲查找的确切的数据集。你也可以为Zend_Db_Table 设置关联表,让它从关联表中获取数据。

唱片列表功能

我们已经设置好了配置信息和数据库信息,现在我们开始讨论程序的核心部分,首先是显示一个唱片的列表。这在IndexController 类中的indexAction()函数中实现,开始时我们将唱片的列表在一个表格中显示出来:

zf-tutorial/application/controllers/IndexController.php

...

function indexAction()

{

$this->view->title = "My Albums";

中国服装史讲义

《中国服装史》目录 第一章:先秦服装 第一节:概述 第二节:中国早期服饰 第三节:周代趋于完备的冠服装制度 第四节:春秋战国的深衣与胡服 第二章:秦汉服装 第一节:概述 第二节:男子袍服与冠履 第三节:女子深衣、襦裙下佩饰 第三章:魏晋南北朝服装 第一节:概述 第二节:汉族男子的衫、巾与漆纱笼冠 第三节:汉族女子的衫、襦与华饰 第四节:北方民族的裤褶与衤两衤当 第四章:隋唐五代服装 第一节:概述 第二节:男子圆领袍衫与幞头 第三节:女子冠服与妆饰 第五章:宋辽金元服装 第一节:概述

第二节:汉族官服与民服 第三节:契丹、女真、蒙古族服装第六章:明代服装 第一节:概述 第二节:男子官服与民服 第三节:女子冠服与便服 第七章:清代服装 第一节:概述 第二节:男子官服与民服 第三节:趋于融合的满汉女子服装第八章:民国服装 第一节:概述 第二节:男子长袍与西服 第三节:女子袄裙与旗袍 第九章:20世纪后半叶服装 第一节:概述 第二节:男装 第三节:女装

教学过程与内容: 第一节人类早期服装 一、概述: 旧石器时代 据考古,四百万年以前,云南元谋县已有人类生存,继后有陕西兰田人、北京周口店人、山西丁村人、广西柳江人、四川资阳人、北京山顶洞人(一万八千年前已自制骨针、项饰)、以及内蒙古河套人等创造早期生产工具。 新石器时代 大约在一万年左右,种植、用火、定居、饲养、制陶、缝衣,原始纺织业开始和发展(大约六千年前出现纺织品),基本确立最初也是最基本的上衣下裳形制。(如甘肃辛店彩陶纹饰,可见贯头衫样式) 二、关于服装起源的诸学说: 生体保护说气候适应说 (个体、生理)身体保护说 人体装饰说护符说 (社会、心理)象征说 审美说 吸引异性说 羞耻说 第二节先秦服饰 一、概述: 夏朝公元前21世纪~公元前16世纪 商朝公元前16世纪~公元前11世纪 周朝分为西周(都设陕西丰镐)公元前11世纪~公元前771年 东周(定都河南洛邑)春秋770年B.C.~476年B.C. 战国475年B.C.~221年B.C. 二、冠服制度: 冕服包括:冕冠、上衣下裳、腰间束带、前系蔽膝、足登舄屦,绣绘十二章纹饰。 十二章纹内容及寓意:日、月、星辰、山、龙、华虫、宗彝、藻、火、粉米、黼、黻。日、月、星辰取其照临;山取其稳重;龙取其应变;华虫(稚鸟)取其文丽; 宗彝(祭祀用器皿)取其忠孝;藻取其洁净;火取其光明向上;粉米取其滋养;黼(斧头)取其决断;黻取其明辨。 三、战国时赵武灵王引进胡服骑射: 春秋战国时的常服和礼服:深衣(衣裳相连、被体深邃)其形制为:续衽钩边,不开衩,衣襟加长,使其形成三角绕至背后,以丝带系扎。 胡服特征:短衣、长裤、革靴或裹腿,衣袖偏窄,衣身紧窄。

自考金融理论与实务笔记12

自考金融理论与实务笔记12

第十二章通货膨胀与通货紧缩 第一节通货膨胀与通货紧缩的内涵和度量 识记: 通货膨胀一般表述为:由于货币供应过多,超过流通中对货币的客观需要量,而引起的货币贬值,物价上涨现象。西方的看法定诳为物价总水平的持续上涨。 通货紧缩:作为通货膨胀的对称,一种表述是由于货币供给放慢或负增长,引起物价持续下跌的现象。另一种表述是指物价疲软乃至下跌的态势。 通货膨胀与通货紧缩都是一种货币现象。通货膨胀反映的是社会总需求大于社会总供给。通货紧缩反映的是社会总需求小于社会总供给。 领会: 通货膨胀的度量标志? 一般所用的物价指数主要有消费物价指数、批发物价指数、国民生产总值平减指数。 消费物价指数是选择具有代表性的若干消费品的零售价格以及水电等劳务费用价格编制的指数。 批发物价指数反映商业部门或批发商从生产厂家购买商品劳务所支付的价格的变动程度。 国民生产总值平减指数,是按当年价格计算国民生产总值与按不变价格计算的国民生产总值的比率。 多数经济学家倾向于主要用消费物价指数。 第二节通货膨胀的成因 识记: 需求拉上型通货膨胀:这是指在社会再生产过程中社会总需求过度增加,超过了既定价格水平下商品和劳务方面的供给,而引起货币贬值、物价总水平上涨。

成本推动型通货膨胀认为在社会商品和劳务需求不变的情况下,由于生产成本提高也要引起物价总水平的上涨。 结构失调型通货膨胀:这是指在社会总需求不变的情况下,由于需求的组成发生结构性变化,相应导致物价总水平上涨。 领会: 需求拉上型通货膨胀特点与成因? 需求拉上型通货膨胀:这是指在社会再生产过程中社会总需求过度增加,超过了既定价格水平下商品和劳务方面的供给,而引起货币贬值、物价总水平上涨。 在经济尚未达到充分就业时,如果货币供给量增加,从而社会总需求增加,促进商品供给增加,当经济充分就业,将不再能促进商品供给增加,而只会导致物价总水平上涨。 这里的社会需求包括投资需求和消费需求,而促成社会需求增加的因素,又常与财政支出过度扩张和信用膨胀相关。 成本推动型通货膨胀特点与成因? 成本推动型通货膨胀认为在社会商品和劳务需求不变的情况下,由于生产成本提高也要引起物价总水平的上涨。 造成生产成本提高有两方面力量,一是工会组织为了保证工人实际收入的增长不不降低,要求增加工资。二是一些垄断型企业大幅提高垄断商品价格,导致原材料成本上升。 结构失调型通货膨胀特点与成因? 结构失调型通货膨胀:这是指在社会总需求不变的情况下,由于需求的组成发生结构性变化,相应导致物价总水平上涨。 需求增加的部门,产品价格和工资上涨;而需求减少的部门,由于工资和价格的刚性,其工资和商品价格并不随之而下跌,或跌幅很小,从而导致物价总水平上涨。 中国通货膨胀的成因?

中国服装史

《中国服装史》是1999年04月天津人民美术出版社出版的图书,作者是华梅。本书按时代顺序,系统介绍了中国自原始社会至现代的服饰艺术发展演变史,包括服饰制度、服装形式、服装面料、服饰纹样、首饰配饰等。 华梅同志编著的《中国服装史》,运用了大量古代服装资料,系统地揭示出我国历代服饰的艺术风貌和时代特色,取得了可喜的学术成果。“从艺术出发,从美学出发,分析了服饰的造型美、色彩美、装饰美,把握服饰的发展规律,使我们从服饰艺术中看到了一个美的世界”。 本书特别注重考古科学的成果,与历史文献图籍相印证。附有插图1036幅,内容丰富,史料确凿。看看古代服装的大胆前卫,再看看今天人们着装色调与款式上的保守单调,阅读者必然会感慨万千。 目录: 第一章先秦服装 第1节概述 第2节中国早期服饰 第3节周代趋于完备的冠服制度 第4节春秋战国的深衣与胡服 第5节小结 第二章秦汉服装 第1节概述 第2节男子袍服与冠履

第3节女子深衣、襦裙与佩饰第4节军事服装第5节小结 第三章魏晋南北朝服装 第1节概述 第2节汉族男子的衫、巾与漆纱笼冠 第3节汉族女子的衫、襦与华饰 第4节北方民族的裤褶与柄裆 第5节小结 第四章隋唐五代服装 第一节概述 第2节男子圆领袍衫与幞头 第3节女子冠服与妆饰 第4节军事服装 第5节小结 第五章宋辽金元暇装 第1节概述 第2节汉族官服与民服 第3节契丹、女真、蒙古族服装 第4节小结 第六章明代服装 第1节概述 第2节男子官服与民服

第3节女子冠服与便服 第4节小结 第七章清代服装 第1节概述 第2节男子官服与民服 第3节趋于融合的满汉女子服装 第4节太平天国服装 第5节小结 第八章20世纪前半叶汉族服装 第1节概述 第2节男子长袍与西服 第3节女子袄裙与旗袍 第4节小结 第九章20世纪前半叶少数民族服装第一节概述 第二节各具特色的民族服装 一、黑龙江、吉林、辽宁三省民族服装 (1)朝鲜族服装 (2)满族服装 (3)鄂伦春族服装 (4)迭斡尔族服装 (5)鄂温克族服装

国际金融理论与实务笔记()

第一章货币与货币制度 本章学习目的和要求 通过对本章的学习,考生应准确识记本章的基本概念、领会本章的基本理论。 了解货币的起源及相关理论;了解货币形式的演变历程;了解货币制度的基本构成及国家货币制度的演变;了解国际货币体系的演变历程。 理解货币的职能。 掌握我国人民币制度的主要内容;掌握布雷顿森林体系和牙买加体系的主要内容。 课程内容: 第一节货币的起源与货币形式的演变 一、货币的起源 货币产生后,出现了很多关于货币起源的理论。其中马克思的货币起源学说是其中的一个典型代表。 按照马克思的货币起源学说,货币是伴随着商品价值形式的不断发展变化而最终产生的。商品价值形式经历了四个不同的发展变化阶段: 1.简单的或偶然的价值形式阶段 在这一阶段上,一种商品的价值仅仅是简单的或偶然的表现在与它相交换的另外一种商品上。即:1只绵羊=2把石斧 2.总和的或扩大的价值形式阶段 在这一阶段上,一种商品的价值表现在了与它相交换的一系列商品上。即: 2把石斧 1件上衣

1只绵羊= 15公斤茶叶 一定数量的其它商品 3.一般价值形式(一般等价形式)阶段 在这一阶段,所有商品的价值都表现在了一个作为一般等价物的商品身上,即:2把石斧 1件上衣 15千克茶叶一定数量的其他产品都等于一只绵羊。 4.货币形式阶段 在这一阶段,所有商品的价值都表现在了作为固定的一般等价物的金或银上,即:2把石斧 1件上衣 15千克茶叶一定数量的其他产品都等于1克黄金。 二、货币形式的演变 货币产生后,伴随着商品生产和商品交换的发展,货币形式经历了从商品货币到信用货币的演变过程。 1.商品货币 商品货币最大的特点就是其自身价值(凝结在商品货币身上的无差别的一般的人类劳动)与其作为货币所购买的那种商品的价值在量上相等。也就是足值性。 商品货币又包括两种形式:实物货币、金属货币 (1)实物货币 实物货币是指以自然界中存在的某种物品或人们生产的某种商品来充当货币。 实物货币自身存在一些不利于商品交换的弊端,体现在如下三个方面: 1)实物货币不易分割、(无法满足小额商品交换的需要); 2)实物货币不易保管; 3)实物货币不便携带。 (2)金属货币 金属货币:金、银

robotframework-selenium学习

一 selenium简介 什么是Selenium? Selenium 自动化测试浏览器,它主要是用于Web 应用程序的自动化测试,但肯定不只局限于此,同时支持所有基于web 的管理任务自动化。 Selenium 的特点: 1.开源,免费 2.多浏览器支持:FireFox、Chrome、IE、Opera 3.多平台支持:linux 、windows、MAC 4.多语言支持:java、Python、Ruby、php、C#、JavaScript 5.对web 页面有良好的支持 6.简单(API 简单)、灵活(用开发语言驱动) 7.支持分布式测试用例执行 Selenium 经历了两个版本,Selenium 1.0 和Selenium 2.0 ,Selenium 也不是简单一个工具,而是由几个工具组成,每个工具都有其特点和应用场景。 Selenium IDE Selenium IDE 是嵌入到Firefox 浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能。 那么什么情况下用到它呢? 快速的创建bug 重现脚本,在测试人员的测试过程中,发现了bug 之后可以通过IDE 将重现的步骤录制下来,以帮助开发人员更容易的重现bug。 IDE 录制的脚本可以可以转换成多种语言,从而帮助我们快速的开发脚本,关于这个功能后而用到时再详细介绍。 Selenium Grid Selenium Grid 是一种自动化的测试辅助工具,Grid 通过利用现有的计算机基础设施,能加快Web-app的功能测试。利用Grid,可以很方便地同时在多台机器上和异构环境中并行运行多个测试事例。其特点为: 1.并行执行 2.通过一个主机统一控制用例在不同环境、不同浏览器下运行。灵活添加变动测试机 Selenium RC Selenium RC 是Selenium 家族的核心工具,Selenium RC 支持多种不同的语言编写自动化测试脚本,通过Selenium RC 的服务器作为代理服务器去访问应用从而达到测试的目的。Selenium RC 使用分Client Libraries 和Selenium Server,Client Libraries 库主要主要用于编写测试脚本,用来控制Selenium Server 的库。

会计账簿管理规定

Q/CT 湖北东神楚天化工有限公司企业标准 Q/CTGL-JY-029-2014 会计帐薄管理规定 2014-03-20发布2014-04-01实施湖北东神楚天化工有限公司发布

会计账簿的管理规定 1、范围 本规定适用于本公司财务,可参照执行 2、术语和定义 会计账簿是以会计凭证为依据,由具体一定格式的账页组成的,全面、连续记录一个单位经济活动全部过程的簿籍,是会计信息形成的重要环节,是编制会计报表的重要依据。3、职责 计财部:负责装订、立卷后暂管两年。 4、管理内容 4.1序时账 4.1.1总账科目日记表 编制说明: 4.1.1.1 本表为表示每日会计事项变动情况的汇总表,代替序时账簿,并作为过入总分类账 的凭证。 4.1.1.2每日根据出纳部门送返的现金收入及支出凭证,连同当日转账凭证,按科目分别汇 总记入本表的各栏。 4.1.1.3 凭证的总编号,应先将国科目归集后,再按科目排列次序编号。 4.1.1.4各种凭证的起讫号数,应分别填入“编制本表根据”栏内。 4.1.1.5本表编制完成时,应经各有关人员的签章后,作为过入总分类账的依据。各科目过 入总分类账时,借方合计金额过入借方,贷方合计金额过入贷方。 4.1.2现金及银行存款日记账 编制说明: 4.1.2.1本表为表示每日现金及银行存款变动情况的明细账,采用订本式账页。 4.1.2.2每日出纳部门根据当日现金及银行存款变动的收入、支出、现金转账凭证,将“摘 要”、“行号”及“银行存款”、“现金”的金额逐笔填入各该栏,并于每日收支终了后结总,于次日上午将凭证送交会计部门。 4.1.2.3每日若变动笔数不止一张篇幅时,可作序连号过页使用。 4.1.3销货簿 编制说明: 4.1.3.1凡有关销货收入的会计事项,均应逐日依照开立发票登录本簿。 4.1.3.2有关“客户名称”、“品名”、“规格”、“单位”、“数量”、“单价”、“折扣”、“金额”

2011年自考《金融理论与实务》复习笔记4

第四章金融机构体系 第一节金融机构体系的构成 识记: 金融机构体系:一国金融机构按照一定的结构形成的整体。分中央银行、商业银行、其他金融机构。 我国的金融机构体系是以中央银行为领导,政策性金融和商业性金融相分离,以国有独资商业银行为主体,多种金融机构并存的现代金融体系。具体实施中,主要是围绕贯彻“分业经营、分业管理”的原则推进的。 领会: 金融体系的经济职能及其实现方式? 一国金融体系最基本的经济职能首先是充当资金流通的媒介,使资金由盈余的单位迅速流向资金短缺的单位,让资金发挥最大的效益。 这一职能的实现要借助于两种方式:一是间接融资方式。在银行信用中,银行等金融机构是信用活动的中间环节,是媒介。从银行组织存款看,它们是货币资金所有者即存款人的债务人;从银行发放贷款看,它们是货币资金需求者的债权人。货币资金的所有者和货币资金需求者,两者之闻并不发生直接的债权债务关系,银行成为媒介。所以这种资金筹集方式称为间接融资和间接金融。 二是直接融资方式。通过在金融市场上买卖股票、债券等方式实现资金的融通。在这个过程中,资金所有者和资金需求者两者之间直接建立金融联系,而不需要中介者扮演债务人和债权人这一环节。此时金融机构是金融市场的重要参与者。 西方各国金融体系的构成? 西方国家都各有一个规范庞大的金融体系,是众多银行与非银行金融机构并存的格局。其中银行机构居支配地位。从银行机构的组成来看,一般可分为中央银行、存款货币银行和专业银行三大类。 中央银行是一国金融机构体系的中心环节,处于特殊地位,具有对全国金融活动进行宏

观调控的特殊功能。存款货币银行、又称商业银行、存款银行、普通银行。是西方各国金融机构体系中的骨干力量。以经营工商业存、放款为主要业务,并为顾客提供转账结算等多种服务。同时,起着创造存款货币的作用。专业银行是专门经营某种特定范围的金融业务和提供专门性金融服务的银行。非银行金融机构是在中央银行和商业银行以外的办理其他金融性业务的信用机构。其构成更为庞杂。包括有保险公司、投资公司、信用合作组织、基金组织、租赁公司、证券机构等。 我国金融机构体系的建立过程? 我国金融机构体系的建立,是在各解放区银行的基础上,组建中国人民银行,没收官僚资本银行,改造民族资本银行,发展农村信用合作社,从而形成了以中国人民银行为中心的“大一统”的金融机构体系。 我国金融机构体系改革的三个阶段? 我国金融机构体系的改革经历了三个阶段:1)高度集中的金融机构体系;2)多元混合型金融机构体系;3)中央银行制度下的金融机构体系。 第二节商业银行 识记: 商业银行是各国金融机构体系中最重要的组成部分,是通过吸收单位和个人的存款,从事贷款发放、投资等获取利润的企业。其性质是:以追求利润为目标的、以经营金融资产和负债为对象、综合性、多功能的金融企业。 商业银行的职能:信用中介职能;支付中介职能;信有创造职能;金融服务功能。 单一银行制。也称独家银行制。其特点是银行业务完全由各自独立的商业银行经营,不设或限设分支机构。是美国最古老的银行形式之一。 分行制。其特点是,法律允许除了总行以外,在本市及国内外各地普遍设立分支机构,总行二般设在各大中心城市,所有分支机构统一由总行领导指挥。这种银行制度起源于英国的股份银行。目前,世界上大多数国家采用这种银行制度。 银行持股公司。是指由一个集团成立股权公司,再由该公司控制或收购两家以上的银行。

国际金融理论与实务笔记修订稿

国际金融理论与实务笔 记 集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

第一章货币与货币制度 本章学习目的和要求通过对本章的学习,考生应准确识记本章的基本概念、领会本章的基本理论。了解货币的起源及相关理论;了解货币形式的演变历程;了解货币制度的基本构成及国家货币制度的演变;了解国际货币体系的演变历程。理解货币的职能。掌握我国人民币制度的主要内容;掌握布雷顿森林体系和牙买加体系的主要内容。课程内容: 第一节货币的起源与货币形式的演变 一、货币的起源 货币产生后,出现了很多关于货币起源的理论。其中马克思的货币起源学说是其中的一个典型代表。 按照马克思的货币起源学说,货币是伴随着商品价值形式的不断发展变化而最终产生的。商品价值形式经历了四个不同的发展变化阶段: 1.简单的或偶然的价值形式阶段 在这一阶段上,一种商品的价值仅仅是简单的或偶然的表现在与它相交换的另外一种商品上。即:1只绵羊=2把石斧 2.总和的或扩大的价值形式阶段 在这一阶段上,一种商品的价值表现在了与它相交换的一系列商品上。即: 2把石斧 1件上衣 1只绵羊= 15公斤茶叶 一定数量的其它商品 3.一般价值形式(一般等价形式)阶段 在这一阶段,所有商品的价值都表现在了一个作为一般等价物的商品身上,即:2把石斧 1件上衣 15千克茶叶一定数量的其他产品都等于一只绵羊。 4.货币形式阶段 在这一阶段,所有商品的价值都表现在了作为固定的一般等价物的金或银上,即:2把石斧1件上衣 15千克茶叶一定数量的其他产品都等于1克黄金。 二、货币形式的演变 货币产生后,伴随着商品生产和商品交换的发展,货币形式经历了从商品货币到信用货币的演变过程。 1.商品货币 商品货币最大的特点就是其自身价值(凝结在商品货币身上的无差别的一般的人类劳动)与其作为货币所购买的那种商品的价值在量上相等。也就是足值性。 商品货币又包括两种形式:实物货币、金属货币 (1)实物货币 实物货币是指以自然界中存在的某种物品或人们生产的某种商品来充当货币。 实物货币自身存在一些不利于商品交换的弊端,体现在如下三个方面: 1)实物货币不易分割、(无法满足小额商品交换的需要); 2)实物货币不易保管; 3)实物货币不便携带。 (2)金属货币 金属货币:金、银

最新服务器基础知识(初学者必看)

服务器基础知识【初学者必看】 1. 什么是服务器 就像他的名字一样,服务器在网络上为不同用户提供不同内容的信息、资料和文件。可以说服务器就是Internet网络上的资源仓库,正是因为有着种类繁多数量庞大内容丰富的服务器的存在,才使得Internet如此的绚丽多彩。 2. 服务器的种类和功能 (1) WWW服务器(WWW Server) WWW服务器也称为Web服务器(Web Server)或HTTP服务器(HTTP Server),它是Internet上最常见也是使用最频繁的服务器之一,WWW服务器能够为用户提供网页浏览、论坛访问等等服务。比如:我们在使用浏览器访问https://www.360docs.net/doc/e27224945.html,的时候,实际上就是在访问Discuz!的WWW服务器,从该WWW服务器获取需要的论坛资料和网页。 (2) FTP服务器(FTP Server) FTP服务器是专门为用户提供各种文件(File)的服务器,FTP服务器上往往存储大量的文件,例如:软件、MP3、电影、程序等等。用户只要使用FTP客户端软件登录到FTP服务器上就可以从FTP服务器下载所需文件和资源到自己的电脑上,同时,

你也可以把自己电话上的文件上传到FTP上供其他用户下载,以实现文件资源的共享。 (3) 邮件服务器(Mail Server) e-mail是Internet上应用最频繁的服务之一,而Internet上每天数亿百亿计的电子邮件的收发都是通过邮件服务器实现的。邮件服务器就像邮局一样,可以为用户提供电子邮件的接收存储和发送服务。 除了以上介绍的3种主要服务器之外,还有很多其他类型的网络服务器,例如:数据库服务器(DatabaseServer)、代理服务器(Proxy Server)、域名服务器(Domain Name Server)等等…… 3. 服务器的操作系统 目前服务器中使用的操作系统主要有两类:Windows和Unix。 (1) Windows Windows是美国微软公司(Microsoft)开发的操作系统,在服务器领域,主要有Windows2000Server/Advanced Server/Data Center与Windows2003 Standard Edition/EnterpriseEdition操作系统,Windows的优点是操作简 单,由于Windows使用图形界面进行操作,因而对各种服务器软件功能配置简

自考《金融理论与实务》复习重点(5-8章)

自考《金融理论与实务》复习重点(5-8章) -自考串讲笔记 第五章商业银行业务 复习思考题: 1、说明商业银行的经营原则及相互关系? 2、商业银行经营管理理论经历了几个发展阶段?其主要内容是什么? 3、商业银行资本金的主要作用是什么?构成? 4、商业银行现金资产的主要作用是什么? 5、商业银行进行证券投资的目的是什么? 6、为什么要对贷款进行信用分析?信用分析的内容? 7、商业银行为什么要开展中间业务?主要业务种类是什么? 考核知识: 一、识记:、商业银行资本金、活期存款账户、个人支票与储蓄存款账户、可转让支付命令账户、货币市场账户、定期存款账户、商业银行的负债结构、储蓄存款、活期存款、定期存款、保值储蓄、商业银行资产业务118、现金资产、贷款、贷款分类、贷款的信用评估、贷款定价、贷款呆账准备金、贷款程序、贷款管理、有问题贷款、贴现证券投资、 二、领会: 1、《巴塞尔协议》对资本有何规定?

3、商业银行存款类资金来源的主要内容? 4、商业银行非存款类资金来源的主要内容? 5、近年来,国际商业银行的负债结构发生哪些变化? 6、商业银行输储蓄存款的原则是什么? 7、贷款程序包括哪些内容?什么是贷款原则? 8、为什么提取贷款呆账准备金,如何为贷款定价,贴现与贷款存在怎样的关系? 9、商业银行进行证券投资的目的是什么?投资对象是什么? 三、应用: 1、负债管理理论产生的背景如何? 2、现代商业银行为什么要实行资产负债综合管理? 3、我国国有商业银行的资本金状况如何? 4、商业银行负债结构的变化对商业银行有什么影响? 5、储蓄存款对国民经济发展的意义有哪些? 辅导资料: 1、简述商业银行在经营过程中可能遇到的风险? 2、简述资产负债外管理理论? 3、银行间为什么要进行同业拆借? 4、如何提取呆账准备金? 5、简述商业银行表外业务的种类 6、论述储蓄存款对国发经济发展的意义?

新《会计基础工作规范》

一、单项选择题(本类题共15小题,每小题2分,共30分。单项选择题(每小题备选答案中,只有一个符合题意的正确答案,请选择正确选项。) 1.下列各项中,属于主管代理记账业务的负责人应具有的职称是()。 A.具有初级会计师以上专业技术职务资格 B.具有中级会计师以上专业技术职务资格 C.具有高级会计师以上专业技术职务资格 D.以上都不对 A B C D 2.下列各项中,属于主管全国企业会计信息化工作的部门是()。 A.国务院 B.证监会 C.国资委 D.财政部 A B C D 答案解析:财政部主管全国的企业会计信息化工作。 3.下列各项中,属于对会计凭证、会计账簿、报表等会计核算流程和基本方法进行规范的制度是()。 A.内部牵制制度 B.账务处理程序制度 C.财产清查制度 D.稽核制度

A B C D 4.下列各项中,不符合会计账簿装订要求的是()。 A.对于活页账簿,去除空白页 B.一般每月装订一次 C.不同格式的活页账不得混装 D.会计账簿的封口处要加盖有关印章 A B C D 5.下列各项中,属于以账目间的相互核对为主要内容并实施岗位分离,以确保所有账目正确无误的一种控制机制是()。 A.内部牵制制度 B.账务处理程序制度 C.定额管理制度 D.稽核制度 A B C D 6.下列各项中,属于会计核算软件核心模块的是()。 A.账务处理模块 B.报表模块 C.成本核算模块 D.固定资产核算模块 A B C D

答案解析:会计核算的功能模块包括:账务处理、工资核算、固定资产核算、存货核算、销售核算、应收/应付款核算、成本核算、会计报表生成与汇总、财务分析等。其中,账务处理模块是整个会计核算软件的核心。 7.下列各项中,不符合《企业会计信息化工作规范》规定的是()。 A.应当提供符合国家统一会计准则制度的会计科目分类和编码功能 B.应当提供不可逆的记账功能 C.会计软件应当提供符合国家统一会计准则制度的会计凭证、账簿和报表的显示和打印功能 D.鼓励软件供应商在会计软件中集成可扩展商业报告语言(XBRL)功能 A B C D 答案解析:《企业会计信息化工作规范》第六条至第十四条对会计软件进行了规范。 8.下列各项中,属于会计档案年以终了可以由会计机构保管的最长期限是()。 A.1年 B.2年 C.3年 D.6个月 A B C D 答案解析:单位会计机构可临时保管一年。最长不超过三年。 9.下列各项中,属于总分类账簿采用的格式是()。 A.订本式 B.活页式

中国服装史复习题

一、单选20 1.<易。系辞下>中“黄帝、尧、舜垂衣裳而天下治,盖取之乾坤”的记载,说明了当时可能较典型的服式是( A )。 A上衣下裳制B冕服制度C深衣制D 女着男装 2.中国古装种类中最重要的礼服(D) A常服B公服C背子D冕服 3.下图所绘制的是何人(C) A秦始皇B司马炎C朱元璋D 忽必烈 4.皇帝冕冠中冕旒可为(C)冕旒 A九B七C十二D 五 5.皇帝冕冠中共用珠(B)颗. A 204 B 288 C 120 D164 6. (D)属于十二章纹之一。

A.麒麟 B.梅花鹿 C.鼎 D.星辰 7. 冕綖尺寸多为长( A ) A、一尺六寸 B、一尺五寸 C、一尺四寸 D、一尺三寸 8.方形领、圆形袖、下摆不开衩,“续衽沟边”是(C)的特点 A冕服B 玄端C深衣D 胡服 9 深衣水平的下摆线表明(B) A 做人要正直 B 处事要公平 C 要尊祖承古 D 要遵守规矩 10秦汉时期是从秦始皇统一中国的( B )' b+ t4 x9 |3 a& v A、公元前220年到公元后221年止 B、公元前221年到公元220年止 C、公元前222年到公元222止 D、都不是( 11.(C)铠甲一般用鱼鳞纹甲片或龟背纹甲片穿缀成圆筩状的甲身。 A 纸甲B裲裆铠C筩袖铠D明光铠 12.至少在(A)年前就有了质量较好的丝织物 A 4700 B 3000 C2500 D1800 13.(C)被誉为“织中之圣”。 A 蚕丝B丝麻C缂丝D 网衣 14服装按照用途分( D ), |4 t3 D# K3 o$ E3 O A、工作服、 B、居家服 C、运动服 D、都是 15.画家张择端的<<清明上河图>>生动描绘了(A)时期的繁荣兴旺景象。 A北宋B唐C明D清 16.下图那种是元代女子首服“顾姑冠”。(C)

金融理论试题

金融理论试题3 一、填空 1,信用的基本职能是() 2.我国实现人民币在经常羡慕下可自由兑换的年份是() 3.包含通货膨胀补偿因素在内的利率是() 4.四大银行中最晚成立的是() 5.下列关于人民币表述错误的有() A.1948年12月1日开始发行人民币B,是一种信用货币C,曾规定过含金量D,有主辅币制度 6.我国香港地区的中央银行制度类型属于() 7.马克思的货币起源说立足于() 8.货币在交换中期媒介作用发挥的职能() 9.我国实行大一统金融机构体系时期() 10.市场经济条件下货币的实现离不开() 11.目前我国使用保险补偿的方式不包括那种() 12.具有独立紧急利益的理性投资者的经历行为综合反映为追求() 13.流通市场最重要的功能是实现金融资产的() 14.基金单位总量可变并且投资者可以任意赎回的是() 15.各国中央银行公布的货币供给量是() 16.提高法定存款准备金率表明央行的意图是() 17.通货膨胀是一种() 18.这里了通货膨胀应该才去的货币政策是() 19.在零和平均利润之间的理论是() 20.基础货币属于中央银行的() 二·多选 21.下列属于信用货币的是( ) A·实物货币 B.金属货币 C.纸币 D.银行劵 E.存款货币 22.下列属于商业银行中间也的有() A.汇兑业务 B.结算业务 C.信托业务 D.存款业务 E.代理业务 23.通货膨胀成因理论主要是() A.结构失调说 B.成本推动说 C.需求拉升说 D.成本倒退说 E.生产倒退说 24.现代信用货币制度下国际货币的特点有() A.规定由法定含金量 B.在国际结算中广发应用 C.可自由兑换成其他货币 D.输出国外需货币主管当局批准 25.影响汇率变动的主要因素( ) A.通货膨胀 B.经济增长及国际收支 C.心里预测 D.利率 E.政府干预 26.现代租赁的关系人有() A.出租人 B.承租人 C.供货人 D.联系人 E.保证人 27.金融市场的构成因素() A.市场参与主体 B.金融工具 C.交易价格 D.交易的组织方式 E.同夜拆借利率 28.大一商业银行制度的优点有() A.限制银行垄断有利于自由竞争 B.有利于银行与地方协调 C.银行独立性强,经营灵活 D.存款分散,风险分散 29.行业金融工具包括() A.股票 B.债券 C.认股权证 D.期货合同 E.期权合约 30.关于证券流通市场表述证券的是()

会计基础规范

1.中华人民共和国会计法》明确规定,管理全国会计工作的是(C )。 A国务院B全国人大C财政部D中国注册会计师协会 2.会计基础工作规范》的章数和条数是(B )。 A七章一百零一条B六章一百零一条C六章一百条D五章一百零一条 3.对会计人员继续教育实行定期检查制度,原则上(B )。 A一年一次B两年一次C三年一次D五年一次 4.会计机构负责人主管一个单位或者单位内一个重要方面的财务会计工作时间不少于()。A两年B一年C三年D五年 5.实行会计电算化的单位,用计算机打印出来的会计账簿(D )。 A可以不连续编号B编号随意拟定C不用编号D必须连续编号 6.账簿中书写的文字和数字上面要留有适当空格,不要写满格,一般应占格距的(D )。 A三分之一B五分之一C四分之一D二分之一 7.原始凭证和记账凭证的相同点是(C )。 A编制时间相同B经济责任的当事人相同C反映经济业务的内容相同D所起作用相同 8.会计工作的国家监督不包括(C )。 A财政机关的监督B税务机关的监督C会计机构的监督D审计机关的监督 9.计量验收制度的主要内容不包括(B )。 A计量检测手段和方法B对财产清查中发现问题的处理办法 C计量验收人员的责任和奖惩办法D计量验收管理的要求 10.会计人员工作调动或者因故离职,必须将本人所经管的会计工作(B )。 A全部或部分交给接替人员B全部交给接替人员C部分交给接替人员D负责到年末再交接 11.以下关于会计工作岗位设置的说法,正确的是(D )。 A不得轮岗B出纳人员兼任其他岗位C设置所有岗位D按需设岗 12.对账工作每年至少进行(B )。 A十二次B一次C两次D四次 13.实行会计电算化的单位,用计算机打印出来的会计账簿(D )。 A不用编号B编号随意拟定C可以不连续编号D必须连续编号 14.可以对企业的总会计师进行提名的是(C )。 A企业员工B政府C本单位主要行政领导D会计主管

Robot Framework 测试总结

Robot Framework 测试总结 分类:Robot Framework 2014-11-06 12:45 1163人阅读评论(0) 收藏举报在2014年结识robot framework,缘于一个偶然的机会。一个测试前辈推荐 了robot framework。Robot framework是python语言的测试框架。简单的看了一下介绍,觉得不错,很适合新手入门。而且测试部门的领导也很支持引入开源的自动化测试工具。 先来说说环境的搭建吧,对于入门者这个最重要了。首先安装Python,Jython(如果不是用java有关的library,可以不安装Jython),Wxpython;然后安装robot Framework,安装Ride( 测试用例编辑和执行器,不是必须的。但最好安装ride,使用方便)。robot 框架本身自带了很多test library,包括Builtin,Operating System,Collections, String等,这些library不需要额外安装了,安装完框架后就可以直接使用了;对于第三方提供的测试library需要额外安装,我们要根据测试需求安装相应的测试library即可。例如测试web程序,安装selenium或者watir library; 测试数据库使用db library;测试java程序使用swing library。library 的具体安装细节在这里就不详述了,可以参考library提供的文档来安装。 案例1:使用RemoteApplication + Swing Library 测试java程序(失败)参考官网的demo,使用swing启动测试程序,但是遇到很多问题。主要是 由于被测程序是通过另一个程序启动的,但是swing不识别后来启动的被测程序。 于是使用RemoteApplication先来启动被测程序,然后引入swingLibrary测试应用程序。虽然启动没问题,Swing也能正常使用。但是有一些控件(某些dialog,checkbox) Swing却是怎么也找不到。研究了许久,没有找到答案。虽然结果以失败告终,但还是收获许多。在研究过程中发现,swing的使用是很简单的,如果排除某些控件不识别的问题,完全可以被我们拿来作为主要的测试工具。 案例2:使用Db library 测试数据库(成功) 以postgreSql为例,安装Robotframework-Database-Library-0.6和 psycopg2-2.5.4.win-amd64-py2.7-pg9.3.5-release.exe后就可以开始测试了。具体参考官网的例子。 案例3:使用AutoIT library测试C语言的应用程序(失败)

中国服装史

中国服装史 一、夏、商、周时期服装(祭祀占卜、甲骨文诞生、好玉、曲裾服饰形成) 1、夏:冕冠服制度确立,上一下裳形成。服色多样(上玄下黄)且有纹饰,可用朱砂染色。“鼎”青铜文化王权的象征,贵族佩戴玉器。服饰特点: 衣:短衣齐膝、后裾齐足、前衣短、斜裙绕襟、领袖脚口宽沿边。形成“曲裾服”。 领:矩领、圆领、翻领、对襟。 腰带:束细腰、系宽腰带或用丝绸织物系蝴蝶结。 袖:小口大袖“琵琶袖”、袖长而小(袖头另附装饰如“长袖”,舞者袖管奇长)。有袖口为“袍”,无袖口为“衫”,男女不分。2、商:冕冠、玄衣、熏裳、赤舄(古代女子穿的鞋,赤色重底)、上衣下裳;配有黻、大带、革带、佩绶十二。 服饰特点: 玄衣:交领、右衽、大袖垂弧、袂、领口有缘、腰有大带、下裳熏色、前韨(蔽膝)、裳下有裙裾、符合“衣作绣,锦为缘”的古代制衣。 3、腰腹下系一片“斧”式装饰品即: a韦鞸:使用皮革涂朱或彩绘称之 b黻、韨亦作芾:以丝绸绘、织、绣、画、称之 c汉后期又称蔽膝(汉以前用皮革,魏晋后用丝罗)。

d用途:商至元朝是一种祭服系腰间为跪拜所用。加工精美,附有政治意义和权力的象征。天子:色朱、绘龙、火、山三章;公候:菱形、用黄、朱色,绘火、山二章;卿、大夫:绘山章。 e形状:东汉“”状,汉代误认为“U”状 f绣纹:为“”唐用于大袖,宋、明用于袍服中与龙旁或领口,金多用两龙、两兽对峙或相蟠,即为“蟠虺虯形象”。 4、面料; a全身着不同花纹,能织极薄的精细丝绸和提花织物。 b花纹:“”状纹、绮袔纹、云氣纹、龙兽相对或者相蟠图样、满地云纹、散点云纹、小簇花。 c工艺:印、绘、绣 5、胡服: 可能是商、周劳动人民以及战士一般的穿着。 6、珮: 成组列珮玉也于这个时期形成。 7、着衣分季节: 夏:着轻巧、长裙拽地、衣裳为黑白衫、多种领、袖、帽、结带领下。冬:领袖露白处面积大,丰厚蒙茸“皮毛出峰”。 8、衣服样式分类: 分大衣、中衣、小衣。小衣和中衣款式相似,但面料和工艺不同。如小衣素纱,中衣绣花等。 9、衣服按袖形分类:

2015年自考金融理论与实务笔记十二

第十二章通货膨胀与通货紧缩 第一节通货膨胀与通货紧缩的内涵和度量 识记: 通货膨胀一般表述为:由于货币供应过多,超过流通中对货币的客观需要量,而引起的货币贬值,物价上涨现象。西方的看法定诳为物价总水平的持续上涨。 通货紧缩:作为通货膨胀的对称,一种表述是由于货币供给放慢或负增长,引起物价持续下跌的现象。另一种表述是指物价疲软乃至下跌的态势。 通货膨胀与通货紧缩都是一种货币现象。通货膨胀反映的是社会总需求大于社会总供给。通货紧缩反映的是社会总需求小于社会总供给。 领会: 通货膨胀的度量标志? 一般所用的物价指数主要有消费物价指数、批发物价指数、国民生产总值平减指数。 消费物价指数是选择具有代表性的若干消费品的零售价格以及水电等劳务费用价格编制的指数。 批发物价指数反映商业部门或批发商从生产厂家购买商品劳务所支付的价格的变动程度。 国民生产总值平减指数,是按当年价格计算国民生产总值与按不变价格计算的国民生产总值的比率。 多数经济学家倾向于主要用消费物价指数。 第二节通货膨胀的成因 识记: 需求拉上型通货膨胀:这是指在社会再生产过程中社会总需求过度增加,超过了既定价格水平下商品和劳务方面的供给,而引起货币贬值、物价总水平上涨。 成本推动型通货膨胀认为在社会商品和劳务需求不变的情况下,由于生产成本提高也要引起物价总水平的上涨。 结构失调型通货膨胀:这是指在社会总需求不变的情况下,由于需求的组成发生结构性变化,相应导致物价总水平上涨。 领会: 需求拉上型通货膨胀特点与成因?

需求拉上型通货膨胀:这是指在社会再生产过程中社会总需求过度增加,超过了既定价格水平下商品和劳务方面的供给,而引起货币贬值、物价总水平上涨。 在经济尚未达到充分就业时,如果货币供给量增加,从而社会总需求增加,促进商品供给增加,当经济充分就业,将不再能促进商品供给增加,而只会导致物价总水平上涨。 这里的社会需求包括投资需求和消费需求,而促成社会需求增加的因素,又常与财政支出过度扩张和信用膨胀相关。 成本推动型通货膨胀特点与成因? 成本推动型通货膨胀认为在社会商品和劳务需求不变的情况下,由于生产成本提高也要引起物价总水平的上涨。 造成生产成本提高有两方面力量,一是工会组织为了保证工人实际收入的增长不不降低,要求增加工资。二是一些垄断型企业大幅提高垄断商品价格,导致原材料成本上升。 结构失调型通货膨胀特点与成因? 结构失调型通货膨胀:这是指在社会总需求不变的情况下,由于需求的组成发生结构性变化,相应导致物价总水平上涨。 需求增加的部门,产品价格和工资上涨;而需求减少的部门,由于工资和价格的刚性,其工资和商品价格并不随之而下跌,或跌幅很小,从而导致物价总水平上涨。 我国通货膨胀的成因? 需求拉动:投资膨胀,消费膨胀 成本推动 结构失调 第三节通货膨胀对经济的影响 领会: 通货膨胀对生产的影响? 通货膨胀对生产的影响突出表现在以下两点: 首先,通货膨胀破坏社会再生产的正常进行,导致生产过程紊乱。 其次,通货膨胀使生产性投资减少,不利于生产长期稳定发展。

ROBOTFramework工具使用说明

ROBOT Framework工具使用说明 摘要: 本文主要对ROBOT Framework工具使用介绍,学习如何使用用具进行脚本开发,问题定位,以及测试报告的生成。 关键字: 自动化脚本开发ROBOT Framework工具 缩略语:

ROBOT Framework工具的作用: ROBOT Framework是一种开源的,基于python开发的自动糊工具,它的作用有:?定义一种统一的方式来书写和组织测试用例(测试步骤,测试数据与期待返回值); ?集成不同的测试驱动技术; ?控制测试用例的执行过程; ?生成测试报告和测试日志; ROBOT Framework工具的特点: ?易于使用,采用表格式语法,统一测试用例格式; ?重用性好,可以利用现有关键字来组合新关键字; ?支持变量; ?支持创建基于数据驱动的测试用例。 ?结果报告和日志采用HTML格式,易于阅读; ?提供标签以分类和选择将被执行的测试用例; ?平台、应用无关; ?功能全面,支持WEB测试(Selenium)、终端、SSH等; ?易于扩展,提供了简单API,用户可以自定义的基于Python的测试库; ?易于集成,提供了命令行接口和基于XML的输出文件; ?易于与版本管理集成;

ROBOT Framework方案的架构: 从上面的架构可以看出编写自动化用例与各种测试库的灵活运用是分不开的,如何快速学习各种测试库,对初学者下面的方法非常有效: ,方法1,使用F5进入各个库中对关键字逐步学习,每个关键字都有相对应的功能描述和举例。

方法2,站在巨人的肩膀上,用别人已开发的自动化脚本和项目来学习,打开已有自动化脚本,对需要学习的关键字进行学习。

中国服装史资料

1 简述东西方服饰的异同。 (1)西方服饰形态在早年是与东方相近的,但在中世纪以后,欧洲采用窄衣文化,从而形成与东方不同的服饰形态与审美观念。形成这种差异有其各自民族、文化、心理的因素,也有历史、地理、气候等形成的客观因素。这种差异是服装实用功能的必然选择。(2)服装材料上也必须满足不同地理气候条件的需要。东方普遍采用丝绸、麻、棉、这类吸湿性、透气性强的纤维材料,而西方则更多采用保暖性强的羊毛纤维。不同的地域差距造成了不同材料的选用,如厚挺的羊毛织物与飘逸的丝绸织物导致服装形态上产生较大差异。(3)在服装裁剪技术上,东西方的服装由于功能审美的不同取向,所以在技术上发展了各自不同的结构、裁剪、装饰等工艺手段。自公元13世纪以后,西方服装越来越趋向贴身、合体,在裁剪上采用“省道”技术。反之东方服饰一直采用平面裁剪的方法,保持东方服装的宽松、飘逸。(4)西方文化更多地强调人与自然的对立,在服饰形制上注重突出人、强化性别,凸显人体线条,甚至夸张第二性征。而东方文化中注重人与自然的和谐,并在长期的封建文化中忽视人的本体,故在服饰中有意弱化人体。掩盖人体,模糊性别差异,这种植根于两大文明深层的思想文化、观念上的差别使两种服饰朝着不同的方向发展,形成了今天各自不同的文化形态。 1简述骨针、纺论的特点以及在中国服装史上的意义。 骨针:大约在1.8万年以前的山顶洞人的遗址中发现的骨针,长8.2厘米,最大直径0.33厘米,通体磨光,针孔窄小,针尖尖锐。骨针的发现可以证实山顶洞人已经用骨针来缝合兽皮,作衣物。沈从文在那本重要著作《中国国代服饰研究》中高度骨针的发现:“山顶洞人的文化遗物在服装史上的重要性具有划时代的意义证实我国与旧石器时代晚期的开初,北方先民们,已经创造出利用缝纫加工为特征的服饰文化。”中华服饰文化史可以看做由此开端。纺论:石制和陶制的纺论标志着原始手工纺织业的开始。在已经发掘的百数以上的新石器时期遗址中,几乎都有纺论出土,纺论的出现证明当时人类的原始衣料除兽皮以外,已开始有麻。葛和其他植物所织成的衣料。 2中国古代最早的服饰形制在何时出现?为何种形制? 上衣下裳为我国最早也是最基本的服装形制成形与历史上的夏朝。 1 中国历史上第一次服饰变革产生的背景及历史意义? (1)周代末年,处在西北的赵国与东胡、楼兰接界,这两个地区的少数民族都善于骑马矢射。春秋之前汉人作战主要采用战车,车战不利于崎岖山谷之地。进入战国以后,有其北方地区的战场从平原扩展到山区,这时,地处西北的赵国赵武灵王为适应军事发展的要求,以弓箭为主要武器,全军上下,皆习骑射。(2)他的改革使赵国推行胡服骑射,并使赵国迅速成为强国。赵武灵王所改变的服饰形制是改去下裳,即废去下裳而着库,所谓上褶下裤说。赵武灵王变履而改着靴。冠也采用北方民族的貂皮冠。(3)赵武灵王发起胡服的目的是为了骑射,范围也只涉及军中及统治阶层的军戒之服。但这是中华服装有史以来所记载的第一次非汉民族的服饰大举进入中原的事件,而这种服饰上的交流融合对中华民族的文化意义甚为深远,所以周锡保先生称:“中国服装历史上的五次变革中,赵武灵王胡服骑射为其中的第一次变革。” 1 襦裙襦裙是中国妇女服装中最主要的形制之一。汉代时期的女子日常装束为上衣下裙:上衣为襦,一种短衣,长至腰间,有里,除交领外也有直领出现;下裙上窄下宽,下垂至地,不施边缘,裙腰用绢丝两端缝有系带。 2 简述丝绸之路的影响。 (1)作为中西方大规模文化和经济交往象征的“丝绸之路”源于汉代张骞的出使西域。张骞两次出使西域打通了与西域诸国交往的通道后,诸国的使者商人便为了丝绸这种轻薄华贵的面料纷至沓来,使中国和西方的经济和文化交往大大加强,并促进了沿途各地的经济繁荣。

相关文档
最新文档