導航:首頁 > 編程語言 > phpyii項目

phpyii項目

發布時間:2023-07-18 11:04:50

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除了mvc還有什麼架構

1.Yii

Yii是一個基於組件的高性能的PHP的框架,用於開發大規模Web應用。Yii採用嚴格的OOP編寫,並有著完善的庫引用以及全面的教程。從MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務,到主體化,I18N和L10N,Yii提供了今日Web2.0應用開發所需要的幾乎一切功能。而且這個框架的價格也並不太高。事實上,Yii是最有效率的PHP框架之一。

2.CodeIgniter

3.CakePHP

CakePHP是一個快速開發PHP的框架,其中使用了一些常見的設槐世計模式如ActiveRecord,AssociationDataMapping,FrontController以及MVC。其主要目標在於提供一個令任意水平的PHP開發人員都能夠快速開發web應用的框架,而且這個快速的實現並沒有犧牲項目的彈性。

4.PHPDevShell

PHPDevShell是一個開源(GNU/LGPL)的快速應用開發框架,用於開發不含Javascript的純PHP。它有一個完整的GUI管理員後台界面。其主要目標在於開發插件一類的基於管理的應用,其中速度、安全、穩定性及彈性是最優先考慮的重點。其設計形成了一個簡單的學習曲線,PHP開發者無需學習復雜的新術語。PHPDevShell的到來滿足了開發者們對於一個輕量級但是功能完善,可以無限制的進行配置的GUI的需求。

5.Akelos

AkelosPHP框架是一個基於MVC設計模式的web應用開發平台。基於良好的使用習慣,使用它可以完成如下任務:

◆方便的使用Ajax編寫views

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

◆管理國際化的應用

◆使用簡單的協議與模型及資料庫通信

你的Akelos應用可以在大多數共享主機服務供應方上運行,因為Akelos對伺服器唯一的要求就是支持PHP。因此,AkelosPHP框架是理想的用於發布單獨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的靈感起源於ApacheTapestry。從04年開始,PRADO成為SourceForge上的開源項目之一。這個項目目前進展到了3.x版本。

8.Zend

作為PHP藝術及精神的延伸,Zend框架的基礎在於簡單,面向對象的最佳方法,方便企業的許可協議,以及經過反復測試的快速代碼庫。Zend框架旨在建造更安全,更可靠的Web2.0應用及web服務,並不斷從前沿廠商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那裡吸收精華。

9.ZooP

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

這是個穩定,可伸縮並可移植的框架。從誕生到現在的5年間,已經在不少產品開發中被鉛畢肢使用。Zoop是一個快速,有效並干凈的框架。它的伸縮性很好,你可以只安裝你需要的功能。

對代碼並不很熟悉的開發者也可以通過Zoop快速的開發安全的web應用。熟練的開發者則可以更加將Zoop的彈性利用到極致。

Zoop建議將display,logic以及數據層(MVC)分開使用。

Zoop由很多組件和項目集合而成,其中包括smarty和prototypeAJAX框架,PEAR模塊等。高效的核心組件提供了很多你原本需要自己編碼來實現的功能。Zoop內置的糾錯功能可以通過配置實現生產環境下的錯誤日誌生成,這個錯誤日誌提供了很多信息,可讀性很高,可以更輕易的尋找並排除錯誤。

Zoop的一個特別之處在於其GuiControls,在PHP中是一個相當革新的想法。它提供了很多formwidgets與驗證完整的集合到一起,並形成了一個可以輕松打造個性化GuiControls的框架。

10.QPHP

QPHP,意為快速PHP,它是一個與ASP.NET類似的MVC框架。基本上它是這樣一個情況:

◆整合了Java和C

⑶ yii怎麼引用php文件

首先$this->bbb() 調用的是當前實例所屬的類的方法,你siteController這個類里邊以及父類里邊都沒有bbb()這個function 當前報錯

如果要調用aaa.php這個文件的方法,可以將aaa.php文件 改成類
比如,
class AAA{
public static function bbb(){
echo 'I am function bbb';

}

}
把這個aaa.php放在SiteController所在目錄下

然後在SiteController使用
AAA::bbb();
即可!

⑷ 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框架。

⑸ YII框架和THINKPHP的區別

這不是一篇評測文章。只是我的喃喃碎語,不計較真。而且,下面的內容真的會很雜,不全面,而且你不可能有和我一樣的開發經歷。所以對於某些我醉心的特性,你可能不會理解。同樣的,我也不可能全部理解你為何對某一項特性十分喜歡。
關於ThinkPHP(以下簡稱TP)和Yii Framework(以下簡稱Yii)的背景、作者和速度方面就不涉及了。因為速度是一個很復雜的問題,牽扯的因素很多。我不得不承認ThinkPHP是 一個是國內框架運營方面的榜樣(當FleaPHP/QeePHP最火的那陣,我說過FleaPHP/QeePHP會倒的)。
運行環境:
Windows NT ACER 5.1 build 2600 (Windows XP Professional Service Pack 3) i586
Apache/2.2.14 (Win32) DAV/2 mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1
Mysql 5.1.4
下載的代碼:
ThinkPHP 2.1,帶擴展、示例和文檔完整包,發布於2011年5月1日,下載地址是 http://thinkphp.cn/Down/download/178
Yii 1.1.7,內含框架、實例和環境檢測,下載地址 http://yii.googlecode.com/files/yii-1.1.7.r3135.tar.gz 文檔需要另外下載
中文化方面,TP和Yii都可以滿足中文用戶的需求。但是由於Yii是國際化的項目,所以代碼的注釋仍舊是英文。不過兩個框架的作者都是國人(沒錯,Yii作者的國籍仍舊是中國),所以交流起來還是很方便的。
是Yii自帶了一個環境檢測腳本,可以告訴你當前的主機環境是否滿足Yii的需求。檢測的內容也比較詳細。我覺得這點比較方便。TP最低需要PHP5.0支持,而Yii最低需要PHP 5.1.0支持。由於我使用PHP 5.3,所以對我來說沒有什麼區別。
Yii是純面向對象的的框架,而TP提供了一系列單字母函數。相比之下我更喜歡Yii的方式,因為可以避免項目之間的沖突。
TP在以前的版本的基類Base類,當時就和一個整合Ucenter時的類沖突了,一度很苦惱。現在TP的各種基類仍舊是直接命名,如Think 類。在項目開發過程中就會體會命名沖突的痛苦之處。Yii則在框架的類都加上了C前綴(介面是I前綴),有效地避免了這個問題。Yii中的 CComponent是所有類的基類,可以看看CComponent的代碼,很有用。
說到命名問題了,就不得不說自動導入的問題。TP的類導入和Yii的代碼風格差不多。但是Yii還支持PHP的命名空間和自定義autoload方法。
TP有個特色叫項目編譯。我覺得與其使用項目編譯,還不如使用APC。在Yii中也有個yiilite.php文件,裡面就包含了Yii的所有核心類。Yii作者表示在沒有APC的情況下,還是不要使用這個「編譯」好的文件,因為反而會增加系統開銷。
TP中還在第一次訪問的時候自動生成項目,我覺得這一點和自動編譯一樣,都是我不喜歡的。我對每添加一個if都很敏感,這種判斷讓我很糾結。比如說 TP在每次運行的時候都要檢測PHP版本,而Yii則單獨做了一個內容更詳細的環境監測腳本。我既然要用這個框架,我在第一次使用的時候,肯定就知道能不 能在當前環境上使用了,為什麼要每次都要檢測呢。當時我就說過,TP為用戶做了太多事情。比如舊版本中的TopN函數。
Yii的組件思路是非常不錯的,用起來十分地舒服。從session到cache,你可以無縫地更換所有的組件而無需重構項目。而且Yii的延遲加 載也做得比較徹底,每個組件都是用到的時候才載入。比如,TP中,如果配置了session自動打開,則TP在應用初始化的時候執行 session_start()。而Yii則是你用到session的時候才打開session。
說到項目的配置文件,TP要求是config.php,而Yii則比較靈活,支持多配置文件。
當初TP很推崇自己的ThinkAjax,現在也改用JQuery。這一點是進步。
TP做了很多小實例,這一點值得Yii學習。Yii在這一方面正在有一個叫yii playground的實例網站在開發中(http://code.google.com/p/yiiplayground/)。
TP的動態模型可以實現不需要定義Model。但是在實際的項目中,我更傾向於使用Yii的方式。順便說一句,將label定義在model中,為我的日常開發帶來了許多方便之處。
剛才提到TP的項目自動生成,Yii中也有這種工具。而且比起TP,Yii的工具更加強大而且可擴展。
從TP的代碼中,有人可以看出其作者熟悉JAVA。而從Yii的代碼中,有人會發現其作者熟悉.Net。這常常是我身邊人看到代碼的時候發生的小插曲。
Yii封裝了大量的頁面控制項和類庫,也是Yii如此吸引我的一點。這是TP短期無法比擬的,在TP的使用過程中總遇到這樣那樣的問題,讓我感覺TP對我反而是阻礙。而Yii真的是,舒服,實在是太好用了!
無論從代碼規范、設計思路、類庫豐富程度上來說,TP都遠遠不及Yii。有人說你看TP多簡潔,Yii太臃腫了。錯了!簡單和簡潔不是一回事。TP 那叫簡單,你讀讀Yii的代碼吧,那才叫簡潔。至於臃腫,去看看Zend Framework就知道了。(順便說一句,我很喜歡Zend Framework,它是學習設計的典範)
說到讀代碼。對於程序員真的很難嗎?讀寫得好的代碼應該是一種享受才對。Yii的學習曲線是比TP高那麼一點點,但是對比Yii的巨大優勢而言不算什麼了。而且,我認為在遇到學習困難就退縮或者認為Yii就像天書一樣的人,還是轉行吧。
以上是應一篇評論所寫的。對比TP1,現在的TP2的確有了很多進步,但是還是存在一些問題。對比Yii……,TP真的沒有可比的能力。抱歉讓TP的fans失望了。
那就下定論了嗎?不,不是的。從類庫到框架,再到解決方案。什麼是最好的?每一個人都有不同發說法,這是因為每一個人的思維習慣不同,遇到的問題不同,問題所在的環境也不同。怎麼能奢求所有人都有同一個選擇呢?
還是那句,適合,就是最好的。對我來說,Yii是最好的。

閱讀全文

與phpyii項目相關的資料

熱點內容
有免費編譯軟體嗎 瀏覽:916
java互聯網公司 瀏覽:70
對弈下象棋的app哪裡好 瀏覽:707
有什麼食譜app推薦 瀏覽:471
python實現動態口令 瀏覽:825
我的世界電腦伺服器地址怎麼添加 瀏覽:850
傳奇地圖怎麼加密到pak 瀏覽:977
linux刪除mysql用戶 瀏覽:755
圖案設計pdf 瀏覽:584
pdf編輯器在線 瀏覽:471
華為雲雲耀伺服器如何關機 瀏覽:994
數字加密的歷史 瀏覽:613
宏傑文件夾打不開 瀏覽:819
施工日記app哪個好 瀏覽:566
什麼是壓縮機的排氣量 瀏覽:538
在哪個app可以預約一科考試 瀏覽:634
易語言vmp加殼源碼 瀏覽:513
閱讀前端框架源碼 瀏覽:14
我的世界命令方塊傳送指令 瀏覽:545
不能用start命令打開xp 瀏覽:927