zoukankan      html  css  js  c++  java
  • PHP_Bibel阅读笔记(二)——脸黑的一天(?一年)

      一早上起来把50包开了,一张橙卡。。。就问还有谁。。。。。。。。。。。本命年啊,我去买红内裤还不行么。。。。

    实时更新,老哥的号的30包什么都没有。。。。不过中午又开了5包,皇帝,好评啊!!!

    五、代码重用与函数编写

    include警告与require的错误;

    大量的包含实现,可以改ini文件中的:auto_prepend_file和auto_append_file;

    global关键字也是可以用在函数内的参数的;

    参数的引用传递和return

    1 namespace BibleBasicFunctionUse;
    2 
    3 include_once 'index.php';
    4 $value=10;
    5 increment1($value);
    6 echo $value;echo "<br/>";
    7 $value2=100;
    8 $value2=increment2($value2);
    9 echo $value2;echo "<br/>";
     1 <?php
     2 function increment1(&$value,$mount=1)
     3 {
     4     $value=$value+$mount;
     5 }
     6 
     7 function increment2($value,$mount=1)
     8 {
     9     $value=$value+$mount;
    10     return $value;
    11 }

    递归函数比循环慢且占用更多内存,虽然很多循环都可以用递归来代替;(在应用领域中基本不用它

    六、面向对象

    好玩的代码,学到些东西!

      1 <?php
      2 namespace BibleBasicObjectPage;
      3 
      4 //Chapter6.P132
      5 
      6 class Page
      7 {
      8     public $content;
      9     public $title;
     10     public $keyword;
     11     public $button=array("Home"=>"http://115.159.201.78/wordpress/",
     12         "Basic"=>"Section1.php"
     13     );
     14     
     15     public function __set($name,$value)
     16     {
     17         $this->$name=$value;
     18     }
     19     
     20     public function Display()
     21     {
     22         echo "<html>
    <head>
    ";
     23         $this->DisplayTitle();
     24         $this->DisplayKeywords();
     25         $this->DisplayStyles();
     26         echo "</head>
    <body>
    ";
     27         $this->DisplayHeader();
     28         $this->DisplayMenu($this->button);
     29         echo $this->content;
     30         $this->DisplayFooter();
     31         echo "</body>
    </html>
    ";   
     32     }
     33     
     34     private function DisplayTitle()
     35     {
     36         echo "<title>".$this->title."</title>";
     37     }
     38     
     39     private function DisplayKeywords()
     40     {
     41         foreach ($this->keyword as $words){
     42             echo "<meta name="keywords" content="".$words.""/>";
     43         }
     44     }
     45     
     46     private function DisplayStyles()
     47     {
     48    ?>
     49      <style>
     50       h1 {
     51             color:white; font-size:24pt; text-align:center;
     52             font-family:arial,sans-serif
     53     }
     54     .menu {
     55         color:white; font-size:12pt; text-align:center;
     56         font-family:arial,sans-serif; font-weight:bold
     57     }
     58     td {
     59         background:black
     60     }
     61     p {
     62         color:black; font-size:12pt; text-align:justify;
     63         font-family:arial,sans-serif
     64     }
     65     p.foot {
     66         color:white; font-size:12pt; text-align:center;
     67         font-family:arial,sans-serif; font-weight:bold
     68     }
     69     a:link,a:visited,a:active {
     70         color:white
     71     }
     72     </style>
     73 <?php
     74     }
     75     
     76     private function DisplayHeader()
     77     {
     78 ?>
     79   <table width="100%" cellpadding="12" 
     80          cellspacing="0" border="0">
     81   <tr bgcolor="black">
     82     <td align="left"><img alt="img" src="logo.png"></td>
     83     <td><h1>The OOP page</h1></td>
     84   </tr>
     85 </table>
     86 <?php 
     87     }
     88     
     89     private function DisplayMenu($button)
     90     {
     91         echo "<table width="100%" bgcolor="white"
     92               cellpadding="4"    cellsapcing="4">
     ";
     93         echo "<tr>
    ";
     94         $width=100/count($button);
     95         while (list($name,$url)=each($button)) {
     96             $this->DisplayButton($width,$name,$url,
     97                 !$this->IsURLCurrentPage($url));
     98         }
     99         echo "</tr>
    ";
    100         echo "</table>
    ";
    101     }
    102     
    103     private function IsURLCurrentPage($url)
    104     {
    105         if (strpos($_SERVER['PHP_SELF'], $url)==false){
    106             return false;
    107         } else{
    108             return true;
    109         }
    110     }
    111     
    112     private function DisplayButton($width,$name,$url,$active=true)
    113     {
    114         if ($active){
    115             echo "<td width="".$width."%">
    116             <a href="".$url."" onclick="blank">
    117             <img src="w-logo-blue.png" alt="".$name."" border="0" /></a>
    118             <a href="".$url.""><span class="menu">".$name."</span></a>
    119                 </td>";
    120         } else{
    121             echo "<td width="".$width."%">
    122             <img src="w-logo-white.png">
    123             <span class="menu">".$name."</span></td>";            
    124         }        
    125     }
    126     
    127     private function DisplayFooter()
    128     {
    129 ?>
    130   <table width="100%" bgcolor="black" cellpadding="12" border="0">
    131   <tr>
    132     <td>
    133     <p class="foot">&copy; Andy Liang.</p>
    134     <p class="foot">Please visit my own site:<a href="http://115.159.201.78/wordpress/">Andy's Learning Diary</a></p>
    135     </td>
    136   </tr>
    137 </table>
    138 <?php 
    139     }
    140 }
    141 
    142 $homepage=new Page();
    143 $homepage->content="<p>"."I do not know what to write down, how about this?"."</p>";
    144 $homepage->title="You have to try OO.";
    145 $homepage->keyword=array("SAR","MRF");
    146 $homepage->Display();

    就是个默认网页的生成对象,还是有改进空间的。

    然后,php写html,有点繁琐,但写完了一身爽。

    <?php ?>标记的活用有点厉害啊,套路~

    PS:上面代码中的链接不要乱点~会吓到你的。

    当然,其实这种得到页面在应用中是不推荐的,只是试着练下手。

    七、错误和异常处理

    try{ throw new Exception() }  catch{  }

    PHP中,异常必须手动抛出;

    try代码块和catch代码块是“绑定的”,每个try一定要有一个catch!

    一个try可以有多个catch

     1 <?php
     2 //Session1.Chapter7.P146
     3 namespace BibleBasicExceptionTry;
     4 
     5 try {
     6     throw new ErrorException("A serious wrong has occured!", 14);
     7 }
     8 catch (ErrorException $e){
     9     echo "Exceotion".$e->getCode().":".$e->getMessage()."<br/>"
    10         ."File:".$e->getFile()."at Line:".$e->getLine()."<br/>";
    11     echo $e;    
    12 }

    应用中,希望可以自定义异常处理:继承已有的Exception类就好,需要注意的是,一般的getMessage等是final的,不能进行重载的,只有_tostring这一个方法可以重载;

     1 class MyException extends ErrorException
     2 {
     3     function _tostring()
     4     {
     5         return "Fatal error,sorry!";
     6     }
     7 }
     8 
     9 try {
    10     throw new MyException("OH", 14);
    11 }
    12 catch (MyException $e){
    13     echo $e->_tostring();
    14 }

    应用中,常常把异常处理用在最容易出错的I/O部分;格式一般都是

    try{ if(!...) throw...} catch(){}

    Session 2

    (二) 使用MySQL

    八、设计Web数据库

  • 相关阅读:
    MO 中的imagelayer
    GDAL之OGR入门(转载)
    OGR体系结构
    C++与C# 以及指针
    如何用C#编程实现动态生成Word文档并填充数据?
    C++的类与C#的类[zt]
    arcmap vba 实现“卫星立体测图”高度字段值的计算,今天的一点小成就
    lib 和 dll from baidu
    ping and netstat
    Visual Basic6.0 中的类模块和标准模块
  • 原文地址:https://www.cnblogs.com/andy1202go/p/5437581.html
Copyright © 2011-2022 走看看