激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

php知識框架總結

時(shí)間:2024-10-20 07:42:58 PHP 我要投稿
  • 相關(guān)推薦

php知識框架總結

  篇一:php基礎知識點(diǎn)總結

php知識框架總結

  PHP語(yǔ)言基礎簡(jiǎn)單整理

  1.開(kāi)始結束標記的格式只有在沒(méi)有判斷語(yǔ)句時(shí)才能使用。

  對表單傳遞的變量進(jìn)行編碼和解碼:PHP中實(shí)現對查詢(xún)字符串進(jìn)行URL編碼可以通過(guò)函數urlencode()實(shí)現,該函數的使用格式如下:string urlencode(string str);對URL編碼后的查詢(xún)字符串進(jìn)行解碼,可以通過(guò)urldecode()函數實(shí)現,該函數的使用格式如下:string urldecode(string str);

  15.PHP連接數據庫:

  步驟: 一、建立連接------mssql_connect(server,uid,pwd);

  二、指定database-------mssql_select_db(databasename);

  三、執行sql------mssql_query($sql,$link);

  四、處理記錄集-------資源類(lèi)型數據,格式:bof---數據---eof

  五、以特定格式讀取數據-----mssql_fetch_array()....

  六、釋放相關(guān)資源、關(guān)閉連接------mssql_free_result($result);mssql_close();

  16.數組:php的數組由鍵值和value值組成

  定義:$array = array("鍵值"=>"value","鍵值"=>"value","鍵值"=>"value");如果不給鍵值賦值,默認從0開(kāi)始的int值

  相關(guān)函數:(1)in_array("值",數組名); 返回bool型-----查看數組中是否存在某value值

 。2)array_key_exists("key值",數組名); 返回bool型-----查看數組中是否存在某鍵值

 。3)array_keys(數組名);---將數組鍵值返回出來(lái)形成一個(gè)新數組,此鍵值作為新數組的value值

 。4)array_values(數組名);---將數組value值返回出來(lái)形成一個(gè)新數組,此值作為新數組的value值

 。5)key(數組名);----返回當前指針指向的元素key值

 。6)current(數組名);----返回當前指針指向的元素value值

 。7)next(數組名);----挪動(dòng)當前數組指針到下一步

 。8)reset(數組名);----恢復數組指針,指向第0個(gè)元素

 。9)end(數組名);----將指針挪向最后一個(gè)元素

 。10)prev(數組名);----將指針向前挪動(dòng)一位

 。11)foreach(數組名 as $key=>$value)

  {

  $key是鍵值,$value是value值,實(shí)現數組遍歷

  }

 。12)each(數組名);----將當前數組元素依次取出(自動(dòng)挪動(dòng)指針)并放到一個(gè)新的數組中

 。13)array_shift(數組名);----返回數組中第一個(gè)元素值

 。14)array_pop(數組名);----返回數組最后一個(gè)元素值

 。15)array_push(數組名,value);----向數組中追加元素

 。16)array_unshift(數組名,value);----在數組最前面添加元素

 。17)array_pad(數組名,數組長(cháng)度,value);----向數組中追加多個(gè)元素,對數組副本操作,不改變原數組,返回一個(gè)新數組

 。18)count();----返回個(gè)數

 。19)array_unique(數組名);----去掉數組中重復部分,操作數組副本,不改變原數組,返回新數組

 。20)sort(數組名);----從小到大升序排列數組value值,一般針對int型value值,返回bool型,成功返回true

 。21)rsort(數組名);----從大到小,逆序排列數組value值

 。22)array_combine(數組1,數組2);----將數組1的value值作為key,數組2的value值作為value值,形成一個(gè)新數組

 。23)array_merge(數組1,數組2,數組3...);----合并多個(gè)數組,將多個(gè)數組value值依次合并,合為一個(gè)數組

 。24)array_slice(數組名,int,int);----從目標數組截取元素,形成一個(gè)新數組。開(kāi)始位置為第二個(gè)參數,結束位置為第三個(gè)參數。若第三個(gè)參數不寫(xiě),則默認是截取到最后。

 。25)array_splice();----用法同array_slice();但是其截取部分從原數組中刪除

 。26)explode("字符依據",目標字符串);----將字符串按照一定的依據拆分成數組

 。27)implode("字符依據",目標數組);----將數組元素按照依據組合成一個(gè)字符串

 。28)range(mixed low,mixed high[number step]);----生成數組,例:range(1,100,8);---即從1到100,每8位取一個(gè)數,組成一個(gè)數組

 。29)shuffle(數組名);----用于將數組進(jìn)行隨機排序

 。30)array_sum(數組名);----對數值型數組元素值進(jìn)行求和

 。31)array_chunk(數組名,int);----分割目標數組,返回一個(gè)新數組,其中數組的每個(gè)元素都是一個(gè)一維數組,int參數為分割成的一維數組的長(cháng)度

  17.Cookie和會(huì )話(huà)控制:

  Cookie是在HTTP協(xié)議下,服務(wù)器或腳本可以維護客戶(hù)工作站上信息的一種方式。Cookie是由Web服務(wù)器保存在客戶(hù)機上的小文本文件,它可以包含有關(guān)用戶(hù)的信息。無(wú)論何時(shí)用戶(hù)鏈接到服務(wù)器,Web站點(diǎn)都可以訪(fǎng)問(wèn)Cookie信息。

  存在server端的是session,存在client端的是cookie,它們用來(lái)存儲全局變量。 設定Cookie值:setcookie("名","值");

  通過(guò)Cookie數組取值:$_cookie["名"];

  設置生成期:setcookie("名","值",time()+1800);生成期為當前時(shí)間加1800秒之后。

  刪除cookie: setcookie("名","",time()-3600);中間值設置為空,并將當前時(shí)間減去3600秒。 Cookie數組:setcookie("名[key]","值"); 使用foreach讀取。

  在PHP中可以通過(guò)$_COOKIE預定義變量訪(fǎng)問(wèn)Cookie的值。如果設置了php.ini中的register_long_arrays,那么就能夠應用$_COOKIE和$HTTP_COOKIE_VARS;如果在php.ini中還設置了register_globals,那么就可以在PHP中作為全局變量使用各個(gè)Cookie值。但是,更改php.ini中的兩個(gè)文件設置,容易對PHP的安全構成威脅,不推薦使用該方法,建議使用更新的$_COOKIE。

  會(huì )話(huà)ID的傳送

  會(huì )話(huà)ID的傳送有兩種方式,一種是Cookie方式,另一種是URL方式。

  Cookie傳送方式:

  這是最簡(jiǎn)單的會(huì )話(huà)方式,但是有些客戶(hù)可能限制使用Cookie,如果客戶(hù)限制使用Cookie的條件下,仍要繼續工作,那就要通過(guò)其他方式來(lái)實(shí)現了。

  URL傳送方式:

  在該方式中,URL本身用來(lái)傳送會(huì )話(huà),會(huì )話(huà)標志被簡(jiǎn)單地附加到URL的尾部,或者作為窗體中的一個(gè)變量來(lái)傳遞。例:ADD">">ADD

  會(huì )話(huà)ID的生成:

  PHP的會(huì )話(huà)函數會(huì )自動(dòng)處理ID的創(chuàng )建,但也可以通過(guò)手工方式創(chuàng )建會(huì )話(huà)ID。它必須是不容易被人猜出來(lái)的,否則有安全隱患。

  一般推薦生成會(huì )話(huà)ID使用隨機數發(fā)生器函數srand(),函數聲明如下:

  srand((double)microtime()*1000000);

  在調用該函數后,要想生成一個(gè)唯一的會(huì )話(huà)ID,還必須使用下面的語(yǔ)句:

  md5(unique(rand()));

  Session會(huì )話(huà):

  創(chuàng )建會(huì )話(huà)的步驟:?jiǎn)?dòng)一個(gè)會(huì )話(huà),注冊會(huì )話(huà)變量,使用會(huì )話(huà)變量和注銷(xiāo)會(huì )話(huà)變量。

 。1)啟動(dòng)一個(gè)會(huì )話(huà):》通過(guò)session_start();函數創(chuàng )建會(huì )話(huà),函數聲明為:bool session_start(void);

  》通過(guò)設置php.ini自動(dòng)創(chuàng )建會(huì )話(huà):設置php.ini中的session.auto_start選項,激活該選項即可自動(dòng)創(chuàng )建會(huì )話(huà)(配置值改為1),但是使用該方法啟動(dòng)auto_start會(huì )導致無(wú)法使用對象作為會(huì )話(huà)變量。

 。2)注冊會(huì )話(huà)變量:會(huì )話(huà)變量被啟動(dòng)后,全部保存在數組$_session中。通過(guò)數組$_session,直接給該數組提添加一個(gè)元素即可創(chuàng )建一個(gè)會(huì )話(huà)變量: $_session[session_name]=session_value;

 。3)使用會(huì )話(huà)變量:

  if(!empty($_session[session_name])){$myvalue=$_session[session_name]}

 。4)注銷(xiāo)會(huì )話(huà)變量:注銷(xiāo)某個(gè)session成員:unset($_session[session_name])

  注銷(xiāo)所有會(huì )話(huà)功能:$_session=array();然后使用session_destory();函數清除會(huì )話(huà)ID。

  18.字符串處理:

 。1)獲取字符串長(cháng)度:int strlen($str);

 。2)將指定字符串轉換成大寫(xiě):strtoupper($str);

 。3)將首字母轉換成大寫(xiě):ucfirst($str);

 。4)字符串與HTMl相互轉換:htmlspecialchars($str);----將字符串中某些特殊字符轉化成html格式

 。5)去除字符串的空格:trim()---去兩遍空格,ltrim()----去左邊空格,rtrim()----去右邊空格

 。6)substr_count($str,"value");查詢(xún)某字符在目標字符串中出現的個(gè)數

 。7)strpos($str,"value");----定位字符位置,返回int

 。8)防止單引號破壞sql語(yǔ)句:自動(dòng)轉義函數:addslashes();

  <?php

  $str = "Is your name O'reilly?";

  // 輸出:Is your name O'reilly?

  echo addslashes($str);

  ?>

 。9)截取字符串:substr($str,start_int,end_int);---return $newstr

 。10)填充字符串:string str_pad ( string input, int pad_length [, string pad_string [, int pad_type]] )

  例:<?php

  $input = "Alien";

  echo str_pad($input, 10); // produces "Alien " echo str_pad($input, 10, "-=", STR_PAD_LEFT); // produces "-=-=-Alien"

  echo str_pad($input, 10, "_", STR_PAD_BOTH); // produces "__Alien___"

  echo str_pad($input, 6 , "___"); // produces "Alien_"

  ?>

 。11)字符串的比較:int strcmp ( string str1, string str2 )----按逐個(gè)字符的ascll碼進(jìn)行比較,如果返回等于0,則相等;大于0,則str1大于str2;小于0,則str1小于str2。

 。12)數字字符串的格式化:string number_format ( float number [, int decimals [, string dec_point, string thousands_sep]] )

  該函數可以有1個(gè),2個(gè),或4個(gè)參數,但不能使三個(gè)。decimals意思是取小數點(diǎn)后幾位,dec_point用來(lái)代替小數點(diǎn),thousands_sep用來(lái)代替千位分隔符。

 。13)查找和替換:

  查找:string strstr ( string haystack, string needle )

  例:<?php

  $email = 'user@example.com';

  $domain = strstr($email, '@');

  echo $domain; // prints @example.com

  ?>

  替換:mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count] )----區分大小寫(xiě)

  篇二:php重要知識點(diǎn)總結(PHP網(wǎng)絡(luò )開(kāi)發(fā)必背)

  PHP網(wǎng)站開(kāi)發(fā)必用知識點(diǎn)總結,函數一覽,開(kāi)發(fā)必背

  魔術(shù)方法

  __construct() 當實(shí)例化一個(gè)對象的時(shí)候,這個(gè)對象的這個(gè)方法首先被調用。 __destruct() 當刪除一個(gè)對象或對象操作終止的時(shí)候,調用該方法。

  __get() 當試圖讀取一個(gè)并不存在的屬性的時(shí)候被調用。

  __set() 當試圖向一個(gè)并不存在的屬性寫(xiě)入值的時(shí)候被調用。

  __call() 當試圖調用一個(gè)對象并不存在的方法時(shí),調用該方法。

  __toString() 當打印一個(gè)對象的時(shí)候被調用

  __clone() 當對象被克隆時(shí),被調用

  __isset()

  __unset()

  __autoload($classname)

  __sleep()

  __wakeup()

  系統常量

  __FILE__ 當前文件名

  __LINE__ 當前行數

  __FUNCTION__ 當前函數名

  __CLASS__ 當前類(lèi)名

  __METHOD__ 當前對象的方法名

  PHP_OS 當前系統

  PHP_VERSION php版本

  DIRECTORY_SEPARATOR 根據系統決定目錄的分隔符 /

  PATH_SEPARATOR 根據系統決定環(huán)境變量的目錄列表分隔符 ; :

  E_ERROR 1

  E_WARNING 2

  E_PARSE 4

  E_NOTICE 8

  M_PI 3.141592

  $_SERVER

  $_ENV 執行環(huán)境提交至腳本的變量

  $_GET

  $_POST

  $_REQUEST

  $_FILES

  $_COOKIE

  $_SESSION

  $_GLOBALS

  輸出

  echo //Output one or more strings

  print //Output a string

  print_r() //打印關(guān)于變量的易于理解的信息。

  var_dump() //打印變量的相關(guān)信息

  var_export() //輸出或返回一個(gè)變量的字符串表示

  printf("%.1f",$num) //Output a formatted string

  sprintf() //Return a formatted string

  編碼轉換

  string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] ) iconv();

  時(shí)間

  date_default_timezone_set("PRC");

  date("Y-m-d H:i:s");

  time();

  date("Y-m-d H:i:s",time()+3600)

  ini_set('date.timezone', 'PRC');

  msec sec microtime() 以秒返回時(shí)間戳 explode(' ', microtime())

  錯誤處理

  @1/0

  error_reporting(E_ALL) 顯示所有錯誤

  error_reporting(0)

  trigger_error("Cannot divide by zero", E_USER_ERROR);

  try

  {

  throw new Exception("執行失敗");

  }

  catch (Exception $ex)

  {

  echo $ex;

  }

  字符串處理

  string trim("eee ") trim ('ffffe','e') //ltrim rtrim

  array explode(".", "fff.ff.f") 按指定字符切割

  string implode(".", $array) 別名:join 把數組值數據按指定字符連接起來(lái)

  array str_split("eeeeeeee",4) 按長(cháng)度切割字符串

  array split("-","fff-ff-f") 按指定字符切割

  int strlen('ffffffff') 取字符長(cháng)度

  string substr ( string $string , int $start [, int $length ] )

  substr($a,-2, 2) 截取字符

  int substr_count($text, 'is') 字符串出現的次數

  string strstr($text, 'h') 第一次出現h后的字符串 //別名:strchr

  int strpos($text, 'h') 第一次出現h的位置

  strrpos();最后一次出現h的位置

  str_replace('a', 'ttt', $t) 把$t里的'a'替換為'ttt'

  strtr($t,'is','ppp') 把$t中'is'替換成'ppp'

  strtr("hi all, I said hello", array("hello" => "hi")) 把'hello'轉換成'hi'

  string md5_file('1.txt',false) 文件數據md5加密

  int strcmp(string str1, string str2) 字符串比較

  int strcasecmp(string str1, string str2) 忽略大小寫(xiě)

  string str_pad($i, 10, "-=", STR_PAD_LEFT) 在原字符左邊補'-=',直到新字符串長(cháng)度為10

  STR_PAD_RIGHT

  STR_PAD_BOTH

  string str_repeat('1', 5) 重復5個(gè)1

  void parse_str('id=11'); echo $id; 將字串符解析為變量

  array preg_grep("/^(d+)?.d+$/", array(11.2,11,11.2)) 匹配數據

  array preg_split ("/[s,]+/", "hypertext language,programming"); 按指定的字符切割 array pathinfo(string path [, int options]) 返回文件路徑的信息

  string basename ( string path [, string suffix] ) 返回路徑中的文件名部分

  string dirname ( string path ) $_SERVER[PHP_SELF] 返回路徑中的目錄部分 string nl2br("foo isn't bar") "foo isn't
bar" 把換行轉成

  string chr ( int ascii ) *

  mixed str_word_count ( string string [, int format [, string charlist]] )

  string str_shuffle ('abc') 打亂字符串順序

  string strrev($str) * 翻轉一個(gè)字符串

  string strtolower($str) * 將字符串 $str 的字符全部轉換為小寫(xiě)的

  string strtoupper($str) * 將字符串 $str 的字符全部轉換為大寫(xiě)的

  string ucfirst ($str) * 將字符串 $str 的第一個(gè)單詞的首字母變?yōu)榇髮?xiě)。 string ucwords($str) * 將字符串 $str 的每個(gè)單詞的首字母變?yōu)榇髮?xiě)。

  string addslashes("I'm") I'm 使用反斜線(xiàn)引用字符串 這些字符是單引號(')、雙引號(")、反斜線(xiàn)()與 NUL(NULL 字符)

  string stripcslashes("I'm") I'm 將用addslashes()函數處理后的字符串返回原樣

  strip_tags("

tt

", '

') 去除html、xml、php標記,第二個(gè)參數用來(lái)保留標記 string urlencode(string str)

  string urldecode(string str)

  string htmlspecialchars("Test", ENT_QUOTES) 轉換特殊字符為HTML字符編碼

  Test

  ENT_COMPAT –對雙引號進(jìn)行編碼,不對單引號進(jìn)行編碼

  ENT_QUOTES –對單引號和雙引號進(jìn)行編碼

  ENT_NOQUOTES –不對單引號或雙引號進(jìn)行編碼

  string htmlentities('

ff

', ENT_QUOTES) 轉換特殊字符為HTML字符編碼,中文會(huì )轉成亂碼

  數組處理

  int count( mixed var [, int mode] ) 別名:sizeof() 取數組長(cháng)度

  string implode(".", $array) 別名:join 把數組值數據按指定字符連接起來(lái) array explode(".", "fff.ff.f") 按指定字符切割

  array range(0, 6, 2) 返回數組 array(0,2,4,6) 第一個(gè)參數為起使數,第二個(gè)參數為結束數,第三個(gè)參數為數據增加步長(cháng)

  int array_push($a, "3", 1) 把'3'、'1'壓入$a,將一個(gè)或多個(gè)單元壓入數組的末尾(入棧),第二個(gè)參數開(kāi)始就是壓入的數據

  void unset ( mixed var [, mixed var [, ...]] )

  array array_pad ($a, 5, 's')用's'將數組填補到指定長(cháng)度

  bool shuffle ( array $array ) 將數組打亂

  mixed array_rand ( array input [, int num_req] )從數組中隨機取出一個(gè)或多個(gè)單元的索引或鍵名

  array array_count_values ( array input )統計數組中所有的值出現的次數

  array array_combine ( array keys, array values ) 創(chuàng )建一個(gè)數組,用一個(gè)數組的值作為其鍵名,另一個(gè)數組的值作為其值

  bool array_key_exists ( mixed key, array search )檢查給定的鍵名或索引是否存在于數組中

  mixed array_search ( mixed needle, array haystack [, bool strict] )在數組中搜索給定的值,如果成功則返回相應的鍵名

  bool is_array ( mixed var )

  bool in_array ( mixed needle, array haystack [, bool strict] )檢查數組中是否存在某個(gè)值 number array_sum ( array array )計算數組中所有值的和

  array array_unique ( array array )移除數組中重復的值

  mixed reset ( array &array )將數組的內部指針指向第一個(gè)單元

  mixed current ( array &array )

  mixed next ( array &array )

  mixed prev ( array &array )

  mixed end ( array &array )

  mixed key ( array &array )

  array array_keys ( array input [, mixed search_value [, bool strict]] ) 返回數組中所有的鍵名

  array array_values ( array input ) 返回數組中所有的值

  bool print_r ( mixed expression [, bool return] )

  void var_dump ( mixed expression [, mixed expression [, ...]] )

  int array_unshift ( array &array, mixed var [, mixed ...] )在數組開(kāi)頭插入一個(gè)或多個(gè)單元 mixed array_shift ( array &array )將數組開(kāi)頭的單元移出數組

  mixed array_pop ( array &array )將數組最后一個(gè)單元彈出(出棧)

  array array_splice ( array $input, int offset [, int length [, array replacement]] ) 把數組中的一部分去掉并用其它值取代

  array array_merge ( array array1 [, array array2 [, array ...]] )合并一個(gè)或多個(gè)數組 array array_flip ( array trans )交換數組中的鍵和值

  int extract( array var_array [, int extract_type [, string prefix]] ) 從數組中將變量導入到當

  前的符號表

  array compact ( mixed varname [, mixed ...] ) 建立一個(gè)數組,包括變量名和它們的值 bool sort ( array &array [, int sort_flags] )從最低到最高重新安排

  bool natsort($a) 用“自然排序”算法對數組排序

  bool rsort ( array &array [, int sort_flags] )對數組進(jìn)行逆向排序(最高到最低) bool asort ( array &array [, int sort_flags] )對數組進(jìn)行排序并保持索引關(guān)系

  bool arsort ( array &array [, int sort_flags] ) 對數組進(jìn)行逆向排序并保持索引關(guān)系 bool ksort ( array &array [, int sort_flags] )對數組按照鍵名排序

  bool krsort ( array &array [, int sort_flags] )對數組按照鍵名逆向排序

  array array_filter ( array input [, callback callback] ) 用回調函數過(guò)濾數組中的單元

  bool array_walk ( array &array, callback funcname [, mixed userdata] ) 對數組中的每個(gè)成員應用用戶(hù)函數

  array array_map ( callback callback, array arr1 [, array ...] )將回調函數作用到給定數組的單元上

  array array_fill ( int start_index, int num, mixed value ) 用給定的值填充數組

  array_fill(5, 3, 'a')-->array(5=>'a',6=>'a',7=>'a')

  array array_chunk ( array input, int size [, bool preserve_keys] )將一個(gè)數組分割成多個(gè)

  其他

  isset() 變量是否存在

  boolean empty() 檢查變量是否存在,并判斷值是否為非空或非0

  void unset() 銷(xiāo)毀變量

  header('Content-Type: text/html; charset=utf-8');

  method_exists($obj, $method) 判斷對象的方法是否可用

  file_exists($file) 判斷文件是否存在

  function_exists();

  class_exists($class_name);

  gettype();獲取數據類(lèi)型

  set_magic_quotes_runtime() 0 for off, 1 for on 當遇到反斜桿、單引號,將會(huì )自動(dòng)加上一個(gè)反斜桿,保護系統和數據庫的安全

  ini_set();

  安全

  function strReplace($str)

  {

  $strResult = $str;

  if(!get_magic_quotes_gpc())//判斷設置是否開(kāi)啟

  {

  $strResult = addslashes($strResult);//轉換sql語(yǔ)句特殊字符

  }

  return $strResult;

  }

  篇三:php框架分析

  PHP框架

  本文來(lái)自國外的一個(gè)PHP技術(shù)人員網(wǎng)站,總結了國外的十個(gè)目前最流行的PHP MVC框架。具體排名順序未必準確,還有些知名框架,如Kohana等也沒(méi)有提及。不過(guò)仍可以做為一篇不錯的參考。

  以下為十個(gè)目前最流行的基于MVC設計模式的PHP框架。

  1. Yii

  Yii是一個(gè)基于組件的高性能的PHP的框架,用于開(kāi)發(fā)大規模Web應用。Yii采用嚴格的OOP編寫(xiě),并有著(zhù)完善的庫引用以及全面的教程。從 MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務(wù),到主體化,I18N和L10N,Yii提供了 今日Web 2.0應用開(kāi)發(fā)所需要的幾乎一切功能。而且這個(gè)框架的價(jià)格也并不太高。事實(shí)上,Yii是最有效率的PHP框架之一。

  2. CodeIgniter

  CodeIgniter是一個(gè)應用開(kāi)發(fā)框架——一個(gè)為建立PHP網(wǎng)站的人們所設計的工具包。其目標在于快速的開(kāi)發(fā)項目:它提供了豐富的庫組以完成常 見(jiàn)的任務(wù),以及簡(jiǎn)單的界面,富有條理性的架構來(lái)訪(fǎng)問(wèn)這些庫。使用CodeIgniter開(kāi)發(fā)可以往項目中注入更多的創(chuàng )造力,因為它節省了大量編碼的時(shí)間。

  3. CakePHP

  CakePHP是一個(gè)快速開(kāi)發(fā)PHP的框架,其中使用了一些常見(jiàn)的設計模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目標在于提供一個(gè)令任意水平的PHP開(kāi)發(fā)人員都能夠快速開(kāi)發(fā)web應用的框架,而且這個(gè)快速的實(shí)現并沒(méi)有犧牲項目 的彈性。

  4. PHPDevShell

  PHPDevShell是一個(gè)開(kāi)源(GNU/LGPL)的快速應用開(kāi)發(fā)框架,用于開(kāi)發(fā)不含Javascript的純PHP。它有一個(gè)完整的GUI管 理員后臺界面。其主要目標在于開(kāi)發(fā)插件一類(lèi)的基于管理的應用,其中速度、安全、穩定性及彈性是最優(yōu)先考慮的重點(diǎn)。其設計形成了一個(gè)簡(jiǎn)單的學(xué)習曲線(xiàn),PHP 開(kāi)發(fā)者無(wú)需學(xué)習復雜的新術(shù)語(yǔ)。PHPDevShell的到來(lái)滿(mǎn)足了開(kāi)發(fā)者們對于一個(gè)輕量級但是功能完善,可以無(wú)限制的進(jìn)行配置的GUI的需求。

  5. Akelos

  Akelos PHP框架是一個(gè)基于MVC設計模式的web應用開(kāi)發(fā)平臺;诹己玫氖褂昧晳T,使用它可以完成如下任務(wù):

  方便的使用Ajax編寫(xiě)views

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

  管理國際化的應用

  使用簡(jiǎn)單的協(xié)議與模型及數據庫通信

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

  6. Symfony

  Symfony是一個(gè)用于開(kāi)發(fā)PHP5項目的web應用框架。其目的在于加速web應用的開(kāi)發(fā)以及維護,減少重復的編碼工作。

  Symfony的系統需求不高,可以被輕易的安裝在任意設置上:你只需一個(gè)Unix或Windows,搭配一個(gè)安裝了PHP5的網(wǎng)絡(luò )服務(wù)器即可。它與差不多所有的數據庫兼容。Symfony的價(jià)位不高,相比主機上的花銷(xiāo)要低得多。

  對于PHP開(kāi)發(fā)者而言,使用Symfony是一件很自然的事,其學(xué)習曲線(xiàn)只有短短一天。干凈的設計以及代碼可讀性將縮短開(kāi)發(fā)時(shí)間。開(kāi)發(fā)者可以將敏捷 開(kāi)發(fā)的原理(如DRY,KISS

  或XP等)應用在其中,將重點(diǎn)放在應用邏輯層面上,而不用花費大量時(shí)間在編寫(xiě)沒(méi)完沒(méi)了的XML配置文件上。

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

  7. Prado

  PRADO團隊由一些PRADO狂熱者組成,這些成員開(kāi)發(fā)并推動(dòng)PRADO框架以及相關(guān)項目的進(jìn)行。 PRADO的靈感起源于A(yíng)pache Tapestry。從04年開(kāi)始,PRADO成為SourceForge上的開(kāi)源項目之一。

  8. Zend

  作為PHP藝術(shù)及精神的延伸,Zend框架的基礎在于簡(jiǎn)單,面向對象的最佳方法,方便企業(yè)的許可協(xié)議,以及經(jīng)過(guò)反復測試的快速代碼庫。Zend框架 旨在建造更安全,更可靠的Web 2.0應用及web服務(wù),并不斷從前沿廠(chǎng)商(如Google,Amazon,Yahoo,Flickr,StrikeIron和 ProgrammableWeb等)的API那里吸收精華。

  9. ZooP

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

  這是個(gè)穩定,可伸縮并可移植的框架。從誕生到現在的5年間,已經(jīng)在不少產(chǎn)品開(kāi)發(fā)中被使用。Zoop是一個(gè)快速,有效并干凈的框架。它的伸縮性很好,你可以只安裝你需要的功能。對代碼并不很熟悉的開(kāi)發(fā)者也可以通過(guò)Zoop快速的開(kāi)發(fā)安全的web應用。熟練的開(kāi)發(fā)者則可以更加將Zoop的彈性利用到極致。Zoop建議將display,logic以及數據層(MVC)分開(kāi)使用。

  Zoop由很多組件和項目集合而成,其中包括smarty和prototype AJAX框架,PEAR模塊等。高效的核心組件提供了很多你原本需要自己編碼來(lái)實(shí)現的功能。Zoop內置的糾錯功能可以通過(guò)配置實(shí)現生產(chǎn)環(huán)境下的錯誤日志 生成,這個(gè)錯誤日志提供了很多信息,可讀性很高,可以更輕易的尋找并排除錯誤。Zoop的一個(gè)特別之處在于其GuiControls,在PHP中是一個(gè)相當革新的想法。它提供了很多form widgets與驗證完整的集合到一起,并形成了一個(gè)可以輕松打造個(gè)性化GuiControls的框架。

  10. QPHP

  QPHP,意為快速PHP,它是一個(gè)與ASP.NET類(lèi)似的MVC框架;旧纤沁@樣一個(gè)情況: 整合了Java和C#的美感

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

  大量基于OOP的概念

  PHP服務(wù)器

  一、phpStudy簡(jiǎn)體中文版

  該程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安裝,無(wú)須配置即可使用,是非常方便、好用的PHP調試環(huán)境.該程序不僅包括PHP調試環(huán)境,還包括了開(kāi)發(fā)工具、開(kāi)發(fā)手冊等.總之學(xué)習PHP只需一個(gè)包.對學(xué)習PHP的新手來(lái)說(shuō), WINDOWS下環(huán)境配置是一件很困難的事;對老手來(lái)說(shuō)也是一件煩瑣的事.因此無(wú)論你是新手還是老手,該程序包都是一個(gè)不錯的選擇。

  二、PHPnow

  PHPnow是 Win32 下綠色免費的 Apache + PHP + MySQL 環(huán)境套件包。簡(jiǎn)易安裝、快速搭建支持虛擬主機的 PHP 環(huán)境。

  附帶 PnCp.cmd 控制面板,幫助你快速配置你的套件,使用非常方便。安裝 PHPnow 只需解壓、初始化,就可得到一個(gè)標準的 PHP + MySQL 的服務(wù)器環(huán)境。然后就可以直接安裝 Discuz!

  等程序,或者進(jìn)行 PHP 開(kāi)發(fā)調試。支持虛擬主機:便捷的虛擬主機管理。虛擬主機代理:可與 IIS 共存 80 端口(代理方式)

  三、NPMserv(win下nginx+php+mysql)

  NPMserv 是一款圖形界面的快速搭建nginx 0.7.61、PHP 5.3.0、MySQL 5.1.35、phpMyAdmin 3.2.1,網(wǎng)站服務(wù)器平臺的綠色軟件。無(wú)需安裝,具有靈活的移動(dòng)性,盤(pán)下根目錄(如D:/NPMserv)、打開(kāi)NPMserv.exe啟動(dòng)服務(wù)即可。

  www.yes919.com www.packyw.cn http://soft.yes919.com

  四、EasyPHP(Apache+PHP+MySQL套件)

  相信很多朋友對 Win+Apche+PHP+MySQL這樣的組合感興趣,但是不懂得編輯配置文件,導致在配置上面花了很大的時(shí)間。本套件采用傻瓜式安裝,一次搞定,方便調試和運行PHP+MySQL程序。如果作為服務(wù)器對外開(kāi)放請調整相關(guān)配置文件,本系統配置的安全系數不是非常高。請在 相關(guān)配置文件中修改Apache及PHP中網(wǎng)站管理員信箱及網(wǎng)站名稱(chēng)。

  建議:由于出于程序測試目的配置,安全系數并不是太高,請自行調整相關(guān)配置文件,MySQL數據庫用戶(hù)名:root,密碼為空,安裝后請設置密碼。

  篇四:最佳PHP,HTML5和CSS框架大薈萃之一 PHP框架

  最佳PHP,HTML5和CSS框架大薈萃之一 PHP框架

  開(kāi)發(fā)框架是用來(lái)幫助開(kāi)發(fā)人員快速設計和開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站的基礎,幾乎每個(gè)月都會(huì )有大量的框架被開(kāi)發(fā)人員發(fā)布,用來(lái)幫助web開(kāi)發(fā)者更簡(jiǎn)單和高效的開(kāi)發(fā)web應用。

  在這篇文章中,我將總結薈萃出最佳的PHP,HTML5和CSS框架,希望能夠在大家選擇框架的時(shí)候能夠供大家參考借鑒。如果你有任何建議和補充,謝謝閱讀!

  PHP框架

  1. Cake PHP

  CakePHP是一個(gè)擁有極大靈活性的開(kāi)發(fā),維護和部署的快速開(kāi)發(fā)框架。使用非常常見(jiàn)的MVC和ORM設計模式,及其配置規則幫助大家簡(jiǎn)化開(kāi)發(fā)過(guò)程而無(wú)須開(kāi)發(fā)過(guò)多的代碼

  和ZF類(lèi)似,CakePHP不要求配置。使用簡(jiǎn)單。在IRC上擁有非常友好的社區#cakePHP,用來(lái)幫助新的用戶(hù)快速開(kāi)始學(xué)習;贛IT License,擁有最佳實(shí)踐,例如,安全,認證和session處理。擁有面對對象的方式幫助你更簡(jiǎn)單的使用。

  2. Yii Framework

  Yii是一個(gè)免費,開(kāi)源的web應用開(kāi)發(fā)框架,使用PHP5開(kāi)發(fā),幫助開(kāi)發(fā)干凈,簡(jiǎn)潔的設計并且鼓勵開(kāi)發(fā)開(kāi)發(fā)。它幫助流水化的開(kāi)發(fā)應用,并且保證高效,可擴展和易維護。性能極大的優(yōu)化,非常適合開(kāi)發(fā)任何類(lèi)型的產(chǎn)品和項目。然而,它內建復雜,企業(yè)級別的應用。你擁有完整的控制,包括表現層和持久層,符合了企業(yè)級別開(kāi)發(fā)的指導方針

  3. Zend

  Zend Framework 2 是一個(gè)使用PHP5.3+來(lái)開(kāi)發(fā)web應用和服務(wù)的開(kāi)源框架。使用100%的面對對象的代碼并且使用PHP5.3種的新特性,例如名字空間,late static binding,lamda function和closure。Zend framewok 2 由成功的PHP框架Zend Framework 1演變而來(lái),而Zend framework 1擁有1500萬(wàn)的下載量。Zend framework2擁有獨特的組件結構,每一個(gè)組件都設計的盡量少和其它組件產(chǎn)生依賴(lài)關(guān)系。 ZF2遵循了嚴格的面對對象的設計原理。這種非嚴格的組件關(guān)系結構允許開(kāi)發(fā)人員使用任何他想使用的組件。

  4. Symfony

  Smyfony是一個(gè)web應用框架,遵循了典型的MVC(model view controller)的設計結構,現在越來(lái)越受歡迎,Symfony基于MIT license,它使用一些PHP代碼類(lèi)的輔助類(lèi)庫得開(kāi)發(fā)的過(guò)程簡(jiǎn)單

  5. Webasyst

  webasyst是一個(gè)開(kāi)源的框架用來(lái)開(kāi)發(fā)平滑的多用戶(hù)web應用或者復雜的網(wǎng)站。和其它的框架,例如,zend和symfony,比較起來(lái),Webasyst框架更專(zhuān)注,并且允許更快和更高效的創(chuàng )建基于商業(yè)和團隊使用的應用。這個(gè)框架提供了大量的現成的工具用來(lái)管理用戶(hù)和授權,UI創(chuàng )建,移動(dòng)端的訪(fǎng)問(wèn)等等

  6. Laravel

  Laravle是一個(gè)定位于優(yōu)雅簡(jiǎn)單的PHP框架。變成不會(huì )變的苦悶。事實(shí)上,使用正確的工具絕對是讓它成為一個(gè)讓人愉悅的事情。Laravel適合所有的PHP開(kāi)發(fā)人員,特別是初學(xué)者。

  除了完善的文章,Laravel的友好的社區一直幫助回答文檔上沒(méi)有涉及到的相關(guān)問(wèn)題。使用Bundle來(lái)打包和分享代碼絕對是一個(gè)非常棒的方式

  7. Guzzle

  Guzzle是一個(gè)幫助大家解決發(fā)送HTTP請求和創(chuàng )建web service 客戶(hù)端中多余的步驟的框架。包含了用來(lái)創(chuàng )建強壯的web service客戶(hù)端的工具,其中: 定義輸入和輸出的服務(wù)描述API,用來(lái)遍歷分頁(yè)資源的資源迭代,高效發(fā)送大量請求等等。

  8. Phalcon PHP

  Phalcon PHP是一個(gè)被發(fā)布成為C擴展并且提供高性能和低資源消耗的web框架。使用C書(shū)寫(xiě),平臺無(wú)關(guān)。作為這樣的框架,PHP支持微軟的windows系統, GNU/linux,Max OSX,你可以下載一個(gè)適合你的系統的二進(jìn)制包或者自己編譯

  9. CodeIgniter

  Codelgiter是一個(gè)強大的PHP框架,擁有非常小的體積,針對需要使用簡(jiǎn)單優(yōu)雅的工具套件開(kāi)發(fā)完整特性的web應用而開(kāi)發(fā)。如果你需要處理共享主機賬號或者客戶(hù)時(shí)間有限制,并且厭倦了沒(méi)有文檔的大型框架的話(huà),Codeignier可能非常適合你

  10. Fuel PHP

  Fuel是一個(gè)簡(jiǎn)單,靈活,社區驅動(dòng)的5.3 web框架,基于其它框架中的好的想法而開(kāi)發(fā)一個(gè)框架。在A(yíng)pache,,IIS和Nginx上測試過(guò)。Fuel使用另外一種方式實(shí)現,和其它框架不同,它努力成為社區驅動(dòng)的框架。剛成立不到6個(gè)月,已經(jīng)有30多個(gè)開(kāi)發(fā)人員貢獻了代碼和文檔。

  當然了國產(chǎn)框架也有一些, 例如,thinkPHP也還可以,具體項目還是得具體分析!

  免費領(lǐng)取兄弟連php原創(chuàng )視頻教程光盤(pán),詳情咨詢(xún)官網(wǎng)客服: http://www.lampbrother.net

  篇五:主流PHP框架優(yōu)缺點(diǎn)對比

  主流PHP框架優(yōu)缺點(diǎn)對比

  2012-04-14 文章互聯(lián)網(wǎng) 瀏覽次數: 206

  PHP是一種在國內外都比較流行的開(kāi)源服務(wù)器端腳本開(kāi)發(fā)語(yǔ)言。能夠適應大中小型項目的開(kāi)發(fā)需求。我們將在這篇文章中向大家介紹幾款主流PHP框架及其相關(guān)優(yōu)缺點(diǎn)評比,作為一個(gè)參考分享給朋友們。

  主要參考的PHP框架包括:CodeIgniter、CakePHP、ZendFramework、Symfony。我對很多框架也沒(méi)有認真使用,只是簡(jiǎn)單試用了一下,可能很多看法不成熟或者是錯誤的,請大家指正,一起成長(cháng)。

  優(yōu)點(diǎn):

  1. 配置簡(jiǎn)單,全部的配置使用PHP腳本來(lái)配置,執行效率高;具有基本的路由功能,能夠進(jìn)行一定程度的路由;具有初步的Layout功能,能夠制作一定程度的界面外觀(guān);數據庫層封裝的不錯,具有基本的MVC功能

  2. 快速簡(jiǎn)潔,代碼不多,執行性能高,PHP框架簡(jiǎn)單,容易上手,學(xué)習成本低,文檔詳細;自帶了很多簡(jiǎn)單好用的library,框架適合小型應用

  缺點(diǎn):

  1. 把Model層簡(jiǎn)單的理解為數據庫操作

  2. PHP框架略顯簡(jiǎn)單,只能夠滿(mǎn)足小型應用,略微不太能夠滿(mǎn)足中型應用需要 評價(jià):

  總體來(lái)說(shuō),拿CodeIgniter來(lái)完成簡(jiǎn)單快速的應用還是值得,同時(shí)能夠構造一定程度的layout,便于模板的復用,數據操作層來(lái)說(shuō)封裝的不錯,并且CodeIgniter沒(méi)有使用很

  多太復雜的設計模式,執行性能和代碼可讀性上都不錯。至于附加的 library 也還不錯,簡(jiǎn)潔高效。

  優(yōu)點(diǎn):

  1. CakePHP是最類(lèi)似于RoR的PHP框架,包括設計方式,數據庫操作的Active Record方式;設計層面很優(yōu)雅,沒(méi)有自帶多余的 library,所有的功能都是純粹的框架,執行效率還不錯;數據庫層的 hasOne, hasMany 功能很強大,對于復雜業(yè)務(wù)處理比較合適;路由功能,配置功能還不錯;自動(dòng)構建腳手架(scaffold)很強大;適合中型應用;基本實(shí)現過(guò)了MVC每一層;具有自動(dòng)操作命令行腳本功能;

  2. 文檔比較全,在國內推廣的比較成功,大部分都知道CakePHP,學(xué)習成本中等 缺點(diǎn):

  1. CakePHP非常嚴重的問(wèn)題是把Model理解為數據庫層操作,嚴重影響了除了數據庫之外的操作能力

  2. CakePHP的cache功能略顯薄弱,配置功能稍嫌弱;CakePHP不適合大型應用,只適合中型應用,小型應用來(lái)說(shuō)略微的學(xué)習成本高了點(diǎn)

  評價(jià):

  總體來(lái)說(shuō)CakePHP框架代表了PHP框架很重要的一個(gè)時(shí)代和代表,并且目前發(fā)揮著(zhù)很重要的作用,不少自己寫(xiě)的框架都模仿了CakePHP的方式,是個(gè)里程碑式的產(chǎn)品;CakePHP透露著(zhù)RoR的敏捷開(kāi)發(fā)方式和把數據庫操作認為是唯一Model的設計思想,作為開(kāi)發(fā)快速應用和原型是絕好的工具;同樣,用來(lái)做Web2.0網(wǎng)站的開(kāi)發(fā)框架,也是值得選擇的。

  優(yōu)點(diǎn):

  1. 官方出品,自帶了非常多的 library,框架本身使用了很多設計模式來(lái)編寫(xiě),架構上很優(yōu)雅,執行效率中等;MVC設計中,比較簡(jiǎn)潔,具有路由功能,配置文件比較強大(能夠處理XML和php INI),各種 library 很強大,是所有PHP框架中各種功能最全面的,包括它不僅是一個(gè)PHP框架,更是一個(gè)大類(lèi)庫(取代PEAR),這是它的主要特色;能夠直觀(guān)的支持除數據庫操作之外的Model層(比 CodeIgniter 和 CakePHP 強),并且能夠很輕易的使用Loader功能加載其他新增加的Class;Cache功能很強大,從前端Cache到后端Cache都支持,后端Cache支持Memcache、APC、SQLite、文件等等方式;數據庫操作功能很強大,支持各種驅動(dòng)(適配器)

  2. 文檔很全,在國內社區很成熟,并且目前不少Web 2.0網(wǎng)站在使用,學(xué)習成本中等

  缺點(diǎn):

  1. MVC功能完成比較弱,View層簡(jiǎn)單實(shí)現(跟沒(méi)實(shí)現一樣),無(wú)法很強大的控制前端頁(yè)面

  2. 沒(méi)有自動(dòng)化腳本,創(chuàng )建一個(gè)應用,包括入口文件,全部必須自己手工構建,入門(mén)成本高

  3. Zend Framework 作為一個(gè)中型應用框架問(wèn)題不大,也能夠勉強作為大型應用的PHP框架,但是作為一個(gè)很成熟的大型PHP框架來(lái)說(shuō),還需要一些努力

  評價(jià):

  作為官方出品的框架,Zend Framework的野心是可以預見(jiàn)的,想把其他框架擠走,同時(shí)封裝很多強大的類(lèi)庫,能夠提供一站式的框架服務(wù),并且他們的開(kāi)發(fā)團隊很強大,完全足夠有能力開(kāi)發(fā)很強大的產(chǎn)品出來(lái),所以基本可以確定的是Zend Framework前途無(wú)量,如果花費更多的時(shí)間去完善框架。同樣的,Zend Framework架構本身也是比較優(yōu)雅的,說(shuō)明Zend官方是有很多高手的,設計理念上比較先進(jìn),雖然有一些功能實(shí)現的不夠完善,

  比如View層,自動(dòng)化腳本等等,這些都有賴(lài)于未來(lái)的升級?傮w來(lái)說(shuō)Zend Framework是最值得期待的PHP框架,當然,你目前要投入你的項目中使用也是完全沒(méi)問(wèn)題的。

  優(yōu)點(diǎn)

  1. Symfony 是我了解的PHP框架中功能最強大的,而且我使用時(shí)間比較長(cháng),但是很多功能還是沒(méi)有挖掘出來(lái);它完整實(shí)現了MVC三層,封裝了所有東西,包括 $_POST,$_GET 數據,異常處理,調試功能,數據檢測;包含強大的緩存功能,自動(dòng)加載Class(這個(gè)功能很爽),強大的i18n國家化支持;具有很強大的view層操作,能夠零碎的包含單個(gè)多個(gè)文件;非常強大的配置功能,使用yml配置能夠控制所有框架和程序運行行為,強大到讓人無(wú)語(yǔ);能夠很隨意的定義各種自己的class,并且symfony能夠自動(dòng)加載(auto load)這些class,能夠在程序中隨意調用;包含強大的多層級項目和應用管理:Project --> Application --> Module --> Action,能夠滿(mǎn)足一個(gè)項目下多個(gè)應用的需要,并且每層可以定義自己的類(lèi)庫,配置文件,layout;非常強大的命令行操作功能,包括建立項目、建立應用、建立模塊、刷新緩存等等;

  2. Symfony絕對是開(kāi)發(fā)大型復雜項目的首選,因為使用了Symfony,將大大節約開(kāi)發(fā)成本,并且多人協(xié)作的時(shí)候,不會(huì )出現問(wèn)題,在Project級別定義好基礎Class以后,任何模塊都能夠重用,大大復用代碼

  缺點(diǎn):

  1. 數據庫操作model采用了重量級的propel和creole,不過(guò)在我測試的版本中已經(jīng)把他們移到了addon里,可用可不用

  2. 緩存功能無(wú)法控制,每次開(kāi)發(fā)調試總是緩存,需要執行 symfony cc, symfony rc 來(lái)清除和重建緩存;

  3. 效率不是很高,特別是解析模板和讀取配置文件的過(guò)程,花費時(shí)間不少;

  4. 學(xué)習成本很高,并且國內沒(méi)有成熟的社區和文檔,連中文手冊都沒(méi)有,相應的要掌握所有功能,需要花費比較多的時(shí)間

  評價(jià):

  Symfony絕對是企業(yè)級的PHP框架,唯一能夠貌似能夠跟Java領(lǐng)域哪些強悍框架抗衡的東西;強悍的東西,自然學(xué)習復雜,但是相應的對項目開(kāi)發(fā)也比較有幫助,自然是推薦復雜的項目使用Symfony來(lái)處理,覺(jué)得是值得,后期的維護成本比較低,復用性很強。相應的如果使用Symfony的應該都是比較復雜的互聯(lián)網(wǎng)項目,那么相應的就要考慮關(guān)于數據庫分布的問(wèn)題,那么就需要拋棄Symfony自帶的數據庫操作層,需要自己定義,當然了,Symfony支持隨意的構造model層。

  總結

  以上數款PHP框架,各有特色,而且都是開(kāi)源項目,不過(guò)框架針對的項目不一樣,一般來(lái)說(shuō) CodeIngiter 比較適合小型項目,CakePHP 和 Zend Framework 比較適合中型項目,Symfony 比較適合大型重量級項目,在項目選型的時(shí)候,要充分考慮框架的可以定制性、擴展性,因為每個(gè)項目都無(wú)法確定你是否會(huì )隨著(zhù)需求的變化進(jìn)行改變。

  相對來(lái)說(shuō),Zend Framework 和 Symfony 應對變化的能力比較強,特別是能夠隨意定制 model 層的Class,能夠非常方便增加自己業(yè)務(wù)或者數據處理類(lèi),我是個(gè)人比較推薦在中大型項目中使用的PHP框架。

  CodeIngiter 和 CakePHP 在中小型項目中同樣能夠發(fā)揮重大作用,快速開(kāi)發(fā)和原型構建,非常適合目標不清晰的原型項目的開(kāi)發(fā)。

【php知識框架總結】相關(guān)文章:

2017最熱門(mén)的PHP框架07-26

如何學(xué)好PHP知識09-20

PHP語(yǔ)言新手入門(mén)知識09-27

PHP高手需要掌握的知識點(diǎn)02-15

Smarty (PHP模板引擎)知識點(diǎn)介紹06-12

PHP的錯誤機制總結09-09

關(guān)于php面試寶典及PHP面試技巧08-16

PHP的壓縮函數06-21

php高級教程01-23

php對圖像的各種處理函數代碼總結07-03

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频