谁一开始就是大神?

PHP 第45页

PHP

怎样快速知道一个类的使用方法[2.0]

Kindsea阅读(43)

<?php $form = ActiveForm::begin([
    'fieldConfig' => [
        'template' => '{error}{input}',
    ],
]); ?>

比如说这一段代码,我是看视频才知道可以这样写的,自己通过查找类文档中文文档都没有发现可以这样写的参数,
那我们如何知道这样的方法呢?难道去看框架代码!那些对yii2框架很熟悉的人他们又是怎么知道的呢?

可以去看yii2的api文档
http://www.yiiframework.com/doc-2.0/yii-widgets-activeform.html
http://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html
或者直接看源码,其实看源码才是最直接的。

怎样在modelB中引用modelA中义的变量[2.0]

Neofrog阅读(51)

在model A , afterSave()函数中定义一个变量 $x,
怎样在model B 中引用$x

如果变量 $x 具有代表性意义的话,你可以在 model A 中声明一个属性。
然后在afterSave()中以变量 $x 为这个属性赋值;
接下来你就可以在model B 中

UrlManager的rules问题[2.0]

Neoyak阅读(50)

1.png

2.png

我想通过Html::a访问这个URL,一直获取不到URL的参数值,请问我的UrlManager中的rules该怎样修改?

你理解错了a的用法:你这个参数不是URL的参数,是a的参数哦;你改为:Html::a('点击about',['about','params'=>'about1','id'=>'about2']);
Html::a('点击about',['about','params'=>'about1','id'=>'about2']);

sublime显示缩进线

LvyJames阅读(56)

sublime 缩进线
在哪里设置可以显示出来。

打开 Preferences -> Settings-Default
无标题.png
在里面搜索indent_guide该关键字,会找到两个结果
1.png
此时你如果设置成和我上面截图一样的的话,就会呈现下面的结果
2.png
你会看到两个红框中的白线一个“深”,一个“浅”,“深”是由于我的鼠标放在了那个函数上,这个效果是由
“indent_guide_options”: [“draw_normal”,”draw_active”],中的”draw_active”发挥的作用,如果你改为
“indent_guide_options”: [“draw_normal”],那么呈现出来的都是“浅”的。
好了,若果有其他不太懂的再交流吧!
是有的但不明顯, 想要明顯的話
第一 : Indent Guide Color
第二 : Hide tab lines
你要的是这种效果吗?捕获.PNG
有没有人遇到过 ubuntu 环境线的sb 缩进线出问题的情况。
目前是这样的 2017-03-06 16:01:57屏幕截图.png
这个线没有跟我设置的缩进tab(4个空格)匹配,导致代码折叠出问题了

yii2basic上传图片怎么做啊[2.0]

Wendydear阅读(54)

yii2 basic 上传图片求指教,新手哇,谢谢

1.如果你会用composer,可以从Github上安装这个插件,传送门
或者看白狼栈大大的这篇文章
2.如果不会用composer安装插件要自己写上传,参考这篇文章吧
如果你仅需要上传文件,那么没有比http://www.yiichina.com/doc/guide/2.0/input-file-upload更适合你的了。
上述链接依旧可以完美解决你的问题的。当然,在你预览图片时可能额外需要一个库。它会很不错
https://blueimp.github.io/Gallery/
但是,你现阶段的问题应该还是文件上传,然后把上传之后的路径存入数据库。所以你无需任何插件。

yii2.0中jquery引入问题[2.0]

HazelStone阅读(54)

求问怎样在yii中引入自带的jquery文件?

YII 默认是引入JQ的,因为 yii.js 是依赖于JQ的。你可以在AppAsset中发现如上依赖。
然而你发现你写的JS代码在引入 JQ 的script 的上面。这将导致你书写的JQ代码无效甚至报错。
这很有趣,但是当你发现了原因尝试了许久却发现他们就差几行的距离却死活调换不了位置时。你会很蛋疼。
而解决的方式是你可以把JS代码放入到视图中的 $this->registerJS()中,这将确保JS代码是处于JS库的下方。这看起来像是酱紫的:
当然,你的JS代码或许不会如此简单。而确保多行JS代码的可读性。你可以先放到 视图 的 代码块 中,如下所示:
如果是yii2,你右键查看下源代码,我没记错的话,他默认就引入了
默认引入了,

关于联表查询/插入的问题[2.0]

lovelyFox阅读(54)

我知道,在进行联表查询时,在控制器里要有$model=User::find()->joinWith(‘userinfo’);
如下:

//后台显示注册会员列表
    public function actionList(){
        $model=User::find()->joinWith('userinfo');
        $count=$model->count();
        $pageSize=\Yii::$app->params['pageSize']['user'];
        $pager=new Pagination(['totalCount'=>$count,'pageSize'=>$pageSize]);
        $users=$model->offset($pager->offset)->limit($pager->limit)->all();
        return $this->render('list',['users'=>$users,'pager'=>$pager]);
    }

同时在model-User里要加上:

public function getUserinfo(){
        return $this->hasOne(UserInfo::className(),['userid'=>'id']);
    }

在视图里显示的时候要在关联的表字段加上…->userinfo->…
如下:

<?php foreach($users as $users): ?>
<tr>
    <td class="center"><?php echo $users->id;?></td>
    <td class="center"><?php echo $users->userinfo->loginip;?></td>
    ......
</tr>
<?php endforeach;?>

但在注册的时候,如何在插入数据到user表的同时(或者之后),插入数据到userinfo表?
我现在的思路是:1.先插入user表,再用该插入进数据表user后对应的id来插入到userinfo表(但是这样可能插入不同步造成会员列表页报错,因为会员列表页有$users->userinfo->loginip,而这个又得和user表一一对应)?2.在插入user表的同时插入userinfo表(也就是用事务),但是这有个问题:怎么获取插入user表的数据的自增主键id?(因为事务是同时执行的,也就是user表都没插入呢,怎么知道User的Id?)
或者还有什么更好的思路?

你要知道$model->save()成功之后返回的就是主键ID。这儿事务的同时指的是大家一起成功或者一起失败,如果info保存失败,那么user->save()也会失败,所以不要担心获取不到id。
所以,你可以在userinfo的model里,加一个生成用户资料的方法:
然后在注册的model里加上

Yii2注册账号时账号输入框自动判断里面的内容是否已存在?[2.0]

kenFox阅读(56)

在Yii/frontend/web下的注册页面可以同时该账号已存在
model里面代码是:

['username', 'trim'],
['username', 'required'],
['username', 'unique', 'targetClass' => '\common\models\User', 'message' => '这个用户名已经被采取。'],
['username', 'string', 'min' => 6, 'max' => 16],

这个原理是在\common\models\User里面,但我照着他的写没反应,请问这个原理的意思是怎样实现的?

当然,你发现了当你输入用户名密码并且点击提交按钮获取用户名存在的提示时,页面几乎原封不动。这很有趣。但这和验证用户名唯一是没有关系的,这其中大多数是ActiveForm的功劳。
至于你照着写却没反应,这涉及到了非常之多。不好猜测。
不过建议你参考下这篇 http://www.yiichina.com/tutorial/965 去花费 30 秒完成YII2的登录注册然后观察其注册完整流程,这会很有帮助的。
具体去看下验证规则的代码呀。
在yii目录下是有的,在UniqueValidator.php文件中
有一种是当你输入完名字之后,直接判断是否存在。(不是说点了注册才开始判断)
那么这种做法是,开启ActiveFormenableAjaxValidation
然后在controller里添加一个ajax验证字段

session的bug吗?[2.0]

Gracenice阅读(50)

  • yii2的advance版本
  • 快速点击后台菜单,就会报错,需要从新登陆

AMJ.png

和你的session存储有关,如果是默认文件存储,可能是磁盘性能太差了。

yii2.0的ActiveForm的样式问题--[2.0]

lovelypony阅读(49)

我不想玩bootstrap啊。。。。但是这绑定的太深,我想自己去自定义表单的样式,和错误显示的位置,或者让错误弹出来,该怎么办啊,哪位大虾能给出一个解决方案。

那你应该摒弃ActiveForm,而这并不会影响模型在服务端的作用。
你依旧可以以模型验证数据合法性并且存入数据库。而如果某项数据不合法。你也可以通过 模型 的 errors 属性获取不合法原因并且返回给前端。
然后自由你的前端。
默认就给了自定义的选项呢
验证这一块同样不理解

登录

找回密码

注册