本文目錄一覽:
- 1、PHP中使用YII框架的問題
- 2、PHP框架 Yii framework 用yiic命令時提示「php.exe」不是內部或外部命令,也不是。。。。怎麼解決?
- 3、php yii框架怎麼設置字體編碼格式
- 4、YII框架和THINKPHP的區別是什麼?
- 5、php開發框架怎麼使用,剛接觸框架
- 6、在yii框架validate是什麼意思
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 framework 用yiic命令時提示「php.exe」不是內部或外部命令,也不是。。。。怎麼解決?
是這樣的: 原因是 Yii 自帶的yiic.bat 找不到php.exe.
解決方法: 用notepad++打開yii/framework/yiic.bat,修改
if “%PHP_COMMAND%” == “” set PHP_COMMAND=php.exe
→→→ if “%PHP_COMMAND%” == “” set PHP_COMMAND=D:\wamp\php\php.exe
我的就是修改為
if “%PHP_COMMAND%” == “” set PHP_COMMAND=C:\wamp\bin\php\php5.4.3\php.exe
php yii框架怎麼設置字體編碼格式
今天在開發的時候需要將excel文件中數據導入到相關的配置文件中,我按照過去經常使用的方法,先將excel導出成csv文件,然後使用fgetcsv函數讀取文件的內容,通過Yii框架中的CConfigure類導出成配置文件,然後在檢查的時候發現導出的數組中有些值中間有一些多餘的反斜杠,這些反斜杠一般出現在繁體中文或者日文的文字中。
一開始我先檢查了csv和excel文件中的欄位,發現並沒有什麼問題,之後我查看了CConfigure類中的saveAsString函數,發現他使用了php中的var_export函數來實現導入配置文件的功能,然後,我又使用var_export輸出會出現問題的某個欄位,發現確實在字元串中添加了反斜杠,而我直接使用echo或者var_dump輸出時,則沒有這個情況發生,這個時候我明白問題是出在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編碼,導致添加的反斜杠作為前一個漢字字元的一部分被顯示,而原來的反斜杠字元則單獨顯示了出來。
YII框架和THINKPHP的區別是什麼?
區別在於框架。
框架比較:
1 yii框架,美國華人開發的框架, 薛強,純OOP框架。
2 thinkphp框架。
2 CI 輕量級框架,開發速度快,部署靈活。
3 cakephp 外國框架,重量級框架。
4 symfony(外國重量級框架); YII的老爸。
優勢:框架可以節省我們50-60%的工作量,全部精力都集中在業務層面,無需關心程序的底層架構,俗稱E框架,TP算是中庸的框架,但不純凈。
php開發框架怎麼使用,剛接觸框架
先下載一個框架的源碼,研究一下,把MVC處理流程看一遍就會了,常用php框架有zendfraework,thinkphp等等,注意每個框架都是有差別的,選一個學習就可以了
最流行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.ymfony
Symfony是一個用於開發PHP5項目的web應用框架。
這個框架的目的在於加速web應用的開發以及維護,減少重複的編碼工作。
Symfony的系統需求不高,可以被輕易的安裝在任意設置上:你只需一個Unix或Windows,搭配一個安裝了PHP5的網路伺服器即可。它與差不多所有的資料庫兼容。Symfony的價位不高,相比主機上的花銷要低得多。
對於PHP開發者而言,使用Symfony是一件很自然的事,其學習曲線只有短短一天。乾淨的設計以及代碼可讀性將縮短開發時間。開發者可以將敏捷開發的原理(如DRY,KISS或XP等)應用在其中,將重點放在應用邏輯層面上,而不用花費大量時間在編寫沒完沒了的XML配置文件上。
Symfony旨在建立企業級的完善應用程序。也就是說,你擁有整個設置的控制權:從路徑結構到外部庫,幾乎一切都可以自定義。為了符合企業的開發條例,Symfony還綁定了一些額外的工具,以便於項目的測試,調試以及歸檔。
在yii框架validate是什麼意思
Yii是一個基於組件的高性能PHP框架,用於開發大型Web應用。Yii採用嚴格的OOP編寫,並有著完善的庫引用以及全面的教程。從 MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務,到主題化,I18N和L10N,Yii提供了今日Web 2.0應用開發所需要的幾乎一切功能。事實上,Yii是最有效率的PHP框架之一。
Yii是一個高性能的PHP5的web應用程序開發框架。通過一個簡單的命令行工具 yiic 可以快速創建一個web應用程序的代碼框架,開發者可以在生成的代碼框架基礎上添加業務邏輯,以快速完成應用程序的開發。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/279613.html