首页 >后端开发 >php教程 >PHP 14:类的实例

PHP 14:类的实例

WBOY
WBOY原创
2016-06-23 14:32:251218浏览

在本章中我们将介绍一个实例,来进一步对类加深了解。
本章构建一个Page类,它代表了一个页面。其中有显示页面的title,样式,内容等函数。
此页面的效果如下:

我们将把这个页面分成几块:
1)有图的那一块。
2)有导航按钮的那一块。
3)中间文字的一会
4)页底的这一块

具体看看代码吧:


  1   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   
 68  69   }// DisplayStyles() 
 70   
 71  public function DisplayHeader()
 72  {
 73      ?>
 74      
 75   
 76     
 77     
 80     
 81   
 82   
PHP 14:类的实例
 78         

Service In Action Ltd


 79     

 83       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 "
123             
124             PHP 14:类的实例

125             $name ";
126     }  
127     else
128     {
129       print "
130             PHP 14:类的实例
131             $name ";
132     }  
133   }
134   
135   //To show Footer.
136   public function DisplayFooter()
137      {
138          ?>
139          
140     
141       
146     
147     

142         

© Service In Action Ltd.


143         

请访问我们的
144                       合法信息页面


145       

148     149      }
150      function iterateVisible() {
151        echo "MyClass::iterateVisible:\n";
152        foreach($this as $key => $value) {
153            print "$key => $value\n";
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(); 运行的效果如下:

具体代码就不说了。
代码下载点击 这里
以上就是类的应用了。
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn