php原生框架
㈠ php知識框架總結
php知識框架總結
篇一:php基礎知識點總結
PHP語言基礎簡單整理
1.開始結束標記的格式只有在沒有判斷語句時才能使用。
對表單傳遞的變數進行編碼和解碼:PHP中實現對查詢字元串進行URL編碼可以通過函數urlencode()實現,該函數的使用格式如下:string urlencode(string str);對URL編碼後的查詢字元串進行解碼,可以通過urldecode()函數實現,該函數的使用格式如下:string urldecode(string str);
15.PHP連接資料庫:
步驟: 一、建立連接------mssql_connect(server,uid,pwd);
二、指定database-------mssql_select_db(databasename);
三、執行sql------mssql_query($sql,$link);
四、處理記錄集-------資源類型數據,格式:bof---數據---eof
五、以特定格式讀取數據-----mssql_fetch_array()....
六、釋放相關資源、關閉連接------mssql_free_result($result);mssql_close();
16.數組:php的數組由鍵值和value值組成
定義:$array = array("鍵值"=>"value","鍵值"=>"value","鍵值"=>"value");如果不給鍵值賦值,默認從0開始的int值
相關函數:(1)in_array("值",數組名); 返回bool型-----查看數組中是否存在某value值
(2)array_key_exists("key值",數組名); 返回bool型-----查看數組中是否存在某鍵值
(3)array_keys(數組名);---將數組鍵值返回出來形成一個新數組,此鍵值作為新數組的value值
(4)array_values(數組名);---將數組value值返回出來形成一個新數組,此值作為新數組的value值
(5)key(數組名);----返回當前指針指向的元素key值
(6)current(數組名);----返回當前指針指向的元素value值
(7)next(數組名);----挪動當前數組指針到下一步
(8)reset(數組名);----恢復數組指針,指向第0個元素
(9)end(數組名);----將指針挪向最後一個元素
(10)prev(數組名);----將指針向前挪動一位
(11)foreach(數組名 as $key=>$value)
{
$key是鍵值,$value是value值,實現數組遍歷
}
(12)each(數組名);----將當前數組元素依次取出(自動挪動指針)並放到一個新的數組中
(13)array_shift(數組名);----返回數組中第一個元素值
(14)array_pop(數組名);----返回數組最後一個元素值
(15)array_push(數組名,value);----向數組中追加元素
(16)array_unshift(數組名,value);----在數組最前面添加元素
(17)array_pad(數組名,數組長度,value);----向數組中追加多個元素,對數組副本操作,不改變原數組,返回一個新數組
(18)count();----返回個數
(19)array_unique(數組名);----去掉數組中重復部分,操作數組副本,不改變原數組,返回新數組
(20)sort(數組名);----從小到大升序排列數組value值,一般針對int型value值,返回bool型,成功返回true
(21)rsort(數組名);----從大到小,逆序排列數組value值
(22)array_combine(數組1,數組2);----將數組1的value值作為key,數組2的value值作為value值,形成一個新數組
(23)array_merge(數組1,數組2,數組3...);----合並多個數組,將多個數組value值依次合並,合為一個數組
(24)array_slice(數組名,int,int);----從目標數組截取元素,形成一個新數組。開始位置為第二個參數,結束位置為第三個參數。若第三個參數不寫,則默認是截取到最後。
(25)array_splice();----用法同array_slice();但是其截取部分從原數組中刪除
(26)explode("字元依據",目標字元串);----將字元串按照一定的依據拆分成數組
(27)implode("字元依據",目標數組);----將數組元素按照依據組合成一個字元串
(28)range(mixed low,mixed high[number step]);----生成數組,例:range(1,100,8);---即從1到100,每8位取一個數,組成一個數組
(29)shuffle(數組名);----用於將數組進行隨機排序
(30)array_sum(數組名);----對數值型數組元素值進行求和
(31)array_chunk(數組名,int);----分割目標數組,返回一個新數組,其中數組的每個元素都是一個一維數組,int參數為分割成的一維數組的長度
17.Cookie和會話控制:
Cookie是在HTTP協議下,伺服器或腳本可以維護客戶工作站上信息的一種方式。Cookie是由Web伺服器保存在客戶機上的小文本文件,它可以包含有關用戶的信息。無論何時用戶鏈接到伺服器,Web站點都可以訪問Cookie信息。
存在server端的是session,存在client端的是cookie,它們用來存儲全局變數。 設定Cookie值:setcookie("名","值");
通過Cookie數組取值:$_cookie["名"];
設置生成期:setcookie("名","值",time()+1800);生成期為當前時間加1800秒之後。
刪除cookie: setcookie("名","",time()-3600);中間值設置為空,並將當前時間減去3600秒。 Cookie數組:setcookie("名[key]","值"); 使用foreach讀取。
在PHP中可以通過$_COOKIE預定義變數訪問Cookie的值。如果設置了php.ini中的register_long_arrays,那麼就能夠應用$_COOKIE和$HTTP_COOKIE_VARS;如果在php.ini中還設置了register_globals,那麼就可以在PHP中作為全局變數使用各個Cookie值。但是,更改php.ini中的兩個文件設置,容易對PHP的安全構成威脅,不推薦使用該方法,建議使用更新的$_COOKIE。
會話ID的傳送
會話ID的傳送有兩種方式,一種是Cookie方式,另一種是URL方式。
Cookie傳送方式:
這是最簡單的會話方式,但是有些客戶可能限制使用Cookie,如果客戶限制使用Cookie的條件下,仍要繼續工作,那就要通過其他方式來實現了。
URL傳送方式:
在該方式中,URL本身用來傳送會話,會話標志被簡單地附加到URL的尾部,或者作為窗體中的一個變數來傳遞。例:
㈡ PHP常用的框架有哪些
PHP常用框架有:
1.thinkphp: 國人開發, 文檔比較全,中文文檔。 入門比較簡單。 寫法快。
2. laravel : 國外人寫的, 入門門檻高。英語文檔 ,社區比較活躍。
3. symfony: 國外人寫的。 門檻比較高, 英語文檔。
4. yii: 國內人寫的,門檻較低。
想學習這些框架,可以去黑馬程序員看視頻,有thinkphp、laravel的框架學習視頻。
㈢ 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和thinkphp這些框架有什麼區別
thinkphp等框架是 面向對象的mvc架構 mvc是目前主流的開發模式 框架是自己已經做好了這種架構開發者只需要寫業務代碼就可以了 而且框架一般會把一些常用的類提供給開發者 比如圖片處理 分頁類 驗證碼類 等等 框架還會把sql語句進行簡化 這些都是在提高開發者的開發效率 而如果使用原生php 開發者需要自己做mvc的架構 自己做單入口 開發效率以及代碼的可維護性都是不如直接使用那些主流的mvc框架
㈤ 糾結使用原生PHP還是框架
php本身就可以理解為一個web開發框架,針對web,針對http已經把很多細節封裝好了,你就直接用就OK。比如,你調用setcookie,下次就能通過$_COOKIE獲取到值,使用框架只是為了避免重復造輪子而已,框架一般集合了ORM、緩存機制、模板機制等等,如果不用框架自己從零開始寫的話,那任務量繁重而且基本一個人也很難實現這么多功能,如果有框架的話,那麼就方便多了,省了很多開發任務的。
㈥ 到底如何選擇PHP框架
初學php,框架建議選擇Thinkphp或才CodeIgniter,Thinkphp是國內非常流行的一個框架,學習資源,代碼資源都很豐富,碰到疑問也可以很快找到答案。CodeIgniter是最接近原生態php的框架,學過php基礎的人都很易上手,性能會比Thinkphp好一點,但國內社區不是很活躍,又是非國產框架,資源方面略輸。
中級php,建議選擇YII或者Symfony之類的框架,這兩者在中型大型項目中都可以應付自由。社區活動程度還不錯,資源慶局滾不少。
高級php,建議選擇Laravel或者yaf這類框架。Laravel是近幾年才興趣的框架,設計理念比較理,也沒有歷史php版本的包袱,據說是最優雅的框架。但學習上有一定門檻,特別是composer方式的包管理,需要理解透。yaf框架呢,是一個用C語言寫出來的php框架, 性能方面臘扒沒得說,據我了解到應譽余該是最高的了,新浪不少應用都是用這個框架。但這個要伺服器支持才行,部署起來麻煩點
㈦ php有哪些框架
PHP的框架有很多,這里說一部分供大家參考:
國內框架:ThinkPHP, Canphp, KYPHP, InitPHP, SpeedPHP, CdvPHP,KPHP。
國外著名框架:Zend Framework,Codelgniter,CakePHP,Symfony,Yii,Seagull,Laravel。
小型框架:E,DuoLamPHP,Difeye,GalaxixPhp,PhpPeanuts,Rong Framework,Openbiz Framework。
㈧ php原生代碼和php框架代碼的區別
樓下回答的真是垃圾
初學者建議先用原生態php, 掌握好基本語法
框架就是將一些常用的功能給你封裝好了,你用起來方便,
基礎知識學完後,可以嘗試使用框架,提高工作效率,框架用熟練後,看看它的源代碼,比較有知名度的框架代碼寫的很牛逼的
㈨ 現在工作寫網站是用原生php,還是框架來寫
現在一般都會用框架,開發會快很多,可以使用TP、YII2或是Laravel
㈩ php框架相對原生php影響性能或效率嗎
影響不大。因為http的請求,會受到網路速度的限制。與此相比,程序內部實現造成的影響,可能是很微小的。目前流行的php框架有yii、ci等。用它們編寫一個簡單的程序,和不使用框架,運行速度幾乎沒有差別。但使用框架時也需注意一些問題。
一個網頁響應速度,和其網站架構、HTML的結構和比較耗時的操作關系較大。
其中網站架構涉及硬體設備和應用程序分布式布署的問題,對性能影響最為顯著。一些程序難以解決的性能瓶頸,要用架構設計去解決。比如資料庫讀寫分離。
優化HTML結構也是優化網站的課題之一。更為簡約的編碼,可以節約帶寬,也能加快瀏覽器渲染的速度。頁面位元組大小,是前端設計的重要指標。非同步載入和代碼壓縮,是減少網頁下載時間的重要手段。
程序比較耗時的操作,如資料庫查詢、圖片處理、壓縮文件等。其中資料庫的因素較為普遍。這里要提到一個框架的問題。yii框架自帶的資料庫模型非常強大,有了它我們基本上不用寫SQL語句。但是,它自己生成的SQL語句不一定是最佳的。為了保證網站性能,關鍵的查詢需要自己把握。而且比較復雜的抽象,也會降低性能。它的官方文檔中,也不建議在大型網站中使用模型。
綜上,框架的特性要選擇性地使用。使用前要仔細閱讀文檔。優化網站要考慮多種因素,而不是僅僅關心程序的實現。要杜絕對程序效率影響不大的"微優化"。