當前位置:首頁 » 編程語言 » phpyii

phpyii

發布時間: 2022-01-20 14:57:58

① thinkphp與yii 哪個更優秀,分別是哪些方面優秀

yii更優秀,而且要比thinkphp優秀很多。

要回答分別是哪些方面優秀我們先要明白,框架是用來干什麼的。
框架的作用:1、簡化開發。2、提高工程的可維護性。3、規避編程語言本身的坑和陷阱。
那麼我們就從這3個方面來討論下著二者的優劣。

1、簡化開發方面:從新手的視角來看(或者表面來看),thinkphp做項目更簡單,因為其一提供了大部分web開發常用類庫,其二中文手冊寫的很詳細。但事實上,thinkphp有兩個缺失的特性導致一旦項目做久或者稍微上規模,就會使人頭痛不堪,這缺失的兩個特性分別是:完整的AR支持以及完善的多層次模型
其次,web項目開發中大部分代碼都是重復的,因此自動化代碼生成工具是必不可少的,截至最新的tp3.2.3,我仍然沒看到tp對自動化工具有任何支持的跡象

2、可維護性,缺失了完整的AR和多層次模型,代碼不可能工整到哪裡去,代碼一多,源代碼必然跟面條一樣雜亂。最重要的時,TP沒有unitTest,這導致重構都無門。同樣,資料庫方面,tp缺失了數據遷移工具,這都導致了項目後期維護由很大困難

3、規避編程語言本身的坑和陷阱:tp和Yii都是由PHP做的實現,PHP本身有很多的坑和陷阱,諸如混亂的語言結構與函數傻傻分不清的關系,變數轉換的陷阱,凌亂不堪的類庫命名。這些在yii里基本都得到了改善,Yii完全用面向對象的方式構建,常用web類庫都以組件方式呈現,終於改善了PHP程序員邊寫代碼邊網路:『XX功能該用哪個函數』的情況。反觀TP,僅僅對常用類庫封裝成class,要用什麼取什麼,根本沒做過精心的設計,完全像是一個多年的程序員攢了些類庫,然後七拼八湊而成的一個框架,因此我常常說,thinkphp是個偽MVC框架。

② PHP中使用YII框架的問題

因為你Users Model的對應的表明沒改,在這個Users模型類里,有這樣的方法:
public static function tableName()
{
return '{{%users1}}'; // users1是你的新表名
}
而且直接執行sql查詢,好像不是這樣用的吧?
我一般都是這樣的
Yii::$app->getDb()->createCommand($sql)->queryAll()
Yii::$app->getDb()->createCommand($sql)->queryOne()
Yii::$app->getDb()->createCommand($sql)->excute()
....
區別你可以看看源代碼的說明。(Yii2上的用法,yii1.x應該差不多,你稍微改改就應該沒問題)

③ php Yii 框架問題!

yii的component組件有點像對php一些功能的擴充。

在yii應用app啟動時載入。並發生作用。

比如像對http請求的處理組件,緩存組件,授權組件,資料庫組件,會話組件。

網址處理組件。

這幅圖可以說明,組件在框架中的作為。

④ yii 前端如何使用php的變數

你是說視圖?
yii視圖默認不使用模板引擎,用原生的php
首先在控制器
$this->render('viewFile',array(
'var' => 'string',

));

然後視圖:
<?php
echo $var;
?>

⑤ php中yii框架findByAttributes()怎麼用呢

$model=Post::model()->findByAttributes(array('user'=>$user));
這個方法是 只要找到一個符合的 就返回 ,findAllByAttributes 找全部 的 數據 , 用法一樣的

⑥ php框架zend framework好還是yii好

國內用的比較多的是YII,ZEND FRAMEWORK有點過於大了。教程你也沒有必要找視頻的,看官方文檔就可以了

⑦ php yii框架怎麼設置字體編碼格式

今天在開發的時候需要將excel文件中數據導入到相關的配置文件中,我按照過去經常使用的方法,先將excel導出成csv文件,然後使用fgetcsv函數讀取文件的內容,通過Yii框架中的CConfigure類導出成配置文件,然後在檢查的時候發現導出的數組中有些值中間有一些多餘的反斜杠,這些反斜杠一般出現在繁體中文或者日文的文字中。
一開始我先檢查了csv和excel文件中的欄位,發現並沒有什麼問題,之後我查看了CConfigure類中的saveAsString函數,發現他使用了php中的var_export函數來實現導入配置文件的功能,然後,我又使用var_export輸出會出現問題的某個欄位,發現確實在字元串中添加了反斜杠,而我直接使用echo或者var_mp輸出時,則沒有這個情況發生,這個時候我明白問題是出在var_export這個函數上。
在查閱了相關的資料後我發現var_export這個函數會自動轉義,也許是這個原因導致了字元串中自動添加了反斜杠,可是字元串本身並沒有特殊字元,為什麼var_export還是會添加反斜杠,這個讓我百思不得其解,我查看了出現問題的字元串的2進制編碼,發現出現反斜杠的地方本身的單個字元的ascii碼也是反斜杠,也就是說可能是var_export在轉義時針對單個反斜杠字元進行了轉義?這個原因我最後也沒有搞明白。
不過在我不知道如何解決這個問題的時候,我突然想到我的csv的文字編碼是gbk的,因為是通過excel直接轉的格式,然後我導出的文件編碼是utf-8的格式,同時我的代碼本身也是utf-8的格式,雖然我最後通過格式轉換,成功把gbk的字元串轉換成utf-8導出,但是在轉換的過程中可能會出現問題(當時想的是這樣,不過之後考慮了一下,因為之前在gbk格式下使用var_export已經出現了問題,因此應該不是轉換過程中的問題,應該是var_export處理gbk格式的漢字字元串時產生的bug?),於是我將csv文件全部轉換成utf-8格式,重新導入文件,成功解決。
其實在解決的過程中,很早就想到可能是編碼的問題,但是一直沒有發現excel轉換的csv文件的格式問題,因為之前導出的配置文件沒有漢字,因此沒有出現過這一類的問題,於是就忽略了,不過最後雖然解決了問題,但是問題本身的原因還是不明,推測極有可能是因為gbk編碼和var_export的兼容導致的問題,果然開發中應該還是盡量使用utf-8統一編碼,應該會減少很多不明的錯誤。
2013.1.19更新:經過思考,覺得應該是對於gbk編碼的字元串使用var_export時,函數對於單個字元表示為反斜杠的字元添加了反斜杠的轉義,因此使得該處的字元變為兩個反斜杠,同時因為在顯示時使用了gbk編碼,導致添加的反斜杠作為前一個漢字字元的一部分被顯示,而原來的反斜杠字元則單獨顯示了出來。

⑧ php yii2 高級包和基礎包的區別

額,基礎包相對於高級包來講,更適合剛學習yii框架的
感覺也沒多大區別,有一定基礎的話,推薦直接用高級包吧
高級包已經分好前台、後台,基礎包只有前台
不過這些都可以自己弄,這個並沒有什麼,所以隨便用一個都行
更多問題可以去php中文網問答社區提問http://www.php.cn/wenda.html,大神在線幫你解決,希望對你有幫助

熱點內容
電信級伺服器電腦 發布:2024-11-15 09:26:27 瀏覽:246
壓縮某個文件夾 發布:2024-11-15 09:03:11 瀏覽:891
網址能解壓嗎 發布:2024-11-15 08:54:09 瀏覽:933
python更改目錄 發布:2024-11-15 08:41:08 瀏覽:265
伺服器快閃記憶體可以裝在一般電腦上嗎 發布:2024-11-15 08:36:46 瀏覽:8
安卓手機怎麼查詢自己的路線軌跡 發布:2024-11-15 08:32:19 瀏覽:969
phpdatet 發布:2024-11-15 08:32:17 瀏覽:507
HDB3編解碼實驗 發布:2024-11-15 08:17:31 瀏覽:212
怪星球編程 發布:2024-11-15 08:15:55 瀏覽:844
慧編程價格 發布:2024-11-15 08:14:09 瀏覽:459