我这里有个思路,将CCaptcha生成的验证码图片,通过邮件发送,然后让客户查阅邮件里面的验证码,去填写,这个方法行得通吗?
可以,想办法找到源码中生成验证码的那个方法,获取到验证码值。不如考虑用手机验证,或者写个其他的验证吧。。。何苦去用YII的验证码,感觉yii的验证码不咋滴。你自己写个验证码类都可以,或者网上找个也行啊。
可以可以。。。。。
兄弟你可以先写,遇到问题再问
我这里有个思路,将CCaptcha生成的验证码图片,通过邮件发送,然后让客户查阅邮件里面的验证码,去填写,这个方法行得通吗?
可以,想办法找到源码中生成验证码的那个方法,获取到验证码值。不如考虑用手机验证,或者写个其他的验证吧。。。何苦去用YII的验证码,感觉yii的验证码不咋滴。你自己写个验证码类都可以,或者网上找个也行啊。
可以可以。。。。。
兄弟你可以先写,遇到问题再问
比如我访问了一个不存在的页面 yii2自带的会提示404 not found 他自己的页面 如果通过修改.htaccess文件来修改他输出的页面?其他的方式也可以
非常之简单
可以自定义error页面,只要error页面$this->context->layout = false;
//不使用布局
main.php 里面 修改这个,
Yii2.0 如何修改默认访问器?
基础版本在web.php设置$defaultRoute = ‘默认的控制器名’
在控制器里呀
Array(
[0] => Array
(
[created_at] => 2016-08
[a] => 31900.00
)
[1] => Array
(
[created_at] => 2016-09
[a] => 45400.00
)
[2] => Array
(
[created_at] => 2016-10
[a] => 69489.00
)
)
Array
(
[0] => Array
(
[created_at] => 2016-08
[b] => 21900.00
)
[1] => Array
(
[created_at] => 2016-09
[b] => 25400.00
)
)
怎么合并成下面数组啊
Array
(
[0] => Array
(
[created_at] => 2016-08
[a] => 31900.00
[b] => 21900.00
)
[1] => Array
(
[created_at] => 2016-09
[a] => 45400.00
[b] => 25400.00
)
[2] => Array
(
[created_at] => 2016-10
[a] => 69489.00
[b] =>
)
)
结果 :
以下代码可以满足你的要求,尽管这个要求有点奇怪
从常规索引数组到关联数组,没有想到好办法,只能循环了。
很难判断算法在大数据量时的优缺点
Yii2.0 有没有类似laravel的层级打印函数dd()一样的函数?
VarDumper
如:
vardump 不够用吗?
个人理解是这样的
beforeAction 请求当前控制器时 会首先去执行beforeAction 这个方法 做出过滤验证之类的操作
construct 实例化的时候执行
init 一般在模块中初始化操作? 不能在控制器中用吗?没有试过
从本质上来说,区别就是方法名 和 触发的顺序不同。
如你所说的,在接收到请求并解析时,首先会实例化相关类文件
即首先执行 __construct 中的逻辑代码
根据框架的源码来看,第二步是执行 init 中的逻辑代码
再到 beforeAction
最后才是请求对应的控制器中的actionXxx 。
当然所有的方法都是可以通过继承的方式修改,只需符合框架的逻辑执行顺序即可。 有疑问的话不妨多测试测试
就如你所说,差不多是这样
那你答对了
construct函数的最后一行调用了init()方法,源码参考yii\base\Object
建议从$application->run开始看看整体的流程,看完你就会发现一切都是浮云,当然设计出这道框架的人肯定时拥有不少项目经验的。也可以从 深入了解Yii2开始看起,(搜索关键词。
这个AR搜索分页怎么实现啊
文件上传 多文件
`
验证码
长尾词
view
<?php ActiveForm::end(); ?>
}
controller
使用:
$mail= Yii::$app->mailer->compose();
$mail->setTo(‘*******@qq.com’);
$mail->setSubject(“邮件测试”); //$mail->setTextBody(‘zheshisha ‘); //发布纯文字文本
$mail->setHtmlBody(“
问我我我我我”); //发布可以带html标签的文本if($mail->send())
生成缩略图:
2-1、方法及参数说明
\yii\imagine\Image::thumbnail($filename, $width,$height,$mode=ManipulatorInterface::THUMBNAIL_OUTBOUND)
//参数说明:
$filename 文件的路径
$width 缩略图的宽
$height 缩略图的高
$mode 模式(默认THUMBNAIL_OUTBOUN)
\Imagine\Image\ManipulatorInterface::THUMBNAIL_OUTBOUN 裁剪模式
\Imagine\Image\ManipulatorInterface::THUMBNAIL_INSET 填充模式
2-2、生成缩略图例子
<?php
?>
裁剪图片
3-1、方法及参数说明
\yii\imagine\Image::crop($filename, $width, $height, array $start = [0, 0])
//参数说明:
$filename 文件的路径
$width 裁剪的宽度
$height 裁剪的高度
$start 裁剪的x,y 点
3-2、裁剪图片例子
<?php
?>
添加水印
4-1、方法及参数说明:
\yii\imagine\Image::watermark($filename, $watermarkFilename, array $start = [0, 0])
//参数说明:
$filename 文件的路径
$watermarkFilename 水印图片
$start 裁剪点(x,y)
4-2、生成水印例子
<?php
[‘quality’ => 100]);
//给图片加文字
?>
<?php
namespace frontend\controllers;
use yii\web\controller;
use yii;
class DataController extends Controller{
}
?>
图片处理
//视图层
<?php
?>
<?php
echo LinkPager::widget([
]);
?>
//控制器
public function actionSousuo()
//模型层
<?php
namespace frontend\models;
class File extends ActiveRecord{
public $imageFile;
public $verifyCode;
public function scenarios()
{
return [
‘sousuo’ => [],
‘index’ => [‘verifyCode’, ‘name’,’content’,’imageFile’],
];
}
public function rules()
}
?>
三级联动
无限级
因为才接触Yii,不是很清楚。
现在是这样,已经写好一个商铺(Store)的update方法了。
然后有一个按钮是开启、关闭商铺 即更改status字段。
那我是不是也调用update方法呢,但是如果被恶意或则无意多传入一些store表中比较重要的字段也会跟着
更新,我认为不是我想要的结果 。
我只想只更新我需要的参数,而不是更新调用者传递的所有参数 。
这样是不是要另开一个方法,然后给model赋值?
如果这个接口是更改多个属性,我是不是就要每一个都赋值一次?
感觉有点麻烦,希望有好的解决方案。
unset掉不更新的字段
使用场景,在指定场景只允许更新指定数据。
具体教程网上较多,本站也有很多,请自行查阅。
比如:http://www.imooc.com/article/13668
在提前数据前做一个validator验证 或者写一个rule验证 过滤不必要的参数 如果提交的字段对应数据表 可以使用load 不然 要挨个赋值 也可以将获取的值 取到同一个数组中 将数据组添加到数据表中
你可以尝试使用updateAll()方法,如要
更新store表的status字段,可以参考如下写法:
$param = ‘要更改的值’;
$id = ‘对应的字段id’;
Store::updateAll([‘status’ => $param], ‘id’ => $id);
这时就只修改status的值了,一般用0,1表示开关功能
我学习yii2一段时间了,现在想研究学习yii2源码,但是感觉内容好多,不知从何入手,而且刚刚看了一点点,感觉好难看懂,特向学习过的老手请教,我该怎么去学习yii2的源码呢?
首先 先从yii文档入手 如果觉得文档的80% 你都懂 都知道怎么用 并有一定的自己的想法 那就不妨带着自己的想法 从你觉得可以有想法的那个方法 类 还是什么开始 去解读它 那么恭喜你 就在分析他的源码了
个人觉得这个智力、领悟能力都有关系 反正我是看不下去
边用边看会好点吧
从入口文件看,一点点捋。
此贴已沉…
我将我20多年的功力传授与你
这种问题会有答案吗
吃了这颗灵丹妙药,可以增长20年php功力
别看,会掉好多头发的
传说在深山野林里,有一种叫智慧磨菇 找到它吃了。可以变成世界上最聪明的人。
http://www.yiichina.com/code/546
有这个劲头是好的,估计你是刚开始看吧,个人感觉时间长了肯定会迷茫。孔子 :“学而不思则罔,思而不学则殆”,我看要想真的研究yii框架的源码,为长久的打算,还是找个项目来做,边做项目边研究的好,我目前已经看了好多了,你也可以找到自己适合长久的办法。我在github上有自己yii框架的学习笔记,有空可以沟通一下呢。
说实话,建议你沉淀一下。推荐几本书《php编程》、《modern php》、《深入php:面向对象与实践》。先把基础打牢,再最求更深一步的进阶。引用大神的一篇文章:关于PHP程序员技术职业生涯规划