Yii
  • 2024-08-02Laravel php框架与Yii php 框架的优缺点
    Laravel和Yii都是流行的PHP框架,它们各自具有独特的优点和缺点。以下是对这两个框架优缺点的详细分析:LaravelPHP框架的优缺点优点1、设计思想先进:Laravel的设计思想非常先进,非常适合应用各种开发模式,如TDD(测试驱动开发)、DDD(领域驱动设计)和BDD(行为驱动开发)。2、功能丰富:L
  • 2024-06-06Yii2 框架中,通过 yii\db\Command 对象来执行原生 SQL 语句
    在Yii2中,你可以通过yii\db\Command对象来执行原生SQL语句。这包括查询操作(如SELECT)和数据操作(如INSERT、UPDATE、DELETE)。以下是一些常见的例子,展示如何在Yii2中执行SQL语句。执行查询语句执行SELECT查询并获取结果你可以使用queryAll()、queryOne()、queryColu
  • 2024-04-10Redis支持事务 yii操作示例代码
    //首先确保已经配置了Yii的Redis组件//在配置文件中(例如:config/main.php)return[//...'components'=>['redis'=>['class'=>'yii\redis\Connection','hostname'=>&
  • 2024-04-09Yii2 小部件使用(bootstrap5)
    Yii2小部件使用(bootstrap5)修改web.phpassetManager'components'=>['assetManager'=>['appendTimestamp'=>true,'class'=>'yii\web\AssetManager',
  • 2024-04-07Yii2-国际化
    Yii2-国际化配置文件<?php$params=require__DIR__.'/params.php';$db=require__DIR__.'/db.php';$config=[...'components'=>['i18n'=>['translations'=>
  • 2024-03-30Yii2-助手类(formatter)
    Yii2-助手类(formatter)示例echo\Yii::$app->formatter->asDatetime(time(),'Y-M-dH:i:s');//2023-05-1212:32:32echo\Yii::$app->formatter->asRelativeTime('1447565922');//2小时前echo\Yii::$app->for
  • 2024-03-30Yii2-application用法 (Yii::$app用法)
    Yii2-application用法(Yii::$app用法)配置文件config\web.phpreturn['id'=>'app-frontend','basePath'=>dirname(__DIR__),'bootstrap'=>['log'],'controllerNamespace'=>
  • 2024-03-30Yii2 Action用法
    Yii2Action用法actions方法publicfunctionactions(){return['error'=>['class'=>'yii\web\ErrorAction',],'captcha'=>[
  • 2024-03-30yii2 密码和加解密
    yii2密码和加解密生成hash$hash=Yii::$app->getSecurity()->generatePasswordHash($password);验证hashif(Yii::$app->getSecurity()->validatePassword($password,$hash)){//allgood,logginguserin}else{//wrongpassword}生成随机字符串$k
  • 2024-03-30yii2 小部件
    yii2小部件小部件基本上在views中使用,在视图中可调用yii\base\Widget::widget() 方法使用小部件。继承yii\base\Widget类并覆盖yii\base\Widget::init() 和/或yii\base\Widget::run() 方法可创建小部件。创建小部件<?phpnamespaceapp\widgets;useyii\base\Wid
  • 2024-03-30yii2-队列使用
    yii2-队列使用安装yii2-queuecomposerrequireyiisoft/yii2-queue安装yii2-rediscomposerrequireyiisoft/yii2-redis控制台配置文件console.php和web.php'redis'=>['class'=>'yii\redis\Connection',&
  • 2024-03-30yii2服务定位器
    yii2服务定位器服务定位器是注册和访问组件的对象注册组件useyii\di\ServiceLocator;useyii\caching\FileCache;$locator=newServiceLocator;//通过一个可用于创建该组件的类名,注册"cache"(缓存)组件。$locator->set('cache','yii\caching\ApcCache');//通过
  • 2024-03-30yii2响应(Responses)
    yii2响应(Responses)状态码Yii::$app->response->statusCode=200;异常yii\web\BadRequestHttpException:statuscode400.yii\web\ConflictHttpException:statuscode409.yii\web\ForbiddenHttpException:statuscode403.yii\web\GoneHttpException:
  • 2024-03-30yii2过滤器
    yii2过滤器过滤器是控制器动作执行之前或之后执行的对象。示例过滤器common\components\ActionTimeFilter<?phpnamespaceapp\common\components;useYii;useyii\base\ActionFilter;classActionTimeFilterextendsActionFilter{private$_startTime;
  • 2024-03-30yii2请求组件
    yii2请求组件应用的请求是用yii\web\Request对象来表示的请求参数$request=Yii::$app->request;$get=$request->get();//等价于:$get=$_GET;$id=$request->get('id');//等价于:$id=isset($_GET['id'])?$_GET['id']:null;$i
  • 2024-03-30yii2视图
    yii2视图示例代码<?phpuseyii\helpers\Html;useyii\widgets\ActiveForm;/*@var$thisyii\web\View*//*@var$formyii\widgets\ActiveForm*//*@var$modelapp\models\LoginForm*/$this->title='Login';?><h1><?=Ht
  • 2023-11-22添加索引 yii获取sql
    //添加索引sqlALTERTABLE`work_map`ADDINDEXidx_wmp_region_id(`wmp_region_id`)仓库工作单方案准备列表,展示角色所配置城市的工作单信息短信消息模版调整gitremoteupdateorigin--pruneyii2获取当前sql$query->createCommand()->getRawSql();
  • 2023-11-17webuploader实现大文件断点续传
    前端代码(基于Yii框架,逻辑可供参考)   <script>    varfileMd5; //文件MD5    varfileObj; //文件对象    varstate='pending'; //状态    WebUploader.Uploader.register({      "before-send":"beforeSend
  • 2023-11-12PHP反序列化题型_YII框架漏洞利用
    ctfshowweb267通过页面加载yii.js判断使用yii框架。用弱口令admin/admin可登录在about页面发现提示view-source访问提示页面?r=site%2Fabout&view-source页面提示///backdoor/shellunserialize(base64_decode($_GET['code']))因此构造payload必须先base64_encode再serializepayloa
  • 2023-11-02Yii 动态模型实现思路
    假设这么一个场景:有一个通过YiiActiveForm构建的表单,里面所有的字段都是虚拟的,比如说这个表单的字段来自于一个JSON或者说数据库的结果集,需要实现同一个模型,根据不同的传参,构建不同的表单项。问题:Yii的表单是通过模型来创建的,也就是说我有这个表单项,模型中必须有对应的
  • 2023-10-26Yii反序列化漏洞的学习
    Yii反序列化漏洞的学习Yii框架Yii是一个适用于开发Web2.0应用程序的高性能PHP框架。Yii是一个通用的Web编程框架,即可以用于开发各种用PHP构建的Web应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应用,如门户网站、社区、内容管理系统(CMS)、电子
  • 2023-10-12基于yii2的php后台快速构建框架(Yii Manager)
    文档:文档地址:https://www.kancloud.cn/cleverstone/ymb2         简介: YiiManager2.0简单介绍YiiManager2.0是基于PHP框架yii2.0为底层框架编写的,敏捷、灵活、低代码的快速开发框架!-YiiManager2.0是YiiManager1.0的升级版,废弃了1.0
  • 2023-08-07【新】通达OA前台反序列化漏洞分析
    0x01前言注:本文仅以安全研究为目的,分享对该漏洞的挖掘过程,文中涉及的所有漏洞均已报送给国家单位,请勿用做非法用途。通达OA作为历史上出现漏洞较多的OA,在经过多轮的迭代之后已经很少前台的RCE漏洞了。一般来说通达OA是通过auth.inc.php文件来进行鉴权,如图1.1所示。整个通达全部的
  • 2023-07-14yii 框架 afterSave Model 数据变更 同步数据 处理新增了逻辑
    /***来源*1.Model::updateAll()*2.Model::findOne(id)->save()*@param$attributes*@param$condition*@param$params*@returnint*@throws\yii\db\Exception*/publicstaticfunctionupdateAll($attributes,$condition='',$params=
  • 2023-07-14yii 框架 Model 映射表 一对多 或 一对一
    publicfunctiongetTmsOrderTravel(){//第一个参数为要关联的子表模型类名,//第二个参数指定通过子表的user_id,关联主表的usesr_id字段//这里写清楚点大概意思就是User.user_id=>Order.user_idreturn$this->hasMany(TmsOrderTravel::className(),['tt_id'