首页 > TAG信息列表 > YII
laravel、TP、YII三个框架的优缺点对比
laravel框架优点 文档丰富 大量的第三方开源库 安全机制齐全(表单验证等) 中间件和路由对访问进行过滤及控制,避免非法请求 错误处理机制友好 支持composer包管理工具 集合了php比较新的特性及各种设计模式。 缺点: 基于组件式的框架,比较臃肿 性能比yaf等小型框架的效率会低一些 较Yii常用错误处理方法
yii\base\UserException 1.继承于yii\base\UserException的类,跳转错误处理页面 2.不管YII_DEBUG为何值,函数调用栈信息都不会显示。 常用异常处理 1.yii\base\InvalidRouteException 表示由无效路由引起的异常。 2.yii\web\BadRequestHttpException 400错误请求。 3. yiiComposer安装及更新YII2框架遇到问题梳理
前置条件: 首先使用Composer包工具的需要满足以下两个前提,不区分操作系统。 1 电脑需要安装Composer包管理工具,并且全局可直接使用 2 安装Composer Asset插件,Asset插件需要合适的版本。 两个条件在安装的同时,都必须注意合适的版本。以下附上Mac安装composer和插件的主要步骤YII oracle
以 11.2 为例 , 注意必须要与数据库版本对应下载如下两个文件instantclient-basic-linux.x64-11.2.0.4.0.zip https://download.oracle.com/otn/linux/instantclient/11204/instantclient-basic-linux.x64-11.2.0.4.0.zipinstantclient-sdk-linux.x64-11.2.0.4.0.zip https://dowyii 模型查询
1. 简单查询 [[one()]]: 根据查询结果返回查询的第一条记录。 [[all()]]: 根据查询结果返回所有记录。 [[count()]]: 返回记录的数量。 [[sum()]]: 返回指定列的总数。 [[average()]]: 返回指定列的平均值。 [[min()]]: 返回指定列的最小值。 [[max()]]: 返回指定列的最大二十六、逐行阅读Yii2.0.43源码_Yii框架文件yii\base\Application.php(4)
目录 一、属性 二、方法 一、属性 1. $_runtimePath 运行时文件的路径 2. $_vendorPath vendor目录路径 /** * 运行时文件的目录 */ private $_runtimePath; // vendor目录路径 private $_vendorPath; 二、方法 1. getRuntimePath方法,返回运行PHPStorm xdebug调试Yii代码
文章目录 下载 XDEBUG配置 php.ini配置 PHPSTOM客户端 cookie 设置 session_id 下载 XDEBUG 1.查看 php 版本: php -v 2.查看编译库的版本: php -r "phpinfo();"|findstr Zend TS 是线程安全,NTS 是非线程安全。VC15 是 VC 语言库的版本。 3.下载地址 Xdebug地址。PHP|ThinkPHP|Yii 数据库迁移(Phinx)的使用
首先,PHP Composer, ThinkPHP,Yii 这三者的数据库迁移都是基于Phinx来操作。而对于基础数据库的建表可以导出一份SQL文件作为基础数据也不需要在写create table什么的比较费时间。 讲解场景:当你又一个sell数据库,其中有表sell,你要新增tille_2字段,其yii漏洞复现以及对yii相关的ctf题分析
Yii2漏洞复现 环境准备: 1.win10 2.PHPstudy :php版本7.3.4 3.yii2版本:2.0.37和2.0.38 环境的安装准备: 1.phpstudy的安装就不多说了,关键后面要运行php,建议吧php放进环境变量中(可以百度一下) 2.搭建yii2,可以去github下载。 https://github.com/yiisoft/yii2/releases/tag/2.0.37 下载Yii2 中如何彻底禁用掉自带的 Yii、JQuery 和 Bootstrap 脚本 [ 2.0 版本 ]
环境 基于 Yii2 高级模板 前言 默认情况下,Yii2 会自动加载 Yii、JQuery 和 Bootstrap 等脚本和样式,但有时项目中可能并不需要这些库,或者使用其他版本;下面介绍如何去掉这些库脚本和样式。 去除 Yii.js 相关脚本 编辑 frontend\asset\AppAsset.php 文件,注释掉变量 $depends 里的 'yiyii 隐藏index.php
yii2 隐藏index.php 1.开启apache-rewrite 模块 httpd-conf 中配置 2.web.php 配置 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules'=>[ '<controller:\w+>/<❥(^_-) Yii2框架源码解析之序言及入口文件
序言 作为最流行的php框架之一,yii框架自然有其独到之处。yii框架中的辅助工具以及相关类库很多。是一个非常庞大的重型框架,我们这个系列的文章只分析它的请求初始到响应结束这一流程。以及中间涉及到一些重要的框架开发思想,一些比较流行的设计模式也会顺带讲一讲。大部分的分析入门5查询生成器
查询构建器 查询构建器建立在 Database Access Objects 基础之上,可让你创建 程序化的、DBMS无关的SQL语句。相比于原生的SQL语句,查询构建器可以帮你 写出可读性更强的SQL相关的代码,并生成安全性更强的SQL语句。 使用查询构建器通常包含以下两个步骤: 创建一个 yii\db\Query 对入门6数据缓存
数据缓存 数据缓存是指将一些 PHP 变量存储到缓存中,使用时再从缓存中取回。 它也是更高级缓存特性的基础,例如查询缓存 和内容缓存。 如下代码是一个典型的数据缓存使用模式。 其中 $cache 指向缓存组件: 从 2.0.11 版本开始, 缓存组件 提供了 getOrSet() 方法来简化数据的[Yii2] Yii2 数据查询
From: https://www.cnblogs.com/niuben/p/10749134.html 数据查询 复制代码 User::find()->all(); 此方法返回所有数据; User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子); User::find()->where(['name' => '小伙儿'])->one(); 此方法返回 ['name&Yii2获取URL和参数
1. 获取url中的host信息: 例如:http://www.nongxiange.com/product/2.html Yii::$app->request->getHostInfo(); 结果:http://www.nongxiange.com 2. 获取url中的路径信息(不包含host和参数): 例如:http://www.nongxiange.com/product/2.html?isnew=1 1 Yii::$app->request->getPYii 输入验证 load了post数据,attributes里面字段有些值是NULL,并且还增加了一些字段
1.attributes是和数据库表字段成映射关系的,也就是说attributes里面的属性名称是和表字段一样,当前端提交表单的name属性和数据表对应的字段名称不一样时,那么这个数据表字段在attributes的值默认NULL了。 2.规则rule数组中没有定义值为NULL的字段。YII文件上传
<span style="font-size:14px;">use yii\web\UploadedFile; public function actionDoartadd(){ //获取session $session = Yii::$app->session; $session->open(); $user_id = $session->hasSessionIdyii常用命令
现在常说的yii一般都是yii2了,很少有人用旧版了吧,这里记录下常用的yii命令,方便查找 百科资料 Yii有两个主要的版本: 2.0 和 1.1。yii 最先发布稳定版本为:1.1.14 (2013年8月11日发布),yii 最新发布稳定版本为:2.0.0 (发布于 2014年10月12日发布) 百科地址:点我打开 常用命令 ./yii修改密码 MVC
控制器site public function actionPassword(){ $model = new PasswordForm(); /*判断请求属性 if ($request->isAjax) { // 判断是否为AJAX 请求 };if ($request->isGet) { // 判断是否为GET 请求 };if ($request->isPost) { // 判断是否为POST 请15-PHP代码审计——yii 2.0.37反序列化漏洞
Yii是一套基于组件、用于开发大型Web应用的高性能PHP框架。Yii2 2.0.38 之前的版本存在反序列化漏洞,如果程序内部调用了unserialize() 反序列化时,那么程序就可能存在反序列化漏洞,攻击者可通过构造特定的恶意请求执行任意命令。 影响版本: yii2 v2.0.37版本以下 环境: yii-baYii1打印当前请求所有执行的SQL及耗时
我们在熟悉新的项目了解业务的时候,可以有很多方式。看项目文档说明;和了解项目身边的人沟通;通过自己度代码调试,但是一步步调试打印语句或许有点慢,如果可以调出当前请求的所有语句,那么很快可以熟悉他的业务。再或者自己开发中排查问题。 公司所用的框架是yii,由于项目比较早了,好像是1Yii笔记:打印sql、Form表单、时间插件、Mysql的 FIND_IN_SET函数使用、是否是post/ajax请求
语句部分: yii1版本打印最后一条执行的SQL: $this->getDbConnection()->createCommand()->select()->from()->order()->text ; yii2版本打印最后一条执行的SQL: $query = InsuranceOnlineZaSuccess::find(); echo $query->createCommand()->getRawSql(); 获取最后一条入库的ID:$id =Yii1操作phpexcel
Yii::import('application.vendors.phpexcel.*'); Yii::import('application.vendors.phpexcel.PHPExcel.*'); $objPHPExcel = new PHPExcel(); $objPHPExcel->getActiveSheet()->getProtection()->setSheet(falseYii2.0页面提示消息
适用情况:比如提交一个表单,提交完成之后在页面展示一条提示消息。 控制器里面这样写: 单条消息: \Yii::$app->getSession()->setFlash('error', 'This is the message'); \Yii::$app->getSession()->setFlash('success', 'This is the message'); \Yii::$app-&g