新建了一个modules 程序默认走的Default控制 怎么设置让它默认访问Set 控制器呢
在你的 IndexModules.php
加上
这行代码,即可。
见: vendor/yiisoft/yii2/base/Module.php
新建了一个modules 程序默认走的Default控制 怎么设置让它默认访问Set 控制器呢
在你的 IndexModules.php
加上
这行代码,即可。
见: vendor/yiisoft/yii2/base/Module.php
对于一些js css image这类的一般使用一个单独的文件夹存放,如assets 或者 static 文件夹集中存放,那么如果定义此路径信息,还有如果使用独立的域名的话,又应该如何设置的。我下载的官方实例,没有找到在哪里设置这个的,只找到AppAsset.php文件,也看了官方的文档http://www.yiichina.com/doc/guide/2.0/structure-assets
这里@webroot和@web系统预定义别名,只是没有找到在哪个地方设置的静态资源使用 web/asset/xxxx 目录。
<link href="/assets/cec35f56/css/bootstrap.css" rel="stylesheet">
直接给你源码你明悟吧
public function actionIndex(){
$student = Student::model()->findAll();
usort($student,'sortByCreateTime');
}
public function sortByCreateTime($a,$b){
return $a->create_time>$b->create_time?1:-1;
}
这样写报找不到该方法的错误?有人知道怎么用吗?
usort($student, array($this, 'sortByCreateTime'));
试试
没用过这函数,看了一下手册,不知道是不是第一个参数要传引用。\usort($student,'sortByCreateTime');
函数名称前把你的命名空间带上
在使用Gii生成CURD过程中。
viewpath填写成@app\views\resource就好了
如果你控制器的命名空间是api\controller,那么路径用api\views别用app
@app/views/resource 这样些是可以的 我也遇到了这个问题 也是生成到了web的目录下面了 最后在viewpath路径里加个@ 然后再把\改成/ 就可以了
YII怎么使用filters? 想要在执行每个action之前,都执行一段代码。
例如,加载权限,添加日志。怎么弄。请各位大大指导!
在Controller里面加一个beforeAction就可以了,所有action执行前都会调用这个方法先的
可以预先建立一个父类,在父类中进行控制
权威手册:“Pjax: TBD link to demo page” ,不理解。给点指导,有相关教程么 ?谢谢!
如果不采用类似 $model->find('id=:id', [':id'=>1])
,而是直接采用 $model->find('id=1')
的写法可以防止注入攻击吗?
访问地址
代码如下
结果返回
可以看到YII自动进行了SQL防注入,所以是安全的
如果id是在程序里写死的,不是外部传递来的,那么$model->find(‘id=1’)这么写是可以的;
但是id一般都是从外部传递的,所以model->find(‘id=1’)是有风险的
问题:
直接把两个class放到公共的model里面不就行了,直接new就可以了
在写relation的那个model里把你需要实现的功能逻辑封装好一个方法,这边调用可否
建议公共类吧,yii 1.1这个版本的自动加载机制没那么强大
class MapCommand extends CConsoleCommand
{
public function run()
{
这里怎么写啊?
}
}
$ crontab 每月执行一次,这里怎么写?
插入
代码如下:
1 * * * * /home/php/bin/php -f /home/apps/protected/commands/crons.php Test &
你直接写好php,linux下用crontab调用不就行了
不知所云~
难道不是先写好实现功能的php 然后在服务器里面设置 crontab?
请教个问题Yii2里面怎样通过一个标签的name值获取他的id值 就类似于Yii1里面的getIdByName这个
yii\helpers\BaseHtml
里面有一个getInputId
方法类似Yii1的resolveNameID
。
不过,不是很清楚你想问的是什么?
是通过js获取吗?
如果是js试试这个: