㈠ Yii2 可以更換 jQuery 的版本嗎
不用修改 php 代碼,配置好了更新下就行。
兩種方式:
簡單,但不推薦!
不使用 composer 的情況下,手動更換 vender/bower/jquery 裡面的源碼。
缺點就是不好更新,一切靠人來管理。
依靠配置,推薦!
在使用 composer 的情況下,修改項目 composer.json 的 require 項目,添加一行:
json
"bower-asset/jquery": "1.11.*@stable"
添加完畢後通過 composer 更新下即可,命令行:composer.phar update bower-asset/jquery。
缺點:需要 composer
優點:隨意更新~
㈡ yii2.0獲取到最後一條執行的sql怎麼看
這個有很多種方法
1. yii有提供一個getRawSql方法 比如說一個查詢
$query=User::find();
$query->select(['username','age'])->where(['id'=>1)->one();
echo$query->createCommand()->getRawSql();//輸出sql語句
2.可開啟yii2的debug模塊,這個功能很強大,在裡面可以查到當前頁面所有的sql信息,具體配置方法自行網路,網上太多這個配置了
3.查找Yii源碼 隨便找個模型調用原生的方法 比如 User::updateAll 方法,通過編輯器定位到updateAll方法的源碼 你會發現下面一段代碼
publicstaticfunctionupdateAll($attributes,$condition='',$params=[])
{
$command=static::getDb()->createCommand();
$command->update(static::tableName(),$attributes,$condition,$params);
return$command->execute();
}
繼續定位execute方法
publicfunctionexecute()
{
$sql=$this->getSql();
$rawSql=$this->getRawSql();
Yii::info($rawSql,__METHOD__);
if($sql==''){
return0;
}
$this->prepare(false);
$token=$rawSql;
try{
Yii::beginProfile($token,__METHOD__);
$this->pdoStatement->execute();
$n=$this->pdoStatement->rowCount();
Yii::endProfile($token,__METHOD__);
$this->refreshTableSchema();
return$n;
}catch(Exception$e){
Yii::endProfile($token,__METHOD__);
throw$this->db->getSchema()->convertException($e,$rawSql);
}
}
方法里$rawSql就是最原生要執行的sql拉,在這里打斷點輸出就ok
個人推薦第二種方法,最方法最高效,具體配置方法自己網路,很簡單!
㈢ yii框架調用介面代碼一般放在哪個目錄下
1,項目目錄結構分析
2,Yii入口文件分析
在Yii啟動項目時,傳遞了項目主配置文件數組,那麼Yii會在整個應用中綁定一個全局的Yii對象並且可以通過如下方法來調用該對象:Yii::app()
Yii系統把配置文件中的數組值,通過鍵值對的形式綁定到了該對象上,例如在配置文件中我們配置了:
'name'=>'My Web Application',
那麼我們在項目的任何一個地方通過該對象的屬性就可以獲取到「name」的值,方法為:
Yii::app()->name;
3,Yii路由設置
同時應該知道:對於控制器名,Yii首先會檢測當前的控制器名是否是一個「模塊名」,如果是模塊名則先定位到模塊。
「模塊」會在後面搭建項目的時候解釋。
通過上面的路由訪問到的就是:SiteController.php類文件下的SiteController類中的actionIndex方法
控制器文件位於:protected/controllers 目錄下,也就是我們的控制器文件存放目錄
注意Yii中控制器文件和動作方法名的書寫方式,控制器有統一的後綴」Controller「,動作方法也有統一的前綴」action「,同時要求動作方法名的命名規范符合」除第一個單詞外其它每個單詞的首字母要大寫「
由於Yii默認的控制器名為:site
默認的動作名為:index
因此上述通過指定控制器名動作名訪問的路徑和直接訪問:http://localhost/testyii/ 的效果是一致的
4,視圖調用
在動作方法中,調用:$this->render('index');
來為對應的動作方法指定視圖文件,視圖文件位於:protected/views/site 目錄下
其中:site為對應的控制器名文件夾,每個控制器名在視圖中都應該具有一個唯一的文件夾名與其相對應
然後在動作方法中通過『index'來指定顯示的具體視圖文件是site控制器下的指定的『index.php'視圖文件
另外還需要注意:
調用視圖的方法有兩個:
$this->render ----> 會調用模板文件
和
$this->renderPartial -----> 不會調用模板文件
它們之間的區別,也如上所述。
㈣ 通過composer安裝yii2問題
語法:「curl -sS https://getcomposer.org/installer | php中bin目錄里的php可執行文件路徑」
我這里的php可執行文件所在路徑是/usr/local/php/bin/php
所以實際安裝命令如下:
curl -sS https://getcomposer.org/installer | /usr/local/php/bin/php
為方便日後使用將其移動到本地系統可執行文件目錄 並重新命名為 composer(這樣以後執行命令時就不用寫composer.phar那麼長的名字,直接寫composer就可以了)
mv composer.phar /usr/local/bin/composer
㈤ yii 2 相比yii 1.1.x 有什麼變化
大致思路不會變,開發流程變化也不是很大。有變化的是1、yii2帶入的PHP5.4的特性,引入了namespace解決命名沖突,因此基類不會再C字開頭了2、不再所有類都繼承自組件Component,而是選擇繼承object和component(也繼承自object,但帶有事件功能、以及用於擴展的Behavior功能)3、更加的MVC,原先的view層其實基本算是controller直接include進來的,現在有了view的類用來控制,因此View層在使用Controller帶來的參數的方式稍有不同。4、yii2分基本版(看上去和1差不多)和高級版(分前台和後台),高級版更加適合開發大型項目。5、其他的都是細節方面的變化,比如塊賦值(基本用於收集表單數據)更加方便了。安裝完畢界面就自帶bootstrap風格了,等等等等。
㈥ 免費開源的「多用戶商城系統」有哪些
網上的免費商城系統一般是存在以下幾種情況:
1、供學習和交流使用
許多網上的免費商城系統都是發布者發布到網上供學習交流使用的,並且會表明不能投入商用,否則將會以侵犯他人知識產權收到法律制裁。
2、是開發商作為引流的噱頭
還有一些免費的商城系統是開發商用來引流的噱頭,這類商城系統一般都是有規定的使用期限,超過期限則需要繳費才能正常使用;又或者是系統本身功能不完全開發,企業要想使用一些重要的功能則需要付費才能使用。
3、商城系統本身存在缺陷
此外還有一些免費的商城系統本身是存在一定的缺陷的,有可能是半成品甚至是失敗品,是無法正常使用的。
㈦ yii2不用安裝直接在lnmp環境上怎麼跑起來
如果源碼編譯安裝,貌似很厲害,其實還不如用包管理器方便,而且你編譯安裝的路徑不一定符合 linux 標准目錄結構(http://hounwang.com/lesson.html)
以下是安裝方式,請一行一行執行,並觀察執行日誌
wget http#//nginx.org/keys/nginx_signing.key(#改為:)
apt-key add nginx_signing.key
編輯/etc/apt/sources.list,加入以下內容(根據操作系統的版本,將codename替換成 squeeze 或者 wheezy):
deb http#//nginx.org/packages/mainline/debian/ codename nginx(#改為:)
deb-src http#//nginx.org/packages/mainline/debian/ codename nginx(#改為:)
執行以下語句安裝 nginx | mysql | php
apt-get update
apt-get install nginx
apt-get install mysql-server
apt-get install php5-fpm
更多問題到問題求助專區(http://bbs.hounwang.com/)
㈧ Yii2 Html凈化防止xss攻擊,求大神解釋如下代碼
確保所有輸出內容都經過 HTML 編碼。禁止用戶提供的文本進入任何 HTML 元素屬性字元串。根據 msdn.microsoft.com/library/3yekbd5b 中的概述,檢查 Request.Browser,以阻止應用程序使用 Internet Explorer 6。了解控制項的行為以及其輸出是否經過 HTML 編碼。如果未經過 HTML 編碼,則對進入控制項的數據進行編碼。使用 Microsoft 防跨站點腳本庫 (AntiXSS) 並將其設置為您的默認 HTML 編碼器。在將 HTML 數據保存到資料庫之前,使用 AntiXSS Sanitizer 對象(該庫是一個單獨的下載文件,將在下文中介紹)調用 GetSafeHtml 或 GetSafeHtmlFragment;不要在保存數據之前對數據進行編碼。對於 Web 窗體,不要在網頁中設置 EnableRequestValidation=false。遺憾的是,Web 上的大多數用戶組文章都建議在出現錯誤時禁用該設置。該設置的存在是有原因的,例如,如果向伺服器發送回「<X」之類的字元組合,該設置將阻止請求。如果您的控制項將 HTML 發送回伺服器並收到圖 5 所示的錯誤,那麼理想情況下,您應該在將數據發布到伺服器之前對數據進行編碼。這是 WYSIWYG 控制項的常見情形,現今的大多數版本都會在將其 HTML 數據發布回伺服器之前對該數據進行正確編碼。對於 ASP.NET MVC 3 應用程序,當您需要將 HTML 發布回模型時,不要使用 ValidateInput(false) 來關閉請求驗證。只需向模型屬性中添加 [AllowHtml] 即可,如下所示:
㈨ 在github上面怎麼樣搜索yii2.0開發的網站源碼
這是yiiChina上傳的yii開發源碼
https://github.com/yiichina/yii2
㈩ 如何使用yii2開發
1.安裝PHP環境(略過,自行網路)
2.安裝代碼編輯器(略過,都非常簡單)
3.下載Yii2.0高級框架