Yii2的配置文件分两级: common级别 站点级别 common顾名思义,通用的配置文件.站点级别会复写common级别的配置,作用域也是站点. 0. config/bootstrap.php 由于...Yii2为了简化开发难度,所以用户定义的目录加载方式全部使用Yii2自己定义的autoload方法(Yii.php中注册的BaseYii.php中的autoload),而不是编辑composer.json...在common级别中,设置的是站点的root.在site中设置的是module的root. 1. config/main.php main里面有比较多的设置项. 0....响应什么呢?...在Yii2中会对部分component内置好'class'字段的配置,也就是说,作为开发人员,你不需要知道这个component对应的对象在哪里,直接配置后使用就可以了.当然如果自己写的话必须指定component
Yii2.0 RESTful API 之版本控制 之前我写过两篇关于 Yii2.0 RESTful API 如何搭建,以及 认证 等处理,但是没有涉及到版本管理,今天就来谈谈版本管理如何实现。...我的理解: Yii2 的版本你可以理解为不同的模块,每一个版本就是一个新的模块,比如常见的v1,v2等。 模块的搭建 关于如何生成模块,我们可以使用GII来进行生成....配置模块 打开 api/config/main.php 文件,修改 modules 'modules' => [ 'v1'=>[ 'class'=>'api\modules\v1...], ], ], ], 试着访问下 http://localhost/v1/users/index ok,以上就是 Yii2.0 版本管理的实现方式 格式化响应...修改 api/config/main.php 在components 数组中添加 response 'response' => [ 'class' => 'yii\web\Response',
Yii2 RESTful API 实战教程 这篇说下yii2.0开发 API 吧,使用 RESTful API模式 安装Yii2.0 通过 Composer 安装 这是安装Yii2.0的首选方法。...输入 配置 request 应用程序组件的 parsers 属性使用 yii\web\JsonParser 用于 JSON 输入 打开配置文件 api\config\main-local.php 修改为如下代码...你可以使用 curl命令进行访问,命令如下: curl -i -H "Accept:application/json" "http://localhost/users" 命令行下还是比较麻烦的,也不方便测试...报错就对了,那是因为我们没有设置其他路由访问 修改 api\config\main.php 'urlManager' => [ 'enablePrettyUrl' => true, 'enableStrictParsing...JSON,加入没有数据局返回的是空的数组,所以这肯定不行啊,我们得加上 一些特定的状态码 来标识这些数据啊,怎么加?
我们返回头再整体回顾下 YII2 框架,你会发现在 YII2 官方的默认模版中,View 层还是占有很大的比重。...API 简单概括 “现在我们使用 YII2,就是在使用它构建 API 的能力。...看一看 YII2 官方文档[2] 列出来的 YII2 关键组成,基本上很多已经退出常见的使用场景。 找到了一个介绍 YII2 微框架,为服务接口而设计的 使用 Yii 作为微框架[3], ?...虽然组件和模块为扩展性提供了便利,引用它们使用的配置,会造成入口 index.php 自动加载的 main.php 文件复杂臃肿,难以维护和阅读。...我们以 YII2 工程为例,官方推荐的 Advanced 模版中有一个公共工程 common 那我们是不是应该把项目中可以共用的数据层都放到 common 里? ?
最近在研究 yii2 如何搭建 restful api,将心得写下,欢迎一起讨论 使用yii2.0.13 advanced 版,将 frontend 整个作为 api 接口项目,除了接口的路由规则可以认证通过外...//api 端目前只需要json 和 xml //还可以增加 yii\web\Response 类内置的响应格式,或者自己增加响应格式 ], ] ], 10...、配置文件中,components 配置 response,返回格式 'response' => [ 'class' => 'yii\web\Response', //设置 api...=> 20, 'res_msg' => 'ok', ]; } } 13、应用入口同级增加.htaccess文件,隐藏index.php,以apache...命令: curl -s -H Accept:application/json http://local.rest.com/v1/goods/search 返回: {"code":20,"msg":"ok
如果找到,则把$output值作为变量$content传递到布局文件 把渲染后的布局文件作为结果返回 如果没有找到布局文件,直接把$output作为结果返回 上面这个布局就是一列布局的页面,现在我们再增加另外一个布局...中使用$layout控制布局文件 yii2与yii在选择布局文件上有一点比较大的不同,yii是既可以在/protected/views/layout/main.php设置布局文件,也可以使用下面语句设置...,但yii2中我没有找到相关的设置文件,只能使用下面方法对布局文件进行设置了,不过下面的方法非常方便,使用起来非常好用。..."main"; //设置使用的布局文件 方案2:控制器成员方法内 $this->layout = false; //不使用布局...= false; //不使用布局 $this->context->layout = 'main'; //设置使用的布局文件 下图是在控制器中调用了一个
在Yii2 中,vendor是composer下载的依赖库文件,官方的项目模板代码里只有其自己的项目文件,而其依赖的yii框架等类库,都记录在composer.json里面,只要安装好composer,...2 自己安装的Yii2的项目中,vendor中的包在composer.json 中找不到对应,而这些包大多是暂时不需要用到的,该如何remove,保持vendor最小化?...'/vendor', 总结 我们在使用compser时需要考虑以下三个问题 1 composer install 和composer update的区别 2 composer版本管理和稳定性 3 公共组件如何以...这个命令要谨慎使用。 如果组件已经使用composer引用到项目中,成为公共组件,需要谨慎使用composer命令,当然需要专人负责维护,不设置共享操作权限。...另外一种思路也是可以尝试的,对于软件安装包的版本,统一以官方最新的版本为主,如果由此产生兼容或者其它问题,针对性的解决新问题。
以 yii 2.0.14 高级版的 frontend 为例,从 frontend/web/index.php 开始 //引用 yii2 composer 的 autoload,调用 getLoader.../vendor/yiisoft/yii2/Yii.php'; //引用 bootstrap.php 定义一些别名等 require __DIR__ . '/../...../common/config/main.php', require __DIR__ . '/../...../config/main.php', require __DIR__ . '/.....然后在 extensions 文件返回的数组中,可有含有 alias 和 bootstrap 参数,根据 alias 中的参数定义别名,根据 bootstrap 中的参数,使用 createObject
type] [ 请求路由 ] */ public $route; /** @var [type] [ 请求IP ] */ public $ip; } 配置自动触发事件 在config.../main.php中components同级定义 'name' => 'My Api', 'as behaviors' => 'api\components\EventService',...\SiteController.php:84 2020-08-05 14:43:47 [127.0.0.1][-][-][info][application] $_GET = [] Yii2 事件的使用就是这么简单...const EVENT_AFTER_REQUEST = 'afterRequest',意思是"事件在应用程序成功处理请求之后(在发出响应之前)引发的事件。"。 自定义的事件需要在特定需要的时候去触发。...Yii::$app->trigger('定义事件名', 实例化event的类,可以传递参数,可以不传递) 以上就是对Yii2框架事件使用方法分享,各位大牛要是有更好的方法也请分享一下。
切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 (-a password远端); 5.设置键值对 set myKey abc 取出键值对 get...———————-我们在PHP中安装redis扩展——————– 1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本(特别注意以php版本的architecture是x86还是64为准...:extension=php_igbinary.dll一定要放在extension=php_redis.dll的前面,否则此扩展不会生效 (igbinary.dll可以不加) 5.重启Apache后,使用...—————-yii2安装redis扩展—————– 1.首先在composer.json文件下,加 "yiisoft/yii2-redis" : "~2.0.0", 然后composer update更新...2.在config/main.php配置文件中加 3.在控制器中可以测试 Yii::$app->redis->set('user','aaa'); Yii::$app->redis->set('user2
第一个是组别,组别的定义放在config/main-local.php下。...根据配置,建立如下的目录结构 翻译文件以数组的方式组织的,内容如下 yii2框架实际做的也是hardcode的语言显示) yii2没有提供现成的切换语言的控件,需要我们自己开发一个...实现的主要思路是把用户选择的语言保存到cookie中,每次用户访问页面前,将语言设置为cookie中的值。...为菜单中的按钮绑定事件,当点击时触发ajax请求,ajax顺利返回后刷新页面。 4.添加处理ajax的controller。
测试框架版本说明 测试yii2版本 77103@DESKTOP-C2JB47R MINGW64 /e/dev/basic $ ....The following commands are available: 配置文件 配置memcache,在web.php / main.php 中配置 'components' => [...使用memcache前根据文档配置好相应的参数,在使用memcache(非memcached)过程中会发现Yii::$app->cache->set('key','value');,当这句话没有设置有效时间为多少秒时...类下的setValue方法来设置缓存,所以问题也许就出现在这儿了。...mem->set($key,$value,0,$expire); 这里最关键的一点是:memcache要设置的时间的含义是有效时间为多少秒, memcached要设置的时间的含义是在哪一秒到期(等效于time
基础总结 1.修改默认控制器/方法 yii默认是site控制器,可以在web.php中设置$config中的'defaultRoute'='xxxx';使用自定义默认的控制器。...2.添加独立模块 yii可以在modules文件夹中添加自定义模块,添加完成后在web.php中的$config中的'modules'=[id=..class=...]设置模块的开关。...5.布局模式 yii会默认开启布局模式,其布局模板为view中的layout中的main.php,我们可以在veder/yiisoft/yii2/web/controller.php基础类中public...场景设置 yii中有对场景的定义,定义场景可以使得yii在不同的情况下返回不同的数据信息。用model的scenarios()方法来设置返回数据。...13.使用ActiveForm创建表单 yii2中使用小部件创建view视图的步骤: 设置一个Model设置其属性 public $username; public $password; 设置其rule
今天我们将分别以支付宝、阿里大于和一个支持psr-4规范的Mailer类库为例,来介绍下yii2集成第三方代码的4种方式。...以这个支持psr-4的Mailer为例,你只需要用composer require命令安装,安装好了就可以直接在代码中使用了(如果需要,点击Mailer的链接,使用规则参考github上面的说明)。...我们还以上面的Mailer为例,该类的命名方式符合psr-4标准,因此我们可以使用yii2自带的加载器来加载。...我们注意到Mailer的命名空间是bailangzhan,所以我们在应用的config/main.php文件中配置 'aliases' => [ '@bailangzhan' => '@vendor...以支付宝sdk为例,我们可能用的最多的就是sdk包下面的alipay.config.php和alipay_submit.class.php,假设我们把支付宝的sdk下载后放置在frontend\vendor
/common/config/main.php'), require(DIR . '/../...../common/config/main-local.php'), require(DIR . '/../config/main.php'), require(DIR . '/.....']; } } } 这个函数对传递给构造函数的配置数组$config进行了一些预处理操作(这里省略了),最后使用coreComponents()方法返回的数组对$config数组进行了完善,...))->run();中的$config数组(这个数组的结构参见本文第一个截图),以数组键名作为对象属性名,对应的键值作为对象属性值进行赋值操作。...$_definitions中保存的注册信息使用依赖注入容器\yii\di\Container进行组件实例的创建,然后把创建的实例存入私有成员变量$_components,这样下次访问相同组件的时候就可以直接返回组件实例
以上是关于小程序登录的前后台逻辑,如果你使用yii2类框架,很多都内置了,并不复杂。 但是这里还有几个问题 小程序端何时进行登录逻辑? 发起请求时access_token过期了如何处理?...这个问题最常发生的场景就是我们发送了一次需要用户认证的请求,此刻如果服务器端发现收到的access_token已经失效,会返回异常,此刻小程序一般要如何处理那?...关于如何设置能获取formId的小程序表单也很简单,设置report-submit为真即可,如下代码 ...服务器端 接下来总结下服务器端,我使用yii2的restful组件作为接口支持,关于restful的基本功能请参考yii2官方文档或我之前录制的课程《Yii2的RESTful讲解》,在这里分享我认为关键的点...让yii2能解析json的请求内容 默认情况下yii2并不能识别请求中的json格式,而我们小程序在发起请求时喜欢用它,因此我们要对yii2进行一下配置。
Yii2中OAuth扩展及QQ互联登录的方法,实例分析了OAuth扩展的相关配置与QQ互联登陆的实现技巧。...config/main.php,在components中增加如下内容 'components' => [ 'authClientCollection' => [ 'class' => 'yii\...$contentType . '".'); } } return $response; } } 更改 config/main.php 文件,在components中增加,大致如下...调用时必须以数组键值对方式把参数传递进去,否则会报错说没提供参数。...以后可能还会用,所以在这里作以记录,备忘。 oAuth 认证与授权 一、什么是OAuth协议 OAuth(开放授权)是一个开放标准。
输入 配置 request 应用程序组件的 parsers 属性使用 yii\web\JsonParser 用于 JSON 输入 打开配置文件 api\config\main-local.php 修改为如下代码...; } return $config; 配置URL规则 为刚才的 user控制器添加url美化规则 打开 api\config\main.php 修改 components属性,添加下列代码: ......你可以使用 curl命令进行访问,命令如下: curl -i -H "Accept:application/json" "http://localhost/users" 命令行下还是比较麻烦的,也不方便测试...报错就对了,那是因为我们没有设置其他路由访问 修改 api\config\main.php 'urlManager' => [ 'enablePrettyUrl' => true, 'enableStrictParsing...JSON,加入没有数据局返回的是空的数组,所以这肯定不行啊,我们得加上 一些特定的状态码 来标识这些数据啊,怎么加?
领取专属 10元无门槛券
手把手带您无忧上云