|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
根据功能来进行封装等。很多的不懂,在使用搜索引擎查找,或者请教老师和在老师详细的讲解、指导下,都能顺利解决。ado|初级 第4章 初级主题
4.1 显示形态的保护
组件的显示形态是指组件在一系列的postback中应当一直保留的数据。好比,用户在一个页面中更改了一个组件的字体色彩,他但愿页面再一次提交显示的时分,仍然看到的是已修正过的色彩。在桌面GUI法式的开辟中,这个十分复杂。然而在Web编程中就不那末轻易了,由于Web办事器其实不会一向在内存中坚持着页面形态。PRADO自创了ASP.NET的显示形态这个概念来处理这个成绩。
假如要经由过程显示形态来坚持一些数据,可以挪用TComponent 类中的getViewState() 和 setViewState() 办法。可以在显示形态中坚持良多类型的数据,然而不必把它用在资本句柄中,好比数据库联接。
PRADO
经由过程一个把限制形态保留在一个埋没字段中来前往给用户。当用户提交页面并再一次显示页面的时分,显示形态中的数据会从被提交的埋没域中读出来并用此恢复页面的形态。可以经由过程重载的办法来本人定制显示形态的存储办法。好比可以把显示形态保留在session中或数据库中,防止经由过程埋没字段要传输大批的数据。
4.2 Session
Session是用来在分歧页面间保留形态的,这和页面的显示形态机制分歧,显示形态只能保留本页面的形态。
假如要利用session, 那末起首在使用的设置装备摆设文件中界说一个session类。session类必需完成ISession
接口。假如你不想本人写一个session类,那可使用类System.Security.TSession ,它封装了$_SESSION 变量来完成了ISession 接口。你也能够本人写一个session类来利用分歧的办法处置session(好比把session保留到数据库中)。
<P> 假如界说了session类,在恳求的页面创立之前,对应的session对象就会被创立。TPage 页面类有一个Session 属性,可以便利的来会见session对象。 4.3 验证和受权
PRADO 供应了一个验证/受权的框架来撑持验证页面的会见者,判别他们是不是有权限来会见页面。
在验证框架中,一个用户类起到了次要感化。会见者假如经由过程了必定的身份验证(好比登录),并在办事器端取得了一个准确的身份,那末验证就经由过程了。用户对象代表了这么一个身份辨认。除身份反省外,一些页面也需求额定的权限反省来确保被验证的身份有足够的权限来会见。
<P> 验证框架撑持基于脚色的验证。一个页面假如在使用的设置装备摆设页面中指名了需求验证(secured),框架将确保在会见页眼前用户必需被验证。假如还指定的脚色,那末框架还将确保用户是属于该脚色的。最初,还可以定制页面的验证进程。假如验证或受权掉败了,onAuthenticationRequired 或onAuthorizationRequired 办法就会被触发,可以在此显示毛病信息或重定向到登录页面。 <P> 用户对象在分歧的页面一直存在的,它利用了session。因而假如要利用验证框架则必需声名session类。因为用户对象保留在session中,因而你可以用它来保留一些需求在分歧页面会见的数据。
假如要利用验证框架,需求在使用的设置装备摆设文件中声名一个用户类。用户类必需完成了IUser接口。框架中已供应了一个完成了该接口的类System.Security.TUser 。
phonebook 这个例子中申明了验证框架是假如利用的。
4.4 Form验证
PRADO供应了一种复杂的办法来停止form的验证,而假如利用传统的PHP编程体例,这个进程长短常反复并且单调的。在PRADO中有一套验证组件。这些验证组件即答应在客户端也答应在办事器端对数据停止验证,上面咱们将举一个例子来讲明。
如今咱们要创立一个用户注册页面。这个页面请求用户输出一个用户名和一个暗码来创立新的帐号。暗码请求是被输出两次以避免输出毛病。别的用户名和暗码都只能包括数字和数字,并且二者的长度分离请求很多于3位和6位。
要完成这个功效,可以创立这么一个模板:
...
<com:TForm>
...
Username:
<com:TTextBox ID="username" />
<com:TRequiredFieldValidator
ControlToValidate="username"
ErrorMessage="You must choose a username." />
<com:TRegularExpressionValidator
ControlToValidate="username"
RegularExpression="[\w]{3,}"
ErrorMessage="Username must ...." />
<br/>
Password:
<com:TTextBox ID="password" TextMode="Password" />
<com:TRequiredFieldValidator
ControlToValidate="password"
ErrorMessage="You must choose a password." />
<com:TRegularExpressionValidator
ControlToValidate="password"
RegularExpression="[\w]{6,}"
ErrorMessage="Password must ...." />
<br/>
Repeat Password:
<com:TTextBox ID="password2" TextMode="Password" />
<com:TRequiredFieldValidator
ControlToValidate="password2"
ErrorMessage="Please re-type your password." />
<com:TCompareValidator
ControlToValidate="password2"
ControlToCompare="password"
ErrorMessage="Your password entries did not match." />
<br/>
<com:TButton Text="Register" />
...
</com:TForm>
...
下面这个模板答应页面履行用户输出的客户端验证和办事器端验证(假定阅读器撑持javascript)。不再需求额定的代码了。假如验证掉败的话,form是不会被提交的,而同时会显示毛病信息。
可以在模板文件中经由过程设置验证组件的EnableClientScript 属性来关失落客户真个验证。这时候候,你可以在页面的OnLoad 事务中或以后经由过程反省页面的IsValid 属性来判别验证是不是经由过程。
4.5 缓存
PRADO框架供应了一个缓存机制来进步PRADO使用的运转效力。关于每种组件类型,假如它之前已经被实例化过,那末就会有一个对应的文件存在缓存目次中。这个文件包括了被序列化的的控件实例。今后一旦需求再创立一样的组件,那末就直接经由过程这个缓存文件来创立。这将会大小节省组件的创立工夫,由于创立组件的进程需求解析好几个XML规格文件和模板文件。
假如要利用缓存,只需求在使用的设置装备摆设文件中给的属性设置一个目次便可。这个目次必需是Web办事器可写的。利用的途径可所以相对途径也能够是绝对途径。
假如要封闭缓存,只需求给属性赋一个空字符串便可。
注重,假如你修正了组件的文件,那末应当包含一切的缓存文件都删失落或移走。下一次组件创立的时分会主动从头创立的。因而在开辟的时分,应当把缓存关失落。
4.6 定制 TApplication
TApplication 类是可以被扩大的。 TApplication 有好几个办法可以被重载。好比,你可以重载 beginRequest() 办法来完成对request数据的停止一些本人需求的预处置。假如想进一步懂得这些内容,可以参考PRADO 的文档。
培训的第三阶段,开始接触MYSQL,设计数据库,学习PHP如何去连接MYSQL数据库。对于MYSQL,我并不陌生,因为学校开设了Linux系统的课程,对于数据库的操作。 |
|