php框架的傳值原理(如$this->assign())

classBase{
private$var=array();//模板變數
publicfunctionassign($name,$value=''){//模板變數賦值
if(is_array($name)){
$this->var=array_merge($this->var,$name);
}else{
$this->var[$name]=$value;
}
}

publicfunction__set($name,$value){//魔術方法,模板變數賦值
$this->assign($name,$value);
}
}

classAextendsBase(){
publicfunctionxxx(){
//下面兩種方式是一樣的內
$this->assign("a",1);
$this->a=1

}
}


然後在容解析模板的時候用模板變數替換就OK

② php的smarty框架的原理是什麼

php的smarty是一個php開發的模版系統,根本目的是為了實現頁面和邏輯的分離,同時可以輔助內我們進容行php系統的快速開發,其中集成插件技術,緩存系統等技術,對前端頁面優化和速度優化有很大的幫助作用,其中的編譯型系統可以做到只需編譯一次模版就可以長久使用。
實現原理:
1.php端邏輯實現文件(php文件)
2.模版文件(html文件)
3.編譯系統把php邏輯實現文件和模版文件結合編譯成靜態html文件,即生成緩存文件
4.顯示

③ php框架如何學習

第一抄步,選擇一個合襲適的php框架
在國內,使用zf,ci和tp框架的人比較多,新手可以從中選一個去學習,新手不建議一開始就去學習zf,功力還不夠深,學習zf會讓你更迷茫。
第二步,學習輸出hello world,hello world很簡單,但是對於學習一門新的語言或框架,很重要。
第三步,學習理解單一入口和網址解析(即網址路由),單一入口,對於新手來說,可能有點不太好理解。
第五步,學習資料庫的添加,修改,刪除,查詢,學會簡單的資料庫操作。
第六步,學習php框架常用的函數和類庫,php框架中一般會帶一些常用的函數和類,可以稍微看一下,此時還沒有必要深入研究,等用到的時候再詳細的去看手冊和樣例。
第七步,下載基於此框架開源的項目系統下來學習,了解了php框架的執行流程,模板操作,和資料庫操作,下載一個開源的系統,下來去學習,學習別人的代碼,學得更快。
第八步,做項目學習,要熟練掌握一個的框架,需要大量的實踐,通過做項目,去深入學習。
第九步,閱讀框架代碼,了解其實現原理
第十步,到這一步,已經學會了這個php框架。

④ 關於PHP開發框架 為什麼要用開發框架

這個也是我以以前學習php底層的時候在思考的問題,後來當我第一次用thinkphp框架開發出了一個新聞管理系統的時候,我那時興奮得說了句,我曹,開發那麼快為什麼不用框架?你想一個項目用原生的代碼開發一個功能完善的新聞系統你要用一個月,注意是從零開發來說的。如果你用框架開發一個星期足夠了,不誇張的說,你還沒有開始框架都已經開始一半了,原生要寫一堆代碼,php只用一個方法就夠了。
區別不只是開發快的問題,重點還是安全性!原生php很不好維護,其次代碼之間耦合之間也不好,很容易被人黑,如果人家看源碼直接就可以破解甚至直接破壞就損失很大。如果用框架,核心部分是已經定的,三大模塊互相作用,你研究了底層可你要互相了解它的其他功能核心模塊要逐一去研究聯系才能理解完它的功能,就復雜度來說是復雜了,但你想破解我代碼沒有那麼容易了。其次thinkphp裡面sql是pdo的,安全度更高,可以謹防sql注入問題。
最關鍵的是開發快捷,安全度高被開發所能接受。

希望我的回答可以幫到你,有什麼不懂可以追問。

⑤ 如何學習php框架源代碼

第一步,選擇一個合適的php框架
在國內,使用zf,ci和tp框架的人比較多,新手可以從中選一個去學習,新手不建議一開始就去學習zf,功力還不夠深,學習zf會讓你更迷茫。
第二步,學習輸出hello world,hello world很簡單,但是對於學習一門新的語言或框架,很重要。
第三步,學習理解單一入口和網址解析(即網址路由),單一入口,對於新手來說,可能有點不太好理解。
第五步,學習資料庫的添加,修改,刪除,查詢,學會簡單的資料庫操作。
第六步,學習php框架常用的函數和類庫,php框架中一般會帶一些常用的函數和類,可以稍微看一下,此時還沒有必要深入研究,等用到的時候再詳細的去看手冊和樣例。
第七步,下載基於此框架開源的項目系統下來學習,了解了php框架的執行流程,模板操作,和資料庫操作,下載一個開源的系統,下來去學習,學習別人的代碼,學得更快。
第八步,做項目學習,要熟練掌握一個的框架,需要大量的實踐,通過做項目,去深入學習。
第九步,閱讀框架代碼,了解其實現原理
第十步,到這一步,已經學會了這個php框架。

⑥ 什麼叫php架構

設計php程序,系統,網站的思維,工作原理,運行原理稱之為架構。

⑦ php中都有哪些框架,為什麼要用框架呢,用框架有什麼好處

以下為十個目前最流行的基於MVC設計模式的PHP框架。

1. Yii

Yii是一個基於組件的高性能的PHP的框架,用於開發大規模Web應用。Yii採用嚴格的OOP編寫,並有著完善的庫引用以及全面的教程。從MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務,到主體化,I18N和L10N,Yii提供了今日Web 2.0應用開發所需要的幾乎一切功能。而且這個框架的價格也並不太高。事實上,Yii是最有效率的PHP框架之一。

2. CodeIgniter

CodeIgniter是一個應用開發框架——一個為建立PHP網站的人們所設計的工具包。其目標在於快速的開發項目:它提供了豐富的庫組以完成常見的任務,以及簡單的界面,富有條理性的架構來訪問這些庫。使用CodeIgniter開發可以往項目中注入更多的創造力,因為它節省了大量編碼的時間。

3. CakePHP

CakePHP是一個快速開發PHP的框架,其中使用了一些常見的設計模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目標在於提供一個令任意水平的PHP開發人員都能夠快速開發web應用的框架,而且這個快速的實現並沒有犧牲項目的彈性。

4. PHPDevShell

PHPDevShell是一個開源(GNU/LGPL)的快速應用開發框架,用於開發不含Javascript的純PHP。它有一個完整的GUI管理員後台界面。其主要目標在於開發插件一類的基於管理的應用,其中速度、安全、穩定性及彈性是最優先考慮的重點。其設計形成了一個簡單的學習曲線,PHP開發者無需學習復雜的新術語。PHPDevShell的到來滿足了開發者們對於一個輕量級但是功能完善,可以無限制的進行配置的GUI的需求。

5. Akelos

Akelos PHP框架是一個基於MVC設計模式的web應用開發平台。基於良好的使用習慣,使用它可以完成如下任務:

◆方便的使用Ajax編寫views

◆通過控制器管理請求(request)及響應(response)

◆管理國際化的應用

◆使用簡單的協議與模型及資料庫通信

你的Akelos應用可以在大多數共享主機服務供應方上運行,因為Akelos對伺服器唯一的要求就是支持PHP。因此,Akelos PHP框架是理想的用於發布單獨web應用的框架,因為它不需要非標准PHP配置便能運行。

6. Symfony

Symfony是一個用於開發PHP5項目的web應用框架。

這個框架的目的在於加速web應用的開發以及維護,減少重復的編碼工作。

Symfony的系統需求不高,可以被輕易的安裝在任意設置上:你只需一個Unix或Windows,搭配一個安裝了PHP5的網路伺服器即可。它與差不多所有的資料庫兼容。Symfony的價位不高,相比主機上的花銷要低得多。

對於PHP開發者而言,使用Symfony是一件很自然的事,其學習曲線只有短短一天。干凈的設計以及代碼可讀性將縮短開發時間。開發者可以將敏捷開發的原理(如DRY,KISS或XP等)應用在其中,將重點放在應用邏輯層面上,而不用花費大量時間在編寫沒完沒了的XML配置文件上。

Symfony旨在建立企業級的完善應用程序。也就是說,你擁有整個設置的控制權:從路徑結構到外部庫,幾乎一切都可以自定義。為了符合企業的開發條例,Symfony還綁定了一些額外的工具,以便於項目的測試,調試以及歸檔。

7. Prado

PRADO團隊由一些PRADO狂熱者組成,這些成員開發並推動PRADO框架以及相關項目的進行。

PRADO的靈感起源於Apache Tapestry。從04年開始,PRADO成為SourceForge上的開源項目之一。這個項目目前進展到了3.x版本。

8. Zend

作為PHP藝術及精神的延伸,Zend框架的基礎在於簡單,面向對象的最佳方法,方便企業的許可協議,以及經過反復測試的快速代碼庫。Zend框架旨在建造更安全,更可靠的Web 2.0應用及web服務,並不斷從前沿廠商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那裡吸收精華。

9. ZooP

Zoop PHP框架,意為Zoop面向對象的PHP框架。

這是個穩定,可伸縮並可移植的框架。從誕生到現在的5年間,已經在不少產品開發中被使用。Zoop是一個快速,有效並干凈的框架。它的伸縮性很好,你可以只安裝你需要的功能。

對代碼並不很熟悉的開發者也可以通過Zoop快速的開發安全的web應用。熟練的開發者則可以更加將Zoop的彈性利用到極致。

Zoop建議將display,logic以及數據層(MVC)分開使用。

Zoop由很多組件和項目集合而成,其中包括smarty和prototype AJAX框架,PEAR模塊等。高效的核心組件提供了很多你原本需要自己編碼來實現的功能。Zoop內置的糾錯功能可以通過配置實現生產環境下的錯誤日誌生成,這個錯誤日誌提供了很多信息,可讀性很高,可以更輕易的尋找並排除錯誤。

Zoop的一個特別之處在於其GuiControls,在PHP中是一個相當革新的想法。它提供了很多form widgets與驗證完整的集合到一起,並形成了一個可以輕松打造個性化GuiControls的框架。

10. QPHP

QPHP,意為快速PHP,它是一個與ASP.NET類似的MVC框架。基本上它是這樣一個情況:

◆整合了Java和C#的美感

◆除去了在其他PHP框架中使用的Perl形式的意義含糊的語言

◆大量基於OOP的概念

國內的thinkphp也很不錯,使用框架可以避免重建底層函數等,加快開發速度。

⑧ PHP框架的描述

php框架對很多新手而言可能會覺得很難攀越,其實不然 ,只要知道一個框架的流程,明白原版理了,基權本類似框架都可以看懂,php框架真正的發展要從php5開始了,其實php4時代就有一些框架,但是因為框架並沒有給大家帶來多方便而覺得很復雜,速度沒有純php好,所以一直到了php5才有大的發展,php5的面向對象模型的修改對框架的發展起了很大的作用。

⑨ 當今流行的PHP框架中各自都有什麼特點,優缺點都在哪

以下為十個目前最流行的基於MVC設計模式的PHP框架。

1. Yii

Yii是一個基於組件的高性能的PHP的框架,用於開發大規模Web應用。Yii採用嚴格的OOP編寫,並有著完善的庫引用以及全面的教程。從MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務,到主體化,I18N和L10N,Yii提供了今日Web 2.0應用開發所需要的幾乎一切功能。而且這個框架的價格也並不太高。事實上,Yii是最有效率的PHP框架之一。

2. CodeIgniter

CodeIgniter是一個應用開發框架——一個為建立PHP網站的人們所設計的工具包。其目標在於快速的開發項目:它提供了豐富的庫組以完成常見的任務,以及簡單的界面,富有條理性的架構來訪問這些庫。使用CodeIgniter開發可以往項目中注入更多的創造力,因為它節省了大量編碼的時間。

3. CakePHP

CakePHP是一個快速開發PHP的框架,其中使用了一些常見的設計模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目標在於提供一個令任意水平的PHP開發人員都能夠快速開發web應用的框架,而且這個快速的實現並沒有犧牲項目的彈性。

4. PHPDevShell

PHPDevShell是一個開源(GNU/LGPL)的快速應用開發框架,用於開發不含Javascript的純PHP。它有一個完整的GUI管理員後台界面。其主要目標在於開發插件一類的基於管理的應用,其中速度、安全、穩定性及彈性是最優先考慮的重點。其設計形成了一個簡單的學習曲線,PHP開發者無需學習復雜的新術語。PHPDevShell的到來滿足了開發者們對於一個輕量級但是功能完善,可以無限制的進行配置的GUI的需求。

5. Akelos

Akelos PHP框架是一個基於MVC設計模式的web應用開發平台。基於良好的使用習慣,使用它可以完成如下任務:

◆方便的使用Ajax編寫views

◆通過控制器管理請求(request)及響應(response)

◆管理國際化的應用

◆使用簡單的協議與模型及資料庫通信

你的Akelos應用可以在大多數共享主機服務供應方上運行,因為Akelos對伺服器唯一的要求就是支持PHP。因此,Akelos PHP框架是理想的用於發布單獨web應用的框架,因為它不需要非標准PHP配置便能運行。

6. Symfony

Symfony是一個用於開發PHP5項目的web應用框架。

這個框架的目的在於加速web應用的開發以及維護,減少重復的編碼工作。

Symfony的系統需求不高,可以被輕易的安裝在任意設置上:你只需一個Unix或Windows,搭配一個安裝了PHP5的網路伺服器即可。它與差不多所有的資料庫兼容。Symfony的價位不高,相比主機上的花銷要低得多。

對於PHP開發者而言,使用Symfony是一件很自然的事,其學習曲線只有短短一天。干凈的設計以及代碼可讀性將縮短開發時間。開發者可以將敏捷開發的原理(如DRY,KISS或XP等)應用在其中,將重點放在應用邏輯層面上,而不用花費大量時間在編寫沒完沒了的XML配置文件上。

Symfony旨在建立企業級的完善應用程序。也就是說,你擁有整個設置的控制權:從路徑結構到外部庫,幾乎一切都可以自定義。為了符合企業的開發條例,Symfony還綁定了一些額外的工具,以便於項目的測試,調試以及歸檔。

7. Prado

PRADO團隊由一些PRADO狂熱者組成,這些成員開發並推動PRADO框架以及相關項目的進行。

PRADO的靈感起源於Apache Tapestry。從04年開始,PRADO成為SourceForge上的開源項目之一。這個項目目前進展到了3.x版本。

8. Zend

作為PHP藝術及精神的延伸,Zend框架的基礎在於簡單,面向對象的最佳方法,方便企業的許可協議,以及經過反復測試的快速代碼庫。Zend框架旨在建造更安全,更可靠的Web 2.0應用及web服務,並不斷從前沿廠商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那裡吸收精華。

9. ZooP

Zoop PHP框架,意為Zoop面向對象的PHP框架。

這是個穩定,可伸縮並可移植的框架。從誕生到現在的5年間,已經在不少產品開發中被使用。Zoop是一個快速,有效並干凈的框架。它的伸縮性很好,你可以只安裝你需要的功能。

對代碼並不很熟悉的開發者也可以通過Zoop快速的開發安全的web應用。熟練的開發者則可以更加將Zoop的彈性利用到極致。

Zoop建議將display,logic以及數據層(MVC)分開使用。

Zoop由很多組件和項目集合而成,其中包括smarty和prototype AJAX框架,PEAR模塊等。高效的核心組件提供了很多你原本需要自己編碼來實現的功能。Zoop內置的糾錯功能可以通過配置實現生產環境下的錯誤日誌生成,這個錯誤日誌提供了很多信息,可讀性很高,可以更輕易的尋找並排除錯誤。

Zoop的一個特別之處在於其GuiControls,在PHP中是一個相當革新的想法。它提供了很多form widgets與驗證完整的集合到一起,並形成了一個可以輕松打造個性化GuiControls的框架。

10. QPHP

QPHP,意為快速PHP,它是一個與ASP.NET類似的MVC框架。基本上它是這樣一個情況:

◆整合了Java和C#的美感

◆除去了在其他PHP框架中使用的Perl形式的意義含糊的語言

◆大量基於OOP的概念