freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

深入淺出php框架thinkphp實(shí)戰(zhàn)開發(fā)_thinkphp基礎(chǔ)項(xiàng)目實(shí)戰(zhàn)11-文庫吧資料

2025-02-24 13:42本頁面
  

【正文】 e(?think_user u,think_product p‘) where(?=‘) select()。 // 默認(rèn)為增加 1 如 : $list = $usersetInc(?price‘,‘id=2‘,3)。 或 $list = $usersave($a)。 $a[?password‘]=?123‘。 //直接傳入主鍵 id b) $id=3。 // 將數(shù)組 $a中的數(shù)值增加進(jìn)數(shù)據(jù)庫( id 自動增長時(shí),無需指明 ) 或 $list = $useradd($_GET) 或 $list = $userdata($_GET)add()。 // 采用 md5()將密碼進(jìn)行加密 $list = $useradd($a)。 10. CURD與連貫 操作 在模板中遍歷數(shù)據(jù): $list 可以通過 $userassign(?alist‘,$list) 分配到模版中,并在模版中通過thinkphp專用的 volist標(biāo)簽進(jìn)行 select()返回的二維數(shù)組的遍歷 (類似于smarty的遍歷 ),而 find()返回的一維數(shù)組可直接遍歷,無需用到 volist標(biāo)簽 如: volist name=?alist‘ id=?xx‘ {$xx[?字段名 1‘]} , {$xx[?字段名 2‘]} , ….br /volist 10. CURD與連貫 操作 以 CURD操作為例介紹 連貫操作 (了解 ): 關(guān)于連貫操作,格式如下(請參看手冊 ) $userxxxyyy….. (增 add刪 delete改 save/查 ) 注: 1)兩端的位置必須固定不變 2)中間的 xxx , yyy 等為連貫操作 (順序可以調(diào)換) ,連貫操作方法名類似于sql語法 10. CURD與連貫 操作 以下以增刪改及查為例,介紹連貫操作: 1. 增刪改操作 ,通??梢院?data()方法結(jié)合使用: 1) add() 增 $a[?username‘]=?gg‘。 $list = $userselect()。 dump($list)。 // 或 $user = M()。 等價(jià)于 $user = new UserModel()。 } $user = new UserModel()。 等價(jià)于 $user = new Model(?User‘)。 // 模型類的 select()方法,模型查詢所有記錄 ,并返回一個(gè)二維數(shù)組 dump($list)。 // 這里 ‘表名 ‘,不加表前綴 如: $user = new Model(?User‘)。 $db = new Db($dsn)。 // 須為字符串 // 信息將顯示在頁面 trace信息中 7. 調(diào)試模式 和日志處理 2. 日志處理 系統(tǒng)默認(rèn)的 日志處理的配置 : /thinkphp/lib/think/core/ // 里面包含了日志的各個(gè)級別 開啟日志記錄 (依賴于調(diào)試模式的開啟 ): 在配置文件 Conf/ 中 ?LOG_RECORD‘=true ?LOG_RECORD_LEVEL‘ = array(?EMERG‘, ?ALERT‘, …) // 多個(gè)級別以 , 隔開 日志記錄方式: 默認(rèn)為文件方式,記錄到 /home/Runtime/Logs (使用文件方式的日期時(shí)間格式 ) 8. 數(shù)據(jù)庫 配置與連接 Thinkphp的 數(shù)據(jù)庫抽象層類 (/ThinkPHP/Lib/Think/Db/),封裝了 mysql mssql pgSql,sqlLite,Oracle,ibase 等數(shù)據(jù)庫的抽象操作及 Pdo的支持 ,我們只需要利用 thinkphp已經(jīng)抽象并封裝好的 Db類所提供的方法來進(jìn)行增刪改查 就可以了 數(shù)據(jù)庫的連接方式 (2種 ): 1. 采用配置文件方式 (推薦 ) 連接數(shù)據(jù)庫,可以在配置文件 Conf/ 中 , 進(jìn)行數(shù)據(jù)庫的常用連接設(shè)置,如: return array( ?DB_TYPE‘ = ?mysql‘, // 數(shù)據(jù)庫類型 ?DB_HOST‘ = ?localhost‘, // 服務(wù)器地址 ?DB_NAME‘ = ?dbname‘, // 數(shù)據(jù)庫名 ?DB_USER‘ = ?root‘, // 用戶名 ?DB_PWD‘ = ‖, // 密碼 ?DB_PORT‘ = 3306, // 端口 ?DB_PREFIX? = ?think_?, // 數(shù)據(jù)庫表前綴 (推薦 ),設(shè)置后建表時(shí)表名須有前綴 ?DB_FIELDS_CACHE‘ = true, // 啟用字段緩存 (不推薦 ) ) 注: Common/ ,thinkphp常用的所有默認(rèn)配置 8. 數(shù)據(jù)庫 配置與連接 2. 手動連接方式中 (控制器方法中 ) 可以在 控制器方法中 通過, ―dsn數(shù)據(jù)庫連接方式 ‖,來進(jìn)行數(shù)據(jù)庫的 手動連接 $dsn = ? $db = new Db($dsn)。 不推薦 另外 display參數(shù): 模板位置,編碼,文件的 mime類型 如: $thisdisplay(?./Public/‘, ?gb2312‘, ?text/xml‘)。 2. 全路徑輸出方式 ( 加載檔的位置全部 以主入口檔定位 ): 5)相對全路徑調(diào)用模板 $thisdisplay(?./Public/?)。 3)跨控制器調(diào)用模板: $thisdisplay(?index:tt‘)。=0) 1) 0 普通模式: ? a=reg m=shop ( get方式 ,m和 a的順序可以換) 2) 1 pathinfo模式(默認(rèn)): 3) 2 rewrite 重寫模式(偽靜態(tài)模式): 自己可以寫相關(guān)的 rewrite規(guī)則,也可 以使用 thinkphp自帶的 rewrite規(guī)則 如: 可將 : /模塊 /方法 4) 3 兼容模式: ?s=/user/g (當(dāng)服務(wù)器上不支持 pathinfo時(shí),可以自動識別為兼容模式來處理 ) 注: apache配置文件 可通過把 AcceptPathInfo Off 配置項(xiàng)加入 Directory / /Directory中來 關(guān)閉 apache對 pathinfo模式的支持 關(guān)于 rewrite 重寫模式(便于 SEO,搜索引擎優(yōu)化): 1) 確認(rèn) apache的 rewrite 模塊是否已經(jīng)打開 ( 配置中 ) LoadModule rewrite_module modules/ , 將 去掉 2) 將 AllowOverride None 改成 All ( 配置中所有處) 3)在與主入口文件相同目錄下,新建一個(gè) .htaccess 文件 ( apache 的規(guī)定 ), 將 url 重寫規(guī)則寫入其中 ( url 重寫規(guī)則,可參考 thinkphp手冊 開發(fā)指南 控制器 URL重寫) 注: 開啟 url重寫,無論是被重寫的,還是沒被重寫的,都能夠通過原有 路徑進(jìn)行訪問 ( rewrite模式會加大服務(wù)器性能的消耗 ) 5. pathinfo的兩種模式與模板 view和控制器之間的關(guān)系 關(guān)于 pathinfo的兩種模式: 在 Conf/: 1) 普通模式 (必須在前面加上 /m/模塊 /a/動作 ,且順序可改變) ?URL_MODEL‘=1, ?URL_PATHINFO_MODEL‘=1 如 : (/username/xxx 為 get的傳值 ) 2) 智能 識別模塊和操作 模式 (默認(rèn) ) 模塊和動作的順序就不能隨意修改了 ?URL_MODEL‘=1, ?URL_PATHINFO_MODEL‘=2 如 : 另外如設(shè)置: ?URL_PATHINFO_DEPR‘=‘‘ 則 URL 形式為: (不推薦) 5. pathinfo的兩種模式與模板和控制器之間的關(guān)系 模版 v和控制器 c之前的關(guān)系 , 模板輸出 類似于 smarty($thisdisplay()) 原則(即文件結(jié)構(gòu)關(guān)系): Tpl/default/文件夾下面一個(gè) 控制器 新建一個(gè) 文件夾 /每個(gè) 方法 一個(gè)模版 文件 如: Tpl/default/User/index : 在 UserAction控制器的 index 方法中 $thisdisplay()就可以顯示 Tpl/default中 User文件夾下的 (也可像 smarty一樣,通過 $thisassign(?變量名 ‘,‘ 變量值 ‘) 進(jìn)行模版的傳值或修改定界符等,詳見 thinkphp手冊的模版指南 ) {$變量名 } 5. pathinfo的兩種模式與模板和控制器之間的關(guān)系 訪問模版文件的方法( 6種) : 1. 模板相對路徑方式: Tpl 1)直接調(diào)用: $thisdisplay()。(推薦 ) // 將不會生成 ~ ~ , 通常包含以下文件: 項(xiàng)目配置文件(默認(rèn)配置,自定義項(xiàng)目配置(自定義配置 高于默認(rèn)配置)等) 注:項(xiàng)目中代碼有任何改動后,建議將這兩個(gè)文件刪除(避免 thinkphp編譯緩存) LIB目錄存放 控制器和 模型 ,控制器在 URL中的訪問規(guī)則是 : /模塊名 (控制器類名 )/動作名 (方法名 ) thinkphp規(guī)定: 所有的主入口文件默認(rèn)訪問 index控制器,且所有的控制器默認(rèn)是去找index方法 (動作 ) 以后臺主入口文件 : 注: 1) 控制器類名必須是與文件名相同 (去除 .),首字母必須大 寫,必須后面加上 Action,且必須要繼承 Action類 2) 方法名通常須是 public(默認(rèn) ),否則 thinkphp無法正常解析 四種路徑訪問模式 (URL_MODEL): 可通過 Conf/ (0,1,2,3) , 如: return array( 39。 來自定義 Runtime的生成路徑) Runtime/~ 和 Runtime/~ 1) 如果提示 runtime錯(cuò)誤,可以開啟保留空白和注釋和換行 define(?STRIP_RUNTIME_SPACE?,false)。 App::run()。 // 將創(chuàng)建 home文件夾(并建立 項(xiàng)目目錄結(jié)構(gòu) ) require_once THINK_PATH.39。)。,39。 define (39。./ThinkPHP/39。THINK_PATH39。 Symfony 優(yōu)點(diǎn) 1. Symfony 是 PHP框架中功能較強(qiáng)大的;它 完整實(shí)現(xiàn)了 MVC三層 ,能夠滿足一個(gè)項(xiàng)目下多個(gè)應(yīng)用的需要,并且每層可以定義自己的類庫,配置文件, layout;非常強(qiáng)大的命令行操作功能,包括建立項(xiàng)目、建立應(yīng)用、建立模塊、刷新緩存等等; 2. Symfony絕對是 開發(fā)大型復(fù)雜項(xiàng)目 的首選,因?yàn)槭褂昧?Symfony,將大大節(jié)約開發(fā)成本,并且多人協(xié)作的時(shí)候,不會出現(xiàn)問題,在 Project級別定義好基礎(chǔ) Class以后,任何模塊都能夠重用,大大復(fù)用代碼 缺點(diǎn): 1. 數(shù)據(jù)庫操作 model采用了重量級的 propel和 creole,不過在我測試的版本中已經(jīng)把他們移到了 addon里,可用可不用 2. 緩存功能無法控制,每次開發(fā)調(diào)試總是緩存,需要執(zhí)行 symfony cc, symfony rc 來清除和重建緩存; 3. 效率不是很高,特別是解析模板和讀取配置文件的過程,花費(fèi)時(shí)間不少; 4. 學(xué)習(xí)成本很高,并且國內(nèi)沒有成熟的社區(qū)和文檔,連中文手冊都沒有,相應(yīng)的要掌握所有功能,需要花費(fèi)比較多的時(shí)間 評價(jià): Symfony絕對是企業(yè)級的 PHP框架,唯一能夠貌似能夠跟 Java領(lǐng)域哪些強(qiáng)悍框架抗衡的東西;強(qiáng)悍的東西,自然學(xué)習(xí)復(fù)雜,但是相應(yīng)的對項(xiàng)目開發(fā)也比較有幫助,自然是推薦復(fù)雜的項(xiàng)目使用 Symfony來處理,覺得是值得,后期的維護(hù)成本比較低,復(fù)用性很強(qiáng)。 Zend Framework 優(yōu)點(diǎn): 1. 官方出品, 自
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1