最近忙成狗了,很少挤出时间来学习,大部分时间都在加班测需求,今天在测一个需求的时候,需要对比数据同步后的数据是否正确,因此需要用到json对比差异,这里使用deepdiff。...一般是用deepdiff进行对比的时候,常见的对比是对比单个的json对象,这个时候如果某个字段的结果有差异时,可以使用exclude_paths选项去指定要忽略的字段内容,可以看下面的案例进行学习:...那么如果数据量比较大的话,单条对比查询数据效率比较低,因此,肯呢个会调用接口进行批量查询,然后将数据转成[{},{},{}]的列表形式去进行对比,那么这个时候再使用exclude_paths就无法直接简单的排除某个字段了...从上图可以看出,此时对比列表元素的话,除非自己一个个去指定要排除哪个索引下的字段,不过这样当列表的数据比较多的时候,这样写起来就很不方便,代码可读性也很差,之前找到过一个用法,后来好久没用,有点忘了,今晚又去翻以前写过的代码记录...,终于又给我找到了,针对这种情况,可以使用exclude_regex_paths去实现: 时间有限,这里就不针对deepdiff去做过多详细的介绍了,感兴趣的小伙伴可自行查阅文档学习。
//这里不能写和数据库中表的字段一致的属性,否则会在控制器中显示数据库内容时,显示这里的属性值,而不是数据库的内容值 <...php //如何启动这个控制文件:运行web/index.php?...::$app->request->post()) { //获取用户输入的值...$model->name=\yii::$app->request->post('name'); $model->password=\yii::$app->request->post('password...'); //保存到数据库 $model->save(); return
最近在研究 yii2 如何搭建 restful api,将心得写下,欢迎一起讨论 使用yii2.0.13 advanced 版,将 frontend 整个作为 api 接口项目,除了接口的路由规则可以认证通过外...,其他的路由规则都返回请求错误的格式 1、数据库结构 CREATE TABLE `goods` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT,...errorHandler 配置(整个 frontend 都是接口,不需要 html 的响应格式) 9、将内容协商配置到引导文件中(因为整个 frontend 都需要) 'bootstrap' => [.../json' => yii\web\Response::FORMAT_JSON, 'application/xml' => yii\web\Response::FORMAT_XML..., //api 端目前只需要json 和 xml //还可以增加 yii\web\Response 类内置的响应格式,或者自己增加响应格式
给mysql数据库表添加字段后,立即使用这个字段时会出现未定义的情况(Getting unknown property) 原因:yii 对数据表结构进行了缓存。...获取url中的host信息: # http://localhost Yii::$app->request->getHostInfo() 获取url中的路径信息(不包含host和参数): Yii...has been created', Logger::LEVEL_INFO); Yii2 获取接口传过来的 JSON 数据: \Yii::$app->request->rawBody; 有两种方式获取查询出来的...::dump($var, 10 ,true);die; restful 获取 GET 和 POST 过来的数据(得到结果是数组): // post Yii::$app->request->bodyParams...数据库结构 订单表order含有字段customer_id 与 客户表customer的id字段关联 首先确保在Order Model中包含以下代码: public function getCustomer
三、删除Github中已有的仓库(即删除远程仓库) 三箭齐发,太累了,以下演示仅以GitHub为例。其余的同理。 如果我们想要删除Github中没有用的仓库,应该如何去做呢?...四、将远程仓库Clone(下载/复制)到本地 注意1:演示我们使用连接仓库的客户端软件是:Git Bash 注意2:演示我们使用连接仓库的方式是:https 1、远程仓库地址的由来如下: ?...注意: git pull (从远程仓库中pull下来的项目放到的是本地的缓存里。) git clone 远程仓库地址 (从远程仓库中clone下来的项目放到的是本地的磁盘里。)...七、如何使用git将本地仓库连接到多个远程仓库 1、先在GiuHub(国外)、Gitee码云(国内) 和 Coding(国内) 上分别新建一个远程仓库,参考“二、创建远程仓库”。...master 九、参考连接 Git将本地仓库连接多个远程仓库:https://blog.csdn.net/qq_36667170/article/details/79336760 GitHub
在网上搜了很多yii2图片上传插件,感觉这个和bootstrap融合的很好,比较能满足需求,故推荐给大家。 在使用过程中踩过不少坑,以下是具体使用说明。...开始前准备过程 $ php composer.phar require kartik-v/yii2-widget-fileinput "@dev" or 在 composer.json 增加 "kartik-v...$uploadNo = Yii::$app->request->post('upload_no', ''); //针对修改商品图片 $goodsId =...$filedetail; if ($file->saveAs($filePath)) { //这里将上传成功后的图片信息保存到数据库...::$app->request->post('key')) { Yii::$app->response->format = \yii\web\Response::FORMAT_JSON
// 使用CDbDataReader对象的bindColumn()方法将结果集中的列绑定到PHP变量。...} // 设置表前缀,使用 CDbConnection::tablePrefix 属性在配置文件中设置 // // Yii实现了把一条完整的SQL语句完完全全肢解的能力,比如这样: $user =...使用form() 如果制定了多个表需要使用逗号分隔的字符串,就像原生SQL语句那样: from('tbl_user, tbl_post, tbl_profile'); // 当然,你也可以使用表别名,...// Active Record // 使用AR以面向对象的方式访问数据库,AR实现了ORM技术 // 当Post类表示表tbl_post时,我们可以使用这样的方式插入一条数据 $post = new...pk,$condition,$params); // 数据验证 // 将用户提交的数据保存到AR对象中 $post->title = $_POST['title']; $post->content =
第一步: 注册:核心代码: /*注册*/ /* $request = \Yii::$app->request; $username = $request->post('username...'); $password = $request->post('password'); \Yii::$app->db->createCommand()->insert('...第三步:第一次登录的时候生成token:然后我们可以拿着这个token去登录,不需要用户名+密码了.这相当于一个识别吧. 生成token的核心代码(并把token插入到数据库中)。...$authKey); } 第四步:带token的登录:(数据库中的token与输入的token保持一致就可以登录了),并显示登录的是谁???...($username,"使用token登录成功"); }
YII中的RBAC权限,用数据库存item, 在system/web/auth下找到相应的sql导放到数据库中 配置 ?...theme 在main.php中配置 复制代码 代码如下: 'theme'=>'classic', 如何得到当前使用的主题 复制代码 代码如下: Yii::app()->theme 得到名子 复制代码...(0);//禁止角本超时 如何想把手工的东西记录的数据库 main.php中配置log ?...建议在以后的项目中form都用这个来实现 layout/中的视图是可以继承的 复制代码 代码如下: 中的POST的表单状态 如何通过BEhavior修改CActiveRecord?
yii2在使用的时候,访问控制器的时候,如果控制器的名称是驼峰命名法,那访问的url中要改成横线的形式。...刚开始以为YII2中肯定有这样的设置,然后就去google了下,发现都说不行,自己去看了下,果然,框架里面直接是写死的:(源码)\vendor\yiisoft\yii2\base\Controller.php...由于我们的项目用的事yii2的advanced版本,并且里面有多个项目,还要保证其他项目使用正常(也就是个别的控制器才需要使用驼峰命名的方式访问),这也容易: 我们可以写个components处理:\common...ok ,这就可以支持使用驼峰形式访问了,当然这个的形式很多,也可以写成一个控制器,然后其它控制器继承这个控制器就行了,但是原理是一样的 如何使用? ...是需要用驼峰命名形式访问的控制器中,继承下这个zController就可以了, ? <?php /** * Created by PhpStorm.
composer.json文件内容 laravel { "name": "laravel/laravel", //name表示包的名称,由作者名、项目名组成, //用'/'分割.../包的类型,默认为库library,composer原生支持4中类型:“library”将文件复制到vendor目录。...//“project”当前包是一个项目,"metapackage" 和 "composer-plugin" "require": {//表示必须安装的依赖包列表,这些包必须满足条件,否则不会安装..."psr-4": { "Tests\\": "tests/" } }, "extra": { //表示scripts使用的任意扩展数据...": [ "yii\\composer\\Installer::postInstall" ], "post-create-project-cmd
这篇说下yii2.0开发 API 吧,使用 RESTful API模式 安装Yii2.0 通过 Composer 安装 这是安装Yii2.0的首选方法。...init 修改数据库连接属性 打开 common\config\main-local.php,配置数据库连接信息 'db' => [ 'class' => 'yii\db\Connection...启用JSON 输入 配置 request 应用程序组件的 parsers 属性使用 yii\web\JsonParser 用于 JSON 输入 打开配置文件 api\config\main-local.php...看起来在控制器了什么也没有写,只是指定了一个模型,但是她的背后完成了很多的功能哦,列表如下: GET /users: 逐页列出所有用户 HEAD /users: 显示用户列表的概要信息 POST /users.../users/123 支持的动词 如何访问呢 你可以使用 curl命令进行访问,命令如下: curl -i -H "Accept:application/json" "http://localhost
本文讨论通过composer工具安装Yii2框架并优化Vendor过程中遇到的问题,约定读者对composer基本原理有一定了解,并且有安装Yii2框架的实际经验。...在Yii2 中,vendor是composer下载的依赖库文件,官方的项目模板代码里只有其自己的项目文件,而其依赖的yii框架等类库,都记录在composer.json里面,只要安装好composer,...2 自己安装的Yii2的项目中,vendor中的包在composer.json 中找不到对应,而这些包大多是暂时不需要用到的,该如何remove,保持vendor最小化?...这个命令是优化composer包的关键一环。 3 多个项目在一个工程下时,会不会因为首次加载composer包太多而引起加载的性能问题, 自带的延迟加载是否能够解决这个问题?...composer包的方式输出和维护 composer install 应该是最常用的命令,composer会根据本地的composer.json安装包,将下载的包放入项目下的vendor目录下,同时将安装时候的包版本信息放入到
比如你可能会需要先去掉 username 输入的收尾空格。 你可以通过使用验证规则来实现此目的。 下面的例子展示了如何去掉输入信息的首尾空格,并将空输入返回为 null。...> 幕后的运作过程是这样的:yii\widgets\ActiveForm 会读取声明在模型类中的验证规则, 并生成那些支持支持客户端验证的验证器所需的 JavaScript 代码。...在这段 JavaScript 代码中,你可以使用以下预定义的变量: attribute:正在被验证的模型特性的名称。 value:进行验证的值。...在具体实践中, 你可以使用 in 核心验证器来达到同样的目的。...->isAjax && $model->load(Yii::$app->request->post())) { Yii::$app->response->format = Response::FORMAT_JSON
function_exists('hello')) { function hello(){ echo 'hello word'; } } 修改项目入口文件index.php.../helpers/functions.php'); composer中设置加载(推荐) 在 composer.json 文件里面添加如下代码: "autoload": { "files": [...testcomponent' => [ 'class' => 'app\components\MyComponent', ], ] 下面就可以愉快的使用...要在应用中使用模块,只需要将模块加入到应用主体配置的yii\base\Application::modules属性的列表中, 如下代码的应用主体配置 使用 forum 模块: [ 'modules...模块其他配置 ... ], ], ] 访问路由 forum/post/index 代表模块中 post 控制器的 index 操作
的字段, 1.直接在你的数据库中新增 access_token 字段。...2.使用数据迁移的方式 进入项目根目录打开控制台输入以下命令: php yii migrate/create add_access_token_to_user 打开 你的项目目录/console/migrations...ok,不出意外的话,相信你已经可以收到一个access_token了,接下来就是如何使用这个token,如何维持认证状态,达到不携带这个token将无法访问,返回401 维持认证状态 实现认证只需两步:...在你的 REST 控制器类中配置 authenticator 行为来指定使用哪种认证方式 在你的 user identity class 类中实现 [yii\web\IdentityInterface...200 ,具体的可另行配置,假如登陆操作 密码错误或者其他,我们可以在控制器中这样使用: $response = Yii::$app->response; $response->setStatusCode
前面我们讲述了yii2中如何使用modal以及yii2 gridview列表内更新操作如何使用modal的问题,本以为modal要告一段落可以开始新的话题了,但是实际问题往往超乎想像,这不modal弹窗提交的表单说是怎么验证的问题又出来了...yii2中,ActiveForm默认做了客户端验证,但是表单的提交,却不是无刷新的。也就是常常看到的表单提交后页面会刷新。...() { Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; $model = new Model(); /.../这里要替换成自己的模型类 $model->load(Yii::$app->request->post()); return \yii\widgets\ActiveForm::validate...::$app->response->format = \yii\web\Response::FORMAT_JSON; return \yii\widgets\ActiveForm::validate
’的概念,尝试使用‘对象’进行数据的使用,或者使用’db’方法进行数据库的操作,也提醒一下部分‘滥 用’’toArray’的开发者,’all’或’select’结果是对象的数组集合,是无法使用’toArray...b、无论require的位置如何,制定文件都将包含到出现require的脚本中。例如,即使require放在计算结果为假的if语句中,依然会包含指定文件。 介绍下GET和POST?...post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 3....post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。...建议: 1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式; 2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式; 如何获取指定网址里的
创建并且保存数据到数据库中的接口叫做表单接口 sql: -- phpMyAdmin SQL Dump -- version 4.5.1 -- http://www.phpmyadmin.net --...-- -- -- Indexes for table `article` -- ALTER TABLE `article` ADD PRIMARY KEY (`id`); -- -- 在导出的表使用...AUTO_INCREMENT -- -- -- 使用表AUTO_INCREMENT `article` -- ALTER TABLE `article` MODIFY `id` int(100)...'cookieValidationKey' => 'qixaipxaipscn', 'parsers' => [ 'application/json...::$app->request; $article->id = $request->post("id",""); $article->name = $request->post
Yii2 RESTful API 实战教程 这篇说下yii2.0开发 API 吧,使用 RESTful API模式 安装Yii2.0 通过 Composer 安装 这是安装Yii2.0的首选方法。...init 修改数据库连接属性 打开 common\config\main-local.php,配置数据库连接信息 'db' => [ 'class' => 'yii\db\Connection...启用JSON 输入 配置 request 应用程序组件的 parsers 属性使用 yii\web\JsonParser 用于 JSON 输入 打开配置文件 api\config\main-local.php...看起来在控制器了什么也没有写,只是指定了一个模型,但是她的背后完成了很多的功能哦,列表如下: GET /users: 逐页列出所有用户 HEAD /users: 显示用户列表的概要信息 POST /...: 显示有关末端 /users/123 支持的动词 如何访问呢 你可以使用 curl命令进行访问,命令如下: curl -i -H "Accept:application/json" "http://localhost