您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 软件系统架构复习资料
一、PHP1、php是以?php?来划定界限的,而且可以与HTML混合使用,php的控制结构同样适用于HTML。body?phpfor($i=1;$i=5;$i++){?HelloWorld!?php}?2、变量名必须以“$”开头,只能与数字、字母、下划线组成,并且只能与字母、下划线开头。变量没有类型,且无须在使用前声明,但是数组需事先声明。一条语句可以跨越多行,通常以“;”结束。注释可以用“//”或者“/*……*/”。从其他文件引进的代码,要用include或者include_once包含进来。算术运算符:+、-、*、/、%;自增自减运算符:++、--;赋值运算符:+=、=、-=、*=、/=、%=、.=;3、字符串连接用“.”,若是用+号,则为数字相加。例:$A=”1”+”2”,结果为3;$A=”1”.”2”,其结果为12。4、所有的变量都是默认都为local,除非在其前加global,如:global$a;5、比较运算符:==,!=,,===,!==,,,=,=数组运算符:+,==,!=,,===,!==6、逻辑运算符:and,&&,or,||,xor,!位运算符:&,|,^,~,,7、数据类型:integer、float、boolean、string、array、object、resource、NULL;字符串类型在数值操作中自动转换为数值类型。字符串类型,用单引号或者双引号括起来。8、数组可以同一条语句中进行声明和初始化,数组的元素本身可以是数组。例:$def=array(1.23,4.56,7.89);9、$GLOBALS(allvariablesinglobalscope)、$_SERVER(webservervariables)、$_GET(valuespassedthroughURL)、$_POST(valuespassedthroughHTTPPost)、$_COOKIE(valuespassedbyusercookie)、$_FILES(valuespassedbyHTTPfileupload)、$_ENV(valuespassedviatheenvironment)、$_REQUEST(valuespassedbyURL,Post,orusercookie)、$_SESSION(valuespassedbyusersession)无需明确声明,即可直接使用。10、例子:11、Foreach循环的格式:foreach(arrayas[value|key=value]){statements;[break];[continue];}12、调用类的属性和方法classSimpleClass(){public$var=Adefaultvalue;publicfunctiondisplayVar{echo$this-$var;}}$obj=newSimpleClass();$obj-displayVar();13、一个文件在使用前必须被打开:handle=fopen(filename,mode);在不需要的时候必须被关闭:fclose(handle);14、r:只读,指针在开始;r+:读写,指针在开始;w:只写,指针在开始;w+:读写,指针在开始;a:只读,指针在最后;a+:读写,指针在最后。15、普通文件的读命令:①fgets(handle[,length])–readuntil(length-1)bytes,newline,orEOF②fread(handle,length)–readuntillengthbytesofEOF③fgetcsv(handle[,length[,delimiter=','[,enclosure='']]])–sameasfgetsexceptthelinewillbeparsedforcommasandthevaluesputintoanarray普通文件的写命令:①fwrite(handle,string[,length])–writecontentofstringintothefile;iflengthisspecifiedthenonlywritelengthbytes②fputs(handle,string[,length])–sameasfwrite③fputcsv(handle,array[,delimiter=','[,enclosure='']])–writesthearrayintothefilewiththeappropriatedelimiterandenclosure16、php通常使用MySQL,但是其他的数据库也可以支持,具体有四个步骤:①连接到数据库服务器②连接到数据库③发出数据库命令④处理结果17、PDO(PHPDataObject):是数据库访问的一个抽象层,这使得用那些需要用不同的数据库来编写PHP的应用成为可能。18、PHP中的许多函数都没有标准的命名空间或命名规则。在PHP5中增加了面向对象的特点。Encouragessloppyprogramming二、软件架构1、架构是一个软件结构内的元素及其它们之间的关系具体化的组织基础,这个环境和这个规则可以指导它的设计和开发2、软件架构包括一整套有意义的关于一个稳定的软件的结构元素和他们接口的选择的软件系统的组织的决定。定义了这些元素之间共同协作的性能。这些结构的和动作的元素被组合在一个更大的子系统中,而一个架构的风格可以引导这种组织。软件架构也包含功能性的、可用性的、恢复性的、表现性的、可复用性的、可了解性的、经济性的、技术性的约束、交互性的、美观的关注。3、一个好的架构设计将会更容易提供给用户他们所需要的。★4、一个好的架构应该具备的特点:Comprehensible(可理解性的)、Economical(经济性的)、Flexible(灵活性的)、Modifiable(可修改性的)、Extensible(可扩充性的)、Scalable(可扩展性的)、Usable(可用性的)、Robust(健壮性的)、Testable(可测试性的)、Serviceability(可服务性的)、Secure(安全保密性的)。★5、软件架构的一些原则:①关注用户的经验②Buildtochangeinsteadofbuildtolast③Modeltoanalyzeandreducerisk④Usemodelsandvisualizationsasacommunicationandcollaborationtool⑤Identifykeyengineeringdecisions6、Patterns:软件设计中可执行性的一个可复用性的解决方法,每一个Pattern被设计用来解决一个特殊的问题,大家都知道Patterns是被用来解决设计者之间交流的一个方式。7、Idioms:特定的编码技术来保证代码的健壮性和高质量性。经常被绑定到流行的编程语言或者操作平台,如ResourceReleases,CheckDontCatch,UseEnumerationsNotForLoop8、架构与应用9、什么是软件架构?将商业的和用户的需求翻译成为技术上的规格说明书,建立一个应用的整体设计,要将用户的需求和技术上的约束考虑进去,Managestrade-offsandcompromises。10、软件架构的成熟度模型:11、skillsets12、13、ContentManagementSystem(CMS)Content:以任何的表单、格式来表示用户的信息CMS:管理内容以及他们之间的关系的创建、更新、访问、表示和删除。对有多个内容的创建者和维护者特别有用。一个CMS利用网页技术来提供所有的功能。Separatestheresponsibilityoftheoveralllookofawebsitefromthecontributionofcontents–ContentcanbecreatedorupdatedwithouthavingtocreatenewHTMLpages–Theentirelookofthesitecanbeeaily“refreshed”14、访问一个DRUPAL网站:基于CMS的流行的站点:开源的、高效率的、灵活的、可扩展的、好的访问控制。对多个内容创建者的站点非常适用。关于DRUPAL的评价:①开发者为开发者而设计的,大部分的主题都需要HTML、CSS、PHP的知识来修改,一些模块需要基本的电脑科学的经验,解决复杂性和困难性的冲突,在线支持承担一个确定的专业知识层次的资料②对于初学者来说不容易使用:安装一个模块需要多个步骤,下载、提取、启动、配置、许可;③促成一个模块不需要跟随一样的规则;④模块间的交互,能得到出乎意料的结果15、用户和角色一个角色是一个站点或应用的用户类型,Drupal定义了两个默认的角色:anonymous和authenticated,管理员可以定义另外的角色,每个角色定义了一套许可;当一个用户被创建,她被赋予一个或多个角色,这个用户的许可是它拥有的角色的许可的联合。管理员可以用Administer/UserManagement/UserSetting来决定怎么样创建一个用户16、增加和启用模块提取一个模块到站点、all、模块,每个模块都在它自己的文件夹中;在用户站点的创建模块中启用这个模块,用管理员的模块来配置这个模块;配置任何需求的许可。17、CoreModulesthatShouldbeEnabledProfile–allowsadditionaluserinformation(允许额外的用户信息)Path–allowsauthortospecifythepathtoanode(允许作者定义路径到一个网络节点中)Upload–allowsfileupload(允许文件传输)18、输入格式控制用户进入到内容后可以使用的HTML标签;备有两个过滤器:FilteredHTML(过滤的HTML)、FullHTML(全部HTML);过滤的HTML可以来用来修改去改变标签的可用性(允许性);可以增加新的过滤器。19、Menus:许多站点都有两个菜单栏,①Atophorizontalmenuthatisthesameforeverypage②Aleftmenuthatchangesdependingonwheretheuserisinthewebsite20、ContentType:每个内容模块都是基于内容类型的,有:①Page–basicinformation②Blog–foruserblogs,withcommentsenabled③Book–forhierarchicalorganizationofinformation④Story–similartoPage,withcommentsenabledandauthorinformationdisplayedbydefault管理员可以在创建新的有着另外的区域的内容类型(AdministratorcancreatenewContentType,withadditionalfields);一些模块可以增加它们自己的内容类型21、CoreComponents(1)Modules:一个或多个的PHP程序组合在一起提供明确的功能,CoreDrupal有33个模块组合来的;管理员可以启用或不启用一个模块;这些模块架构使得Drupal如此的灵活和高效。(2)Users:控制用户可以访问的网页和功能;角色是一系列权限的集合(a“Writer”canonlyeditdocumentsthathewrotebutan“Editor”caneditdocumentsbyanyauthor);一个用户可以被赋予一个或多个的角色,她的权限是这些角色的集合;User1istheadministrator
本文标题:软件系统架构复习资料
链接地址:https://www.777doc.com/doc-3603715 .html