URL相关 获得当前请求的绝对url Yii::$app->request->getAbsoluteUrl(); 返回一个请求URL的hostInfo部分 Yii::$app->request...->getHostInfo(); 获得URL问号后的参数字符串 Yii::$app->request->getQueryString() 返回服务器端口 Yii::$app->request.../yii migrate/up 脚本名 // 不用含有扩展名 Asset Management Asset资源管理 常用参数 类属性说明 $basePath // 资源文件所在的web服务器目录路径...关键参数 去掉浏览器缓存 'appendTimestamp' => true // 在web.php里的components - assetManager 发布资源筛选 public $...可能通过用户方面的多种原因引起的,例如在请求体内有无效的JSON 数据,无效的操作参数,等等。 401: 验证失败。 403: 已经经过身份验证的用户不允许访问指定的 API 末端。
作为自己的周总结,平时遇到的问题,以及一不小心踩的坑,记录下来自己当复习: 表单验证 表单验证,两个参数中至少需要一个(2个以上): public function rules() {...获取url中的host信息: # http://localhost Yii::$app->request->getHostInfo() 获取url中的路径信息(不包含host和参数): Yii...::$app->request->getPathInfo() 获取不包含host信息的url(含参数): # /public/index.php?...r=news&id=1 Yii::$app->request->url 或者 Yii::$app->request->requestUri 获取完整url(含host以及参数): Yii::$app...Yii::app()->request->url 只想获取url中的参数部分: # r=news&id=1 Yii::$app->getRequest()->queryString 获取某个参数的值
charset=utf-8"); if ($_GET['domain']) { $domain = getTopHost($_GET['domain']); } else { exit("缺少参数...$domain . '"}', "application/json;charset=UTF-8", $token)); $query = json_encode($query->params->list...$query = str_replace("[", "", $query); $query = json_decode(str_replace("]", "", $query)); $icp = $query...->serviceLicence; $unitName = $query->unitName; $natureName = $query->natureName; if (!...$url; } $url = strtolower($url); $hosts = parse_url($url); $host = $hosts['host'];
Eloquent模型有一些“参数”,以该类的属性形式出现。最受欢迎的可能是这些: ? file ?...6. find() 大家都知道 **find() **方法可以这样用: $user = User::find(1); 其实 find() 还可以传递一个数组作为参数: $users = User::find...{ return $q->orderBy('created_at', request('ordering_rule', 'desc')); }); 它可能不会感觉更短或更优雅,但最强大的是传递参数...$q->where('role_id', $role); }); $authors = $query->get(); 10....保存数据的同时 覆盖 updated_at 的默认更新时间 其实 ->save() 方法是可以接受额外参数的,因此,我们可以告诉它“忽略”updated_at默认功能以填充当前时间戳。
, 'write' => [ 'host'=>[ env('DB_HOST', '127.0.0.1'), ] ], 'url...' => env('DATABASE_URL'), // 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT...$this->getReadPdo() : $this->getPdo(); } $useReadPdo 这个参数默认就是一个 true 值,方法体内部,getPdoForSelect() 方法使用了这个参数...$original = $query->columns; if (is_null($query->columns)) { $query->columns = ['*'];...每个方法需要的额外参数是通过 query-> protected function concatenate($segments) { return implode(' ', array_filter
init_data_list() { $sql = "SELECT * FROM website"; $query = query_sql($sql); while ($row = $query...$dataid; } $query = query_sql($sql); while ($row = $query->fetch_assoc()) { $data...init_data_list() { $sql = "SELECT * FROM website"; $query = query_sql($sql); while ($row = $query...action=data_list&id=1的参数只能用_GET if ($dataid == 0) { $sql = "SELECT * FROM website"; }...$dataid; } $query = query_sql($sql); while ($row = $query->fetch_assoc()) { $data
= '') { return $query->where('category_id', $category_id); } else { return $query...; } } 再例如 在某个请求中我们需要按照关键字筛选,并且,URL中有字段key才去数据库查询和key有关的。...= '') { return $query->where('title','like', '%' ....写法 1、命名方式 scope+自定义的方法名 2、传参 第一个参数是查询生成器 如果传入参数 那么可以生成动态的效果。
$model) { return $model->order_num; } ], // 是否显示某列:意思是如果参数...view} {update} {delete} {refresh}', 'buttons' => [ 'refresh'=>function ($url...->joinWith('author'); //在视图中,会调用级联的article_type表,调用他的分类名,所以为了性能,在这里join一下 $query->join...$this->load($params) && $this->validate())) { return $dataProvider; } $query...>= {$createdAt} AND created_at <= {$createdAtEnd}"); } // 通过添加过滤器来调整查询语句 $query
$schema = [ '[字段名]' => '[字段类型]'; ] schema需要定义整个数据表字段,对单个字段定义需要自动转换的类型可以使用type 如果需要废弃(忽略)数据表中的字段,...1 是新增数据数组,必选 参数 2 是允许写入的字段,可选 参数 3 为是否 replace 写入,默认 false 为 Insert 写入 新增数据的最佳实践原则:使用create方法新增数据...1 是数据数组,必选 参数 2 更新条件,可选 参数 3 是允许写入的字段,可选 ---- save() 模型的新增、更新都需要save()进行执行,具有自动识别; 实例化模型后调用save...$user; scope() 的第一个参数是调用的封装方法,第二个参数是封装方法可以接收的数据 支持多个查询封装方法连缀调用 $user = UserModel::scope('email','xiao...destroy(1,true); $user = User::find(1); // 软删除 $user->delete(); // 真实删除 $user->force()->delete(); 软删除后系统会忽略该条数据
WordPress提供了许多开发者们经常忽略的面向性能的的功能性代码( performance-oriented features)。...为了实现这一点,我们使用posts_per_page参数。 WordPress允许我们将-1表示为该参数的合理值,在这种情况下,系统将尝试获取满足定义条件的所有帖子。...WordPress提供了一个非常直接的方法:使用post__not_in参数。...in_array( $query->posts[ $i ]->ID, $posts_to_exclude ) ) { //do stuff with $query->posts[ $i ] } }...首选,我在查询中删除了post__not_in参数。 由于查询可能会给我们带来一些我们不希望的帖子,所以我增加了posts_per_page参数。
访问gii URL:http://localhost/项目目录/backend/index.php/gii ? 3. 生成模块 ?...URL访问默认控制器 用crud组件common\gii\Crud来实现基础的action Crud里的index方法已经做好了分页处理。...modules/test/models/Test.php public function getHabitusArticle() { /** * 第一个参数为要关联的字表模型类名称..., *第二个参数指定 通过子表的 customer_id 去关联主表的 id 字段 */ return $this->hasMany(HabitusArticle...->createCommand(); //echo $query->sql;die; echo Yii::$app->crud->index($query, ['model
驱动和扩展安装可用后,打开 config/db.php 修改里面的配置参数对应你的数据库配置。 该文件默认包含这些内容: 参数, 应用的 SQL 查询正是基于这个数据库。...->count(), ]); $countries = $query->orderBy('name') ->offset($pagination->offset) ->limit($pagination...然后小部件 LinkPager 使用 Pagination::createUrl() 方法生成的 URL 去渲染翻页按钮。 URL 中包含必要的参数 page 才能查询不同的页面编号。...Pagination 接收到 URL 中 的 page 参数把当前的页码设为 2。
在生成模型的时候再额外生成一些模板 我们都知道这个的 Artisan 的命令: php artisan make:model Company 但你是否知道它还有三个很有用的参数标记用来生成与这个模型关联的其他文件...在保存的时候重写 update_at 字段 你知道 - > save()方法是可以接受参数的吗? 因此,我们可以告诉它“忽略” updated_at默认填充当前时间戳的功能。...正确的方法稍微有些复杂,需要用到闭包函数作为子查询: $q->where(function ($query) { $query->where('gender', 'Male')...->where('age', '>=', 18); })->orWhere(function($query) { $query->where('gender', 'Female')...->where('age', '>=', 65); }) 20 orWhere方法使用更多参数 最后一条,你可以个 orWhere 方法传递一个数组。
> 但其实是隐藏了一些参数,比如: <?.../** * 偏移参数 */ 'offset' => 3, //(int) - 跳过的文章数量 /** * 排序 & 排序方式参数 - 对获取的文章进行排序 */ 'order' => 'DESC',...- 显示或忽略置顶文章 */ 'ignore_sticky_posts' => false, //(布尔值) - 是否忽略置顶文章,默认为假不忽略....在返回文章的开头忽略/排除置顶文章,但是置顶文章还是会在自然查询中列出。...// 3.判断查询的结果,有内容则循环 if($query->have_posts()):while($query->have_posts()):$query->the_post(); ?
> 但其实是隐藏了一些参数,比如 参数升序或降序排列....- 显示或忽略置顶文章 */ 'ignore_sticky_posts' => false, //(布尔值) - 是否忽略置顶文章,默认为假不忽略....在返回文章的开头忽略/排除置顶文章,但是置顶文章还是会在自然查询中列出。...// 3.判断查询的结果,有内容则循环 if($query->have_posts()):while($query->have_posts()):$query->the_post(); ?
Id Name url...$('#tableTest1').bootstrapTable({ height: $(window).height() - 460, url..., pageNumber: 1, queryParams: queryParams, }); }); 使用GET请求会把参数放在...URL中发送给后端 selectBtTable.php?...FROM products LIMIT 8 OFFSET 0; (在mysql 5以后支持这种写法) $query = query_sql($sql); while ($row = $query
# spider 任务名 name = 'httpProxyIp' # 允许访问的域名 allowed_domains = ['icanhazip.com'] # 起始爬取的url...接口方法接口方法主要是选择要调试的接口类型,包括资源相关、IP白名单、信息查询三大模块,各个接口说明详情如下图:接口类型API描述通用资源管理相关- allocate- extract- replace- release- query...调用接口申请独占资源-用GET调用接口查询可用的独占资源- 用DELETE调用接口释放独占资源-用PUT调用接口请求重拨独占资源-用GET调用接口查询空闲的独占资源白名单管理相关- whitelist/query...,各个参数有不同的含义,详情如下:参数名是否必选描述Key是要申请IP的业务的Key值,下拉选择即可;IP是HTTP代理;多个以逗号分割;*代表全部;Num否申请的IP个数,默认1个,最大不超过套餐内IP...:参数名描述Code申请IP结果编码:0(成功)-1(失败)。
如此一来,Joomla可以根据这一路径获取视图参数和模块布局。 构建URL如下所示: /index.php?...option=com_fields&view=fields&layout=modal view参数值:fields layout参数值:modal 访问此URL可以显示站点上可用的所有自定义字段的列表。...对于那些不熟悉Joomla的人而言,“执行SQL语句查询, $ query-> order() ” 这种方法,能做的真的只有将输入内容接入一个查询的ORDER BY语句中。 ?...所以为了利用这个漏洞,攻击者必须做的是为URL添加适当的参数,以便注入到SQL查询。
如果写ROOT__ 如果不处理,则模板会直接输出__ROOT 修改cmf/lib/taglib/Cmf.php中 __CAPTCHA_SRC=url('/newcaptcha/admin') 修改获取验证码路由...cmf/lib/taglib/Cmf.php中tagHook函数,$param = 'null';//'$temp' . uniqid(); 避免没有参数的hook错误 不兼容地方 行为扩展不支持引用传递...隐藏修改代码删除了cmf/behavior/ 所有行为中引用参数定义。 think\Model 本身有个一个exists方法,如果原有代码中有在model中定义exists方法,需要确认是否有bug。...app/admin/model/RouteModel 有exists方法,参数与基类定义不一致,需要修改方法名。 thinkphp5.1 查询语句和5.0不兼容。...5.1 query 没有getError 方法,如有原有代码有使用query对象获取查询后的错误,需要修改成query->getConnection()->getError(); column查询,查询所有字段用
Exception => Throwable` `HttpException => \RuntimeException => \Exception => Throwable` 当访问的控制器不存在、url...而原先定义的render()和recordErrorLog()方法要求接收的参数类型是think\Exception,由于HttpException不是继承于think\Exception,不能转化为think...表达式 数组法(不够灵活,且存在一定的安全问题) 闭包(最灵活) // 通过use来使用外部的数据 where(function ($query) use ($id){ $query
领取专属 10元无门槛券
手把手带您无忧上云