㈠ 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高级框架