YII2 这个框架是 PHP 语言生态下的一款 Web 应用框架。有过 PHP 开发经验的开发者都不会陌生,或多多少都听说过,熟悉,至少接触过。
Yii2是一个奇特的框架,其牺牲了现在盛行的解耦设计,用一个高度耦合的结构提供给开发者一个方便的几类抽象,Application,Module,Component,甚至是ServiceLocator.想让对象具备哪类特征就直接继承相应的对象,想要改变他就去复写父类的方法,虽然不符合开放封闭原则,单一职责原则,李氏替换原则等面向对象设计原则,但的确很方便.
https://www.yiichina.com/doc/guide/2.0/start-installation 通过 Composer 安装
是的,既然我们在使用一个composer扩展的时候根据一份composer.json来安装依赖包,那么我们发布扩展包的时候,也应该先有一份描述自己的清单 - composer.json。
1. 使用 AssetBundle 进行注册 <?php class AppAsset extends AssetBundle { public $basePath = '@webroot';
入口脚本是应用启动流程中的第一环, 一个应用(不管是网页应用还是控制台应用)只有一个入口脚本。 终端用户的请求通过入口脚本实例化应用并将请求转发到应用。
Yii2.0.12版本使用\yii\base\Object类,Object作为类名PHP7.2报错。
了解yii组件注册与创建的过程,并发现原来yii组件注册之后并不是马上就去创建的,而是待到实际需要使用某个组件的时候再去创建对应的组件实例的。本文大概记录一下这个探索的过程。
打开安装好的YII2项目文件夹(YII2安装方法參见 摘取天上星 的博文:http://blog.csdn.net/zqtsx/article/details/39344913)
PHP框架大PK php框架有很多种,在国内应用较多的有:Thinkphp, Yii, Laravel, Codeigniter等。关于这些框架,孰优孰劣,是一个极具争议性的话题。各方支持者总能拿出自己的理由,把自己喜欢的框架捧上天,将其他框架喷成翔。 因此,冒昧地给这些框架作排名是不明智的,很容易成为众矢之的。诚如黑格尔所说:“存在即合理”,流行的PHP框架必然有其存在的市场基础,要么是简单易学,撸起袖子直接开干,学习成本低,公司易招人;要么是高效强大,代码优雅,安全健壮,但学习门槛高,公司招人成本大。
Yii2的Cookie主要是通过yii\web\Request和yii\web\Response进行操作的 ,通过\Yii::$app->response->getCookies()->add()添加Cookie,通过\Yii::$app->request->cookies读取Cookie.
若使用Composer我们应该先知道这是一个什么东西,主要干什么用的,我们可以把Composer理解为PHP包的管理工具,管理我们用到的Yii2相关的插件。
我们在使用YII2框架的过程中,对于框架有两种安装方式,一种是使用官网归档文件,一种是使用Compoer包管理工具。本文讨论的问题集中在使用Compoer安装YII2框架及更新组件包,升级YII2主版本时遇到的一些问题。
老沙计划使用 xgh.nai8.me/xcx 作为接口的基本地址,将来会有比如
今天北哥就给大家普及下csrf是啥?如果你已经知道了可以直接拉文章到底部点个赞。:smile:
本文实例讲述了Yii2框架加载css和js文件的方法。分享给大家供大家参考,具体如下:
Yii的数据库读取对象,在PDO之上,DAO后有了Query Builder和AR
Yii2和ThinkPHP5缓存操作提供的公共方法对比 Yii2缓存提供的方法 get 获取缓存 set 设置缓存数据 exists 判断缓存是否存在 mset multiSet 方法别名,批量设置缓存 mget multiGet 方法别名,批量获取缓存 add 添加缓存返回true,存在则不做操作 madd 批量添加多个,返回成功插入数组 delete 删除缓存 flush 清空缓存所有数据 offsetExists ,exists别名 offsetGet ,get别名 offsetSet,se
距离上次写博客,已经有一年了。在动手写之前,总是带着深深的罪恶感。被它折磨许久,终于,还是,动手了。
Modal也即是模态窗,通俗的说就是弹窗。是一款bootstrap的js插件,使用效果也是非常好。
基础总结 1.修改默认控制器/方法 yii默认是site控制器,可以在web.php中设置$config中的'defaultRoute'='xxxx';使用自定义默认的控制器。也可以改写Yii::$a
本文实例讲述了Yii2框架实现利用mpdf创建pdf文件功能。分享给大家供大家参考,具体如下:
使用Yii2的时候,在某些场景和环境下需要获得Yii2目前所处于的module(模型)、Controller(控制器)、Action(方法),以及会调用控制器里面已经定义过的一些公共的方法等.对于这些问题Yii2可以在视图层View中使用$this->context这个对象去获得。
这个主要起到一个命名空间的作用,比如一个项目可以需要 abei2017/yii2-emoji 和 abei2017/yii2-cool-sms ,那么在vendor里可以将yii2-emoji和yii2-cool-sms都放到abei2017文件夹下。
一个完整的网络请求,最后都需要一个符合协议的返回。Yii2在处理web请求之后,统一通过web/Response处理返回。错误也会经过错误处理返回一个Response。
一些常规的PHP框架都会对PHP的错误、异常进行异常处理封装,方便框架日志记录,开发的时候方便处理。我们先看看几个框架错误处理:
在app下创建common目录,并创建functions.php文件,并在入口文件中通过require引入。
技术干货 1、SpringMVC 执行流程及源码解析 2、使用 Vue2 和 Yii2 进行前后端分离开发 3、 SSM (十一) 基于 dubbo 的分布式架构 4、五大理由从 Python 转到 Go 语言 5、软件的复杂性: 命名的艺术 技术分享 1、SpringMVC 执行流程及源码解析 在SpringMVC中主要是围绕着DispatcherServlet来设计,可以把它当做指挥中心。这里先说明一下SpringMVC文档给出的执行流程,然后是我们稍微具体的执行流程,最后是流程大致的源码跟踪。 2、使
本文实例讲述了YII2框架中添加自定义模块的方法。分享给大家供大家参考,具体如下:
不足的地方,没有后台,需要自己二次开发完善,我想作者是关注到小程序的开发了,所以忽略了后台。
composer.json文件内容 laravel { "name": "laravel/laravel", //name表示包的名称,由作者名、项目名组成, //用'/'分割(可以包含任何字符,包括空格,不区分大小写) "description": "The Laravel Framework.", //描述(description是必要属性) "keywords": ["framework", "laravel"], //用于搜索与筛选的与包相关
上面的代码意思就是 当启用(new Abc())- validate()后就会根据rules顺序验证属性 ,而customValidationCityCode这个自定义验证方式是 有多少个需要验证的参数就会调用多少次customValidationCityCode方法 ,customValidationCityCode方法中的参数$attribute就是分别对应 aaa bbb ccc
yii2的一个强大之处之一就是他的Form组件,既方便又安全。有些小伙伴感觉用yii一段时间了,好嘛,除了比tp"难懂"好像啥都没有。
测试框架版本说明 测试yii2版本 77103@DESKTOP-C2JB47R MINGW64 /e/dev/basic $ ./yii This is Yii version 2.0.15.1. The following commands are available: 配置文件 配置memcache,在web.php / main.php 中配置 'components' => [ //数据缓存到memcache 'cache' => [ 'class'
本文实例讲述了Yii2框架自定义类统一处理url操作。分享给大家供大家参考,具体如下:
选择VPN或者设置composer的镜像服务器 镜像用法: 有两种方式启用本镜像服务: • 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中。见“方法一” • 单个项目配置: 将配置信息添加到某个项目的 composer.json 文件中。见“方法二” 方法一: 修改 composer 的全局配置文件(推荐方式) 打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令: 复制
Yii2.0使用一年多了,最近因为原来公司狗带了,换了公司,开始使用tp5.0。之前也有使用过tp3.2的框架,但是每次问及各个框架之前的区别的时候,总是不觉得有什么区别。但是从目前对tp5一周的使用时间来看,tp5相对于yii2来说,确实是弱爆了。
1.pjax必须包含使用到的所有js,也就是在页面中被应用到的pjax,都要被包含,否则js会在第一次执行pjax后失效
本文实例讲述了YII2框架中ActiveDataProvider与GridView的配合使用操作。分享给大家供大家参考,具体如下:
本文实例讲述了Yii2框架配置文件(Application属性)与调试技巧。分享给大家供大家参考,具体如下:
本文实例讲述了YII2框架中日志的配置与使用方法。分享给大家供大家参考,具体如下:
首先我们介绍一下Controller类的render()方法的执行流程,需要查看vendor\yiisoft\yii2\base\Contorller.php文件中的render()方法源代码。
平常我们遇到跨域问题时,常使用 cors(Cross-origin resource sharin)方式解决。不知你是否注意到,在设置响应头 Access-Control-Allow-Origin 域
因为之前写项目都是用的Thinkphp,公共方法都写在Tp自带的common下面的function里面,初次接触Yii框架发现它自身没带这个机制。在项目中,很多地方都需要公共方法的存在,以提高代码复用性,减少重复开发的时间,那yii2如何定义自己的公共方法呢?
在yii2中,管理加密解密的库叫做Security,它以yii2组件的形式存在,因此你可以通过Yii::$app->security来获取并使用它。
const EVENT_BEFORE_REQUEST = 'beforeRequest',这个是yii\base\Application自带的事件,意思是"事件在应用程序开始处理请求之前引发的事件"。
本篇文章旨在讨论如何组织通用型项目代码结构,以PHP YII2框架为例做说明,设计思想与语言本身无关。
如果在使用yii框架,并且在用户可以控制的输入处调用了unserialize()并允许特殊字符的情况下,会受到反序列化远程命令命令执行漏洞攻击。
领取专属 10元无门槛券
手把手带您无忧上云