php 类实例,PHP 14:类的实例

在本章中我们将介绍一个实例,来进一步对类加深了解。

本章构建一个Page类,它代表了一个页面。其中有显示页面的title,样式,内容等函数。

此页面的效果如下:

我们将把这个页面分成几块:

1)有图的那一块。

2)有导航按钮的那一块。

3)中间文字的一会

4)页底的这一块

具体看看代码吧:

1 <?php

2 class Page

3 {

4 //Page Title

5 public $title=”Service In Action Ltd.”;

6

7 //Page content.

8 public $content;

9

10 //Page keywords.

11 public $keywords=”Service ,Action, Field Service, On Demand”;

12

13 //Page tabs navigation

14 public $buttons= array(‘主页’=>’Service.php’,

15 ‘产品’=>’products.php’,

16 ‘服务’=>’Service.php’,

17 ‘联系我们’=>’Contact.php’,

18 ‘网站地图’=>’Sitemap.php’);

19

20 //To set page’s attributes, such as title,content.

21 public function __set($name,$value)

22 {

23 $this->$name=$value;

24 }

25

26 //To display title

27 public function DisplayTitle()

28 {

29 print “{$this->title}“;

30 }

31 public function DisplayContent()

32 {

33 print $this->content;

34 }

35

36 //To set the header meta, and set the page keyword so that search engine to scrawl it.

37 public function DisplayKeywords()

38 {

39 print “keywords}” />”;

40 }

41 public function DisplayPage()

42 {

43 print “n

“;

44 $this->DisplayTitle();

45 $this->DisplayStyles();

46 print “

n”;

47 $this->DisplayHeader();

48 $this->DisplayMenus($this->buttons);

49 $this->DisplayContent();

50 $this->DisplayFooter();

51 print “n”;

52 }

53 public function DisplayStyles()

54 {

55 ?>

56

57 h1 {color:white; font-size:24pt; text-align:center;

58 font-family:arial,sans-serif}

59 .menu {color:white; font-size:12pt; text-align:center;

60 font-family:arial,sans-serif; font-weight:bold}

61 td {background:black}

62 p {color:black; font-size:12pt; text-align:justify;

63 font-family:arial,sans-serif}

64 p.foot {color:white; font-size:9pt; text-align:center;

65 font-family:arial,sans-serif; font-weight:bold}

66 a:link,a:visited,a:active {color:white}

67

68 <?php

69 }// DisplayStyles()

70

71 public function DisplayHeader()

72 {

73 ?>

74

75

76

logo.png

77

78

Service In Action Ltd

79

80

81

82

83 <?php

84 }

85

86 //To shoe navigation bar

87 public function DisplayMenus($buttons)

88 {

89 if(is_array($buttons)&&count($buttons)==0) return;

90 print “

91 print ”

n”;

92

93 //calculate button size

94 $width = 100/count($buttons);

95

96 while (list($name, $url) = each($buttons))

97 {

98 $this -> DisplayButton($width, $name, $url, !$this->IsURLCurrentPage($url));

99 }

100 print ”

n”;

101 print “

n”;

102 }

103

104 //Judge the URL is current page.

105 public function IsURLCurrentPage($url)

106 {

107 if(strpos($_SERVER[‘PHP_SELF’], $url )==false)

108 {

109 return false;

110 }

111 else

112 {

113 return true;

114 }

115 }

116

117 //To show the buttons.

118 public function DisplayButton($width, $name, $url, $active = true)

119 {

120 if ($active)

121 {

122 print “

“;

126 }

127 else

128 {

129 print “

130

side-logo.gif

131 $name

“;

132 }

133 }

134

135 //To show Footer.

136 public function DisplayFooter()

137 {

138 ?>

139

140

141

142

© Service In Action Ltd.

143

请访问我们的

144 合法信息页面

145

146

147

148 <?php

149 }

150 function iterateVisible() {

151 echo “MyClass::iterateVisible:n”;

152 foreach($this as $key => $value) {

153 print “$key => $valuen”;

154 }

155 }

156

157 }//class Page

158

159 $page=new Page();

160 $page->content=”本页面用来测试我们最先进的服务!正在建设中,很快将会登场!”;

161 $page->DisplayPage();

162 //$page->iterateVisible();

163 ?>

代码挺长的。此代码定义了一个Page类,此类有个方法为 DisplayPage()将整个页面显示出来。

此类还提供了很多方法。一一介绍一下了:

1)DisplayTitle

显示页面的标题。

2)DisplayContent

显示页面的内容,就是上面说的第3块。

3) DisplayKeywords

显示页面的关键字

4) DisplayStyles

显示页面的样式

5) DisplayHeader

显示页面的头部,即上面的第一块

6)DisplayMenus

显示菜单或者导航按钮,也就是上面的第2块

7)DisplayFooter

显示页脚,上面说的第4块。

此类还是比较简单的。不再多说。熟悉一下就可以了。

让我们看看继承吧。假设有一个类用来显示Product。所以我们可以建立一个类ProductPage,并且它继承Page。改变以下显示的Button以及内容即可。

代码如下:

class ProductPage extends Page

{

private $line2buttons = array ( ‘ PHP ‘ => ‘ PHP.php ‘ , ‘ Apache HTTP Server ‘ => ‘ Apache.php ‘ ,

‘ MySql ‘ => ‘ mysql.php ‘ , ‘ Zend Studio ‘ => ‘ ZendStudio.php ‘ ,

‘ UEStudio ‘ => ‘ http://www.ultraedit.com ‘ );

public function DisplayPage()

{

print ” n

” ;

$this -> DisplayTitle();

$this -> DisplayStyles();

print ”

n ” ;

$this -> DisplayHeader();

$this -> DisplayMenus( $this -> buttons);

$this -> DisplayMenus( $this -> line2buttons);

$this -> DisplayContent();

$this -> DisplayFooter();

print ” n ” ;

}

}

$page = new ProductPage();

$page -> content = ” 本页面用来测试我们最先进的产品!这些产品正在测试中,很快将会粉墨登场!请耐心等待 ” ;

$page -> DisplayPage();

运行的效果如下:

具体代码就不说了。

代码下载点击 这里

以上就是类的应用了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值