首页 > 编程技术 > php

PHP中类的理解和应用[一]

发布时间:2016-11-25 17:36

PHP中类的理解和应用[一]
    
      许多PHP的爱好者在学习过程中感到对PHP中类的概念较难理解和掌握,虽然知道类既然存在就有其存在的道理,但是由于平时接触和使用的机会较少,也就一略而过。其实,只要我们理解变量和函数这些PHP基本概念的话,掌握类的含义就不成问题。鉴于类在PHP的重要作用,本文将结合具体事例介绍PHP中类的概念和应用。
    
    
    (一)
    
      所谓类就是指由变量和作用于变量的函数组成的集合。类提供了一种对现实世界中事物的描述方式。通过有效的使用类,我们可以将描述同一对象的多个变量和函数组合在一起,作为一个整体使用,从而使编写出来的程序更直观,更合理,更易于维护。
    
      举一个比较通俗的例子,我们可以创建一个名为Bike的类来描述现实生活中的一辆自行车。首先,我们设定该类中的变量包括踏板$pedals,链条$chain,前轮$front wheel,后轮$rear wheel,刹车$brakes, 以及手柄$handle。然后,我们创建停车Stop(), 加速Accelerate(), 左转TurnLeft()和右转TurnRight()等函数。这样,我们就有了一个可以描述自行车这一对象所有行为和属性的类。例如,我们可以将$front wheel 和$rear wheel变量传入TurnLeft()函数,从而得到某种输出结果。
    
      也许有人会问上述例子虽然有趣,但是我们完全可以使用常规的变量和函数实现同样功能,为什么一定要坚持使用这么烦琐的类呢?当然,如果我们在脚本中只需要描述一辆自行车话,定义一个类似乎没有什么特殊的价值。但是,如果当脚本需要涉及多辆自行车时呢?如果我们还是采用常规的为每量自行车都定义变量和函数的方法,那么光是跟踪每个变量,确保正确的变量输入正确的函数就是一项相当复杂的工作。相反,如果采用类的方式,就可以有效的减少所需变量的数量。此外,一个已经定义的类还可以被包含在其它文件或脚本中,从而实现代码的重复利用。
    
    
    (二)
    
      对PHP类的概念有所了解之后,我们就来具体看一下如何在脚本中创建和使用类。
<?
$size_small=5;//液晶宽度
$size_big=25;//液晶长度
$distance=10;//间距
$color_back="#DDDDDD";
$color_dark="#CCCCCC";
$color_light="#000000";
$number=0;
?>
<html>
<head>
<title>Timer</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript">
// *****************************************************************
// Written By Caocao
// caocao@eastday.com
// http://caocao.oso.com.cn
// *****************************************************************
function swapcolor(obj,onoff)//改变颜色
{
if (onoff)
{
obj.style.background="<? echo $color_light;?>";
}
else
{
obj.style.background="<? echo $color_dark;?>";
}
}
function change(number,timer)//处理数字显示
{
switch (timer)
{
case 0:
swapcolor(eval("time"+number+"0"),1);
swapcolor(eval("time"+number+"1"),1);
swapcolor(eval("time"+number+"2"),1);
swapcolor(eval("time"+number+"3"),0);
swapcolor(eval("time"+number+"4"),1);
swapcolor(eval("time"+number+"5"),1);
swapcolor(eval("time"+number+"6"),1);
break;
case 1:
swapcolor(eval("time"+number+"0"),0);
swapcolor(eval("time"+number+"1"),0);
swapcolor(eval("time"+number+"2"),1);
swapcolor(eval("time"+number+"3"),0);
swapcolor(eval("time"+number+"4"),0);
 
    前不久做到一个项目需要用到购物车,考虑到可能经常用到,所以把它封装成一个类,以便以后调用。你可以简单的把这个类稍微修改一下就可以用在自己的程序里了,具体使用请见http://bigeagle.wotoo.com/article.asp?type=1。
<?
/*****************************************************************************/
/*                                     */
/* file type:        包含文件,建议后缀为.inc                */
/*                                     */
/* file name:        cart.inc                           */
/*                                     */
/* Description:    定义一个购车类                        */
/*                                     */
/* Func list :     class cart                       */
数据加密在我们生活中的地位已经越来越重要了,尤其是考虑到在网络上发生的大量交易和传输的大量数据。如果对于采用安全措施有兴趣的话,也一定会有兴趣了解PHP提供的一系列安全功能。在本篇文章中,我们将介绍这些功能,提供一些基本的用法,以便你能够为自己的应用软件中增加安全功能。
预备知识
在详细介绍PHP的安全功能之前,我们需要花点时间来向没有接触过这方面内容的读者介绍一些有关密码学的基本知识,如果对密码学的基本概念已经非常熟悉,就可以跳过去这一部分。
密码学可以通俗地被描述为对加/解密的研究和实验,加密是将易懂的资料转换为不易懂资料的过程,解密则是将不易懂的资料转换为原来易懂资料的过程。不易懂的资料被称作密码,易懂的资料被称作明码。
数据的加/解密都需要一定的算法,这些算法可以非常地简单,如著名的凯撒码,但当前的加密算法要相对复杂得多,其中一些利用现有的方法甚至是无法破译的。
PHP的加密功能
只要有一点使用非Windows平台经验的人可能对crypt()也相当熟悉,这一函数完成被称作单向加密的功能,它可以加密一些明码,但不能够将密码转换为原来的明码。尽管从表面上来看这似乎是一个没有什么用处的功能,但它的确被广泛用来保证系统密码的完整性。因为,单向加密的口令一旦落入第三方人的手里,由于不能被还原为明文,因此也没有什么大用处。在验证用户输入的口令时,用户的输入采用的也是单向算法,如果输入与存储的经加密后的口令相匹配,则输入的口信一定是正确的。
PHP同样提供了使用其crypt()函数完成单向加密功能的可能性。我将在这里简要地介绍该函数:
string crypt (string input_string [, string salt])
其中的input_string参数是需要加密的字符串,第二个可选的salt是一个位字串,它能够影响加密的暗码,进一步地排除被称作预计算攻击的可能性。缺省情况下,PHP使用一个2个字符的DES干扰串,如果你的系统使用的是MD5(我将在以后介绍MD5算法),它会使用一个12个字符的干扰串。顺便说一下,可以通过执行下面的命令发现系统将要使用的干扰串的长度:
print "My system salt size is: ". CRYPT_SALT_LENGTH;
系统也可能支持其他的加密算法。crypt()支持四种算法,下面是它支持的算法和相应的salt参数的长度:
算法 Salt长度
CRYPT_STD_DES 2-character (Default)
CRYPT_EXT_DES 9-character
PHP Security Consortium
[31-Jan-2005] An international group of PHP experts today announced the official launch of the PHP Security Consortium (PHPSC), a group whose mission is to promote secure programming practices within the PHP community through education and exposition while maintaining high ethical standards.
Members of the PHPSC seek to educate PHP developers about security through a variety of resources, including documentation, tools, and standards. In addition to their educational efforts, the PHPSC engages in exploratory and experimental research in order to develop and promote standards of best practice for PHP application development.
 
About the PHP Security Consortium
Founded in January 2005, the PHP Security Consortium (PHPSC) is an international group of PHP experts dedicated to promoting secure programming practices within the PHP community. Members of the PHPSC seek to educate PHP developers about security through a variety of resources, including documentation, tools, and standards.
In addition to their educational efforts, the PHPSC engages in exploratory and experimental research in order to develop and promote standards of best practice for PHP application development.
标签:[!--infotagslink--]

您可能感兴趣的文章: