程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP??????????????????????,php

PHP??????????????????????,php

編輯:關於PHP編程

PHP??????????????????????,php


PHP????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

????????????????????????????????????????????????????

1.??????????????????????????????????????????????????????????????????XML????

2.??????????????????????????????????????????????????

3.??????????????????????????

????????????????????????????????????

1.??????????????????????????????????????

2.????????????????????????????

????????????????????????????????

1.??????????????

2.??????????????

3.????????????

4.????????????????????

5.????????

????????????????????????????

1.??????????????????

2.????????????

3.????????

4.????????

??????????

<?php
/** 
* PluginManager Class 
* 
* ???????????????????? 
* 
* @link http://www.bkjia.com/ 
*/ 
class PluginManager 
{ 
  /** 
   * ???????????????? 
   * 
   * @access private 
   * @var array 
   */ 
  private $_listeners = array(); 
   /** 
   * ???????? 
   * 
   * @access public 
   * @return void 
   */ 
  public function __construct() 
  { 
    #????$plugin???????????????????????????????????????? 
   #????????????????????$plugin?????????? 
   #$plugin = array( 
    #  'name' => '????????', 
    #  'directory'=>'????????????' 
    #); 
   
 
   // $plugins = get_active_plugins();#?????????????????? 
 
    //????????????????????????????????
    $plugins=array(array("directory"=>"demo",
    "name"=>"DEMO"));
 
 
    if($plugins) 
    { 
      foreach($plugins as $plugin) 
 
      {//????????????????????????????actions.php???????????????????????? 
        if (@file_exists(STPATH .'plugins/'.$plugin['directory'].'/actions.php')) 
        { 
          include_once(STPATH .'plugins/'.$plugin['directory'].'/actions.php'); 
          $class = $plugin['name'].'_actions'; 
          if (class_exists($class)) 
          { 
            //?????????????? 
            //$this ????????????
            new $class($this); 
          } 
        } 
      } 
    } 
    #?????????????????????????? 
  } 
 
  /** 
   * ?????????????????????????????? 
   * 
   * @param string $hook 
   * @param object $reference 
   * @param string $method 
   */ 
  function register($hook, &$reference, $method) 
  { 
    //???????????????????? 
    $key = get_class($reference).'->'.$method; 
    //????????????????????push???????????? 
    $this->_listeners[$hook][$key] = array(&$reference, $method); 
    #?????????????????????????? 
  } 
  /** 
   * ???????????? 
   * 
   * @param string $hook ?????????? 
   * @param mixed $data ?????????? 
   *  @return mixed 
   */ 
  function trigger($hook, $data='') 
  { 
    $result = ''; 
    //???????????????????????????????????? 
    if (isset($this->_listeners[$hook]) && is_array($this->_listeners[$hook]) && count($this->_listeners[$hook]) > 0) 
    { 
      // ???????????? 
      foreach ($this->_listeners[$hook] as $listener) 
      { 
        // ???????????????????????? 
        $class =& $listener[0]; 
        $method = $listener[1]; 
        if(method_exists($class,$method)) 
        { 
          // ?????????????????? 
          $result .= $class->$method($data); 
        } 
      } 
    } 
    #?????????????????????????? 
    return $result; 
  } 
} 
 
define(STPATH, "./");
 
$pluginManager=new PluginManager();
 
$pluginManager->trigger("demo");

demo????????:

<?php
/**
 * ????????Hello World??????????????
 *
 * @link    http://www.bkjia.com/
 */
/**
 *????????????????????????
 *  1. ??????????????????????action
 *  2. ??????????????????{??????_actions}
 */
class DEMO_actions
{
  //????????????????pluginManager??????
  function __construct(&$pluginManager)
  {
    //????????????
    //??????????????????????
    //????????????pluginManager??????
    //????????????????????????
    $pluginManager->register('demo', $this, 'say_hello');
  }
 
  function say_hello()
  {
    echo 'Hello World';
  }
}

PHP是什?

php 是一種服務器端的,嵌入html的腳本語言。php區別其他像客戶端java的地方是它的代碼在服務器端執行.php能做什麼?
最低水平,php可以做任何其他cgi程序所能做的事,例如收集表格數據,生成動態頁面內容,或者收發cookies.可能最強大,最有意義的特性是php支持大范圍的數據庫.書寫一個支持數據庫的web 頁面是難以置信的簡單.
下面是當前支持的數據庫:
adabas d interbase solid
dbase msql sybase
empress mysql velocis
filepro oracle unix dbm
informix postgresql
php通過協議也支持與其他服務的"交談",像imap, snmp, nntp, pop3, 甚至是 http. 你也可以打開晦澀的 網絡接口和其他協議交互.
php的簡要歷史
1994年秋季, rasmus lerdorf 開始構思 php. 早期的非發行版本被用在他的主頁上,以追蹤誰在看他的在線簡歷. 1995年年初第一版本出台,當時php只被認為是個人主頁開發工具.它由一個非常單純的只能理解很少數特殊宏的分析引擎和 一些用在主頁後端通用的工具組成.如留言簿,計數器和其他一些東西.這個分析器在1995年年中被重寫並被命名為 php/fi 第二版. fi來自 rasmus 寫的另外一個包, 用於解釋 html 形式的數據.他結合了個人主頁工具腳本和形式解析器,並加 上msql支持.這樣就產生 php/fi 了. php/fi以令人驚奇的步調成長,人們開始把自己的代碼貢獻給它.
很難給出它的硬統計表,但可以估計在1996年末,整個世界至少有15,000個網站在用php/fi.到1997年年中,這個 數字已經超過50,000了. 而在此時php的發展也發生了變化.由rasmus自己偏愛的和幾個人開發的項目變成一個更有組織的團 體成就.ev suraski和andi gutmans重寫了解析器.這個新的解析器成為php版本3的基礎.許多有用的代碼從php/fi 繼承到php3,並且很多是完全重寫的.
今天(1999年年中)不管是php/fi或php3與很多商業產品捆綁在一塊,例如c2級強度的web服務器和紅帽子linux. 根據netcraft提供的數據推斷,保守估計全世界應用php的網站已超過150,000個.由此看來,它比在因特網上運行netscape 的旗艦企業服務器的站點還多.

1.php是網頁文件.需要有支持php的web服務器,才能通過浏覽器打開.如果你實在要打開,用記事本也可以打開,不過裡面是些網頁代碼.你不一定讀得懂 .
2.你所下載的只不過是一個指向(或包含)那個手機鈴聲的網頁,你要真正得到那個鈴聲的地址才能下載它 .

3.應該不是php,是pdf,你把後綴改一下,php文件是網頁格式,用文本編輯器打開,但是本站提供的大部分是pdf格式的,安裝一個pdf閱讀器就能正常打開了.

4.“把擴展名改成 html ,然後用IE打開。”

5.如果安裝了dreamwaver,php文件會顯示dreamwaver可以打開的樣式
不過用不著

到你下載過的貼子裡,看你下載的那個東西的擴展名是什麼,比如word文檔後面就是.doc, pdf文檔後面就是.pdf, 壓縮文檔後面就是.rar或 .zip之類的
然後把擴展名替換.php......余下全文>>
 

PHP文件是什文件,怎打開?

你下載的是一個類似於asp的鏈接文件,而不是你原本的文件!
需要在服務器端執行後才能到達正確的下載地址,所以最好點擊進入網頁獲得正確的下載地址例如後綴類似於rar的,再使用下載地址,如果不能獲取,就可能是服務器出了問題。無法訪問了

PHP是一種服務器端HTML-嵌入式腳本描述語言。 其最強大和最重要的特征是其數據庫集成層,使用它完成一個含有數據庫功能的網頁是不可置信的簡單。在HTML文件中, PHP腳本程序(語法類似於Perl或者c語言)可以使用特別的PHP標簽進行引用, 這樣網頁制作者也不必完全依賴HTML生成網頁了。由於PHP是在服務器端執行的, 客戶端是看不到PHP代碼的。 PHP可以完成任何CGI腳本可以完成的任務,但它的功能的發揮取決於它和各種數據庫的兼容性。 PHP除了可以使用HTTP進行通信,也可以使用IMAP, SNMP, NNTP, POP3協議。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved