面包屑思维模型实战模型错题集结构手册流程手册自我检测专题模块
-
微信小程序前端微信小程序前端易错点收集查看
-
css/less/sass样式控制在开发过程中的一些样式控制bug规避查看
-
tp5开发小程序tp5开发小程序时错误积累查看
-
PHP错题集PHP在实际开发过程中遇到的问题查看
-
MySql数据库使用MySql在实际开发中遇到的错误总结查看
-
TP5错题集积累tp5框架在实际开发过程中遇到的问题查看
-
uni-app爬坑主要用于uni-app项目中遇到的一些问题查看
-
Vue.js易错收集vue.js项目常见错误收集整理查看
-
uni-app开发微信小程序uni-app开发微信小程序的一些爬坑积累查看
-
LinuxLinux在部署、开发、运维时遇见的错误积累查看
-
安全设计常见安全设计查看
-
Redis项目中使用redis的相关错误积累查看
-
前端特效前端特效相关错题集查看
最新博文
-
yii2模型中定义对应数据库和验证规则
yii21.申明对应的数据库是 tableName()
public static function tableName(){
return 'jdc_phone_code';
}2.字段验证规则是 rules()
public function rules()
{
return [
// name, email, subject 和 body 属性必须有值
[['name', 'email', 'subject', 'body'], 'required'],
// email 属性必须是一个有效的电子邮箱地址
['email', 'email'],
];
}
阅读更多风口下的猪2023-03-14【yii2】
-
yii2模型中attributeLabels()的作用
yii2attributeLabels作为模型中的属性标签,指定属性显示出来的标签;
public function attributeLabels()
{
return [
'name' => 'Your name',
'email' => 'Your email address',
'subject' => 'Subject',
'body' => 'Content',
];
}应用支持多语言的情况下,可翻译属性标签, 可在 attributeLabels() 方法中定义,如下所示:
public function attributeLabels()
{
return [
'name' => \Yii::t('app', 'Your name'),
'email' => \Yii::t('app', 'Your email address'),
'subject' => \Yii::t('app', 'Subject'),
'body' => \Yii::t('app', 'Content'),
];
}其作用:
1.在rules验证的时候,如果报错,会把此处的后面的内容显示出来
则相应的位置就会报错
2. 在视图层
因为有了 label 的缘故,所以显示了这个, 如下图所示
如果忽略掉label()
则默认显示 attributeLabels() 里面的注释
阅读更多风口下的猪2023-03-14【yii2】
-
vscode开发php时的代码追踪实现
软件开发达到效果
(1)在vscode中ctrl+鼠标左键实现函数跳转;
(2)鼠标划过类/函数时,弹出定义说明;
1.安装函数跳转插件(PHP IntelliSense,路径感知)
安装插件后,编辑配置文件,从左边点击“扩展图标---设置图标---配置扩展设置--setting.json”即可打开。
直接修改 php.executablePath 路径(按自身情况填写,Linux和Mac可使用whereis php命令查看PHP安装路径),重启即可。
注意点:
(1)一般如果安装了phpstudy,"php.executablePath": "D:/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe"
(2)该扩展,一般需要php7.4及以上
2.PHP Intelephense(PHP智能感知)
阅读更多风口下的猪2023-05-10【软件开发】
-
yii2 系统定义的路径别名
yii2@yii ——框架的目录。
@app——当前正在运行的应用程序的基本路径。
@common -公共文件目录。
@frontend——前端web应用程序目录。
@backend ——后端web应用程序目录。
@console -控制台目录。
@runtime——当前正在运行的web应用程序的运行时目录
@vendor ——基础框架目录。
@web ——当前正在运行的web应用程序的url
@webroot——当前正在运行的web应用程序的web根目录。
阅读更多风口下的猪2023-03-14【yii2】
-
yii2目录结构说明
yii2assets: 资源目录,一般定义了项目里会使用的JS和CSS文件路径
commands: CLI程序的控制器目录,新手建议删除,熟手你要进行PHP的CLI开发就保留
config: 配置文件目录,基本都是返回数组
controllers: 控制器目录
mail: 邮件模板目录
models: 模型目录,基本上就是ORM模型
runtime: 运行时目录,留空即可
每次运行的缓存、日志、调试数据、自定义保存的数据等都会默认存到这里
建议为这个runtime目录添加.gitignore或SVN忽略属性,忽略目录内所有的东西,这样任它运行时产生什么东东也不会被加入到 版本库
vendor: 扩展目录,除了有Yii框架,还有其它PHP扩展,基于Composer的打包规范
views: 视图目录,就是大家脑袋中想着被控制器display的那个嘛
web: web网站访问目录,相当于TP框架的public目录,WEB主机配置到这个目录就对了
backend——后台web程序
common——公共的文件
console——控制台程序
environments——环境配置
frontend——前台web程序
.gitignore ——git版本控制中忽略的文件和目录,如果你有一些你不想要的文件到你的源代码里面就把它添加到这个文件中。
composer.json
init——在Composer里面所描述初始化脚本
init.bat——和上面一样,不过是Windows下面的
LIENSE.md——这个就不说了
README.md——同上
requirements.php——Yii运行环境要求检测文件
yii——控制台程序引导文件
yii.bat——Windows下面的东东
阅读更多风口下的猪2023-03-14【yii2】
-
yii2请求获取参数
yii2和tp一样,yii2获取参数也是通过request实例
一.获取特定请求的参数
和tp一样,可以通过$request->get()、$request->post()获取get、post请求参数
$request = Yii::$app->request;
$get = $request->get();
// 等价于: $get = $_GET;
$id = $request->get('id');
// 等价于: $id = isset($_GET['id']) ? $_GET['id'] : null;
$id = $request->get('id', 1);
// 等价于: $id = isset($_GET['id']) ? $_GET['id'] : 1;
$post = $request->post();
// 等价于: $post = $_POST;
$name = $request->post('name');
// 等价于: $name = isset($_POST['name']) ? $_POST['name'] : null;
$name = $request->post('name', '');
// 等价于: $name = isset($_POST['name']) ? $_POST['name'] : '';二.不管请求方法,获取所有参数
(1)$request->bodyParams (调属性获取)
(2)$request->getBodyParam() (调方法获取)
$request = Yii::$app->request;
// 返回所有参数
$params = $request->bodyParams;
// 返回参数 "id"
$param = $request->getBodyParam('id');
阅读更多风口下的猪2023-03-14【yii2】
-
Class yii\filters\auth\HttpBearerAuth
yii2HttpBearerAuth 是支持基于 HTTP 承载令牌的身份验证方法的操作筛选器。
以使用 HttpBearerAuth,将其作为行为附加到控制器或模块,如下所示:
public function behaviors()
{
return [
'bearerAuth' => [
'class' => \yii\filters\auth\HttpBearerAuth::className(),
],
];
}httpBearerAuth一般用于behaviors,搭配CompositeAuth一起做为behaviors的验证过滤
if (Yii::$app->getRequest()->getMethod() !== 'OPTIONS') {//校验用户身份$behaviors['authenticator'] = ['class' => CompositeAuth::class,'authMethods' => [HttpBearerAuth::class,],];}
阅读更多风口下的猪2023-03-14【yii2】
-
Class yii\filters\auth\CompositeAuth
yii2CompositeAuth 是一个同时支持多种身份验证方法的操作筛选器。
CompositeAuth 包含的身份验证方法是通过 $authMethods 配置的, 这是受支持的身份验证类配置的列表。
下面的示例演示如何支持三种身份验证方法:
public function behaviors()
{
return [
'compositeAuth' => [
'class' => \yii\filters\auth\CompositeAuth::className(),
'authMethods' => [
\yii\filters\auth\HttpBasicAuth::className(),
\yii\filters\auth\QueryParamAuth::className(),
],
],
];
}compositeAuth 一般用于behaviors
阅读更多风口下的猪2023-03-14【yii2】
-
Class yii\filters\Cors ----CORS 跨域资源共享控制筛选器
yii2CORS 筛选器作为行为附加到控制器或模块来使用 CORS 筛选器
public function behaviors()
{
return [
'corsFilter' => [
'class' => \yii\filters\Cors::className(),
'cors' => [
// restrict access to
'Origin' => ['http://www.myserver.com', 'https://www.myserver.com'],
// Allow only POST and PUT methods
'Access-Control-Request-Method' => ['POST', 'PUT'],
// Allow only headers 'X-Wsse'
'Access-Control-Request-Headers' => ['X-Wsse'],
// Allow credentials (cookies, authorization headers, etc.) to be exposed to the browser
'Access-Control-Allow-Credentials' => true,
// Allow OPTIONS caching
'Access-Control-Max-Age' => 3600,
// Allow the X-Pagination-Current-Page header to be exposed to the browser.
'Access-Control-Expose-Headers' => ['X-Pagination-Current-Page'],
],
],
];
}Cors筛选器一般用于behavior
阅读更多风口下的猪2023-03-14【yii2】
-
Class yii\filters\VerbFilter ----操作过滤器
yii2VerbFilter 是一个操作过滤器它通过 HTTP 请求方法进行过滤。
它允许为每个操作定义允许的 HTTP 请求方法 并将在不允许该方法时引发 HTTP 405 错误。
要使用 VerbFilter,请在控制器类的
behaviors()
方法中声明它。 例如,以下声明将为 REST CRUD 操作定义一组典型的允许请求方法。public function behaviors()
{
return [
'verbs' => [
'class' => \yii\filters\VerbFilter::className(),
'actions' => [
'index' => ['GET'],
'view' => ['GET'],
'create' => ['GET', 'POST'],
'update' => ['GET', 'PUT', 'POST'],
'delete' => ['POST', 'DELETE'],
],
],
];
}此属性为每个操作定义允许的请求方法。 对于应该只支持有限的请求方法集的每个操作 您添加一个条目,其中操作 id 作为数组键 允许的方法数组(例如 GET, HEAD, PUT)作为值。 如果未列出操作则认为所有请求方法都是允许的。
你可以用
'*'
来代表所有的行动。当一个动作是显式的 指定的,它则优先于'*'
所给出的规范。[
'create' => ['GET', 'POST'],
'update' => ['GET', 'PUT', 'POST'],
'delete' => ['POST', 'DELETE'],
'*' => ['GET'],
]说明:默认情况下yii2的restful提供了index、view、update、create和delete共5个action来满足于对资源的不同行为
操作过滤器一般用在behaviors中
阅读更多风口下的猪2023-03-14【yii2】
-
PHP 的 ::class 用法
PHP<?php
namespace my\library\mvc;
class Dispatcher {}
print Dispatcher::class; // 会输出 my\library\mvc\Dispatcher
$disp = new Dispatcher;
print disp::class; // parse error;语法错误
// 这种方式只能通过调用静态方法的方式,不能通过类实例化后的对象去调用
阅读更多风口下的猪2023-03-14【PHP】