我正在开发一个 Laravel 包项目,并设置一个管道来测试它(针对 php 7.3、7.4 和 8.0)合并请求,并将其发布到主分支上的包注册表。
我正在尝试为代码覆盖率设置一个徽章,但我无法使其正常工作,因为它始终是显示unknown百分比。
stages:
- dependancies
- linting
- test
- publish
# Dependancies job
download dependancies:
stage: dependancies
# job stuff
# Linting jobs
phpcs:
stage: linting
# job stuff
# test jobs templates
.testing_template: &testing
stage: test
script:
- php -dxdebug.mode=coverage vendor/bin/phpunit --coverage-text --colors=never
only:
- merge_requests
# Testing jobs
php 8:
image: mileschou/xdebug:8.0
<<: *testing
php 7.4:
image: mileschou/xdebug:7.4
<<: *testing
php 7.3:
image: mileschou/xdebug:7.3
<<: *testing …Run Code Online (Sandbox Code Playgroud) 我刚刚进入元编程,正在 youtube 上观看 Cppcon 频道,看到了这个std::integral_constant,但找不到它的用途。
据我所知,这是一种将值与其类型一起“打包”的方法,它可以用
std::integral_constant<int, 42> i;
std::integral_constant<bool, true> b;
std::integral_constant<float, 3.14> f;
...
Run Code Online (Sandbox Code Playgroud)
并且这些实例中的每一个都可以像它们包含的值一样使用,即:可以传递、用于数学运算、比较等。
但是我不明白为什么我应该使用这些结构而不是实际包含的值,也不明白我是否可以在运行时实际访问值类型(即:int,bool和float)来处理它。
有人可以提供一个实际使用此功能的简单示例吗?一个解释它的用法与使用实际值的区别的例子?
好的,我正在使用 Giltab 并注意到了这一点
然后找到并阅读有关问题类型的文档。
看起来我可以使用真实的问题类型而不是标签来将问题识别为(例如)错误、提案、增强、新功能请求等,但我不明白是否可以创建新的问题类型。
有人成功使用过这个功能吗?
我正在尝试创建一个接受参数的自定义验证规则,但该参数是请求中另一个字段的名称,就像规则一样required_with。
我可以轻松处理规则中给定的参数,但我正在努力找出如何检索其他字段值。
目前我正在创建我的规则类
class MyClassRule
{
public function validate($attribute, $value, $parameters, $validator) : bool
{
// do some stuff here to return true/false
}
}
Run Code Online (Sandbox Code Playgroud)
并在我的服务提供商中注册
Validator::extend('my_rule', 'path\to\MyClassRule@validate');
Run Code Online (Sandbox Code Playgroud)
所以我可以在我的请求中使用它
public function rules()
{
return [
'field' => ['my_rule'],
];
}
Run Code Online (Sandbox Code Playgroud)
我想做的是
public function rules()
{
return [
'other_field' => [...],
'field' => ['my_rule:other_rule'],
];
}
Run Code Online (Sandbox Code Playgroud)
并使用other_field我的规则类中的值,但validate()的$parameters值只是['other_field']。即包含其他字段名称而不是其值的数组。
我怎样才能做到这一点?
我们正在处理一些托管在 Gitlab 上的项目,如果有一个机器人来自动处理一些问题,对我们来说真的很方便。
例如:自动关闭 20 多天前标记为“等待客户答复”的问题
我找不到任何关于如何执行此操作的指南或教程,我什至不知道它是否可以完全在 github 中完成,或者我是否需要从外部服务创建我的机器人。
只是尝试按照配置nuxt/auth 文档向我的 NuxtJs 3 应用程序添加身份验证,但在应用程序启动期间仍然出现错误:
// nuxt.config.js
export default defineNuxtConfig({
auth: {
// ...
},
modules: [
// '@nuxtjs/axios',
'@nuxtjs/auth-next'
],
})
Run Code Online (Sandbox Code Playgroud)
收到相同的错误,@nuxtjs/axios但我只是将其注释掉,因为其官方文档指示切换到$fetch API.
无法找出错误在哪里
我的请求中有两个整数字段需要验证,min_height和max_height,两者都是可选的,但必须min_height小于max_height并max_height希望(当然)大于min_height。
使用验证规则如下
'min_height' => ['nullable', 'integer', 'lt:max_height'],
'max_height' => ['nullable', 'integer', 'gt:min_height'],
Run Code Online (Sandbox Code Playgroud)
当其中一个存在但另一个不存在时,这当然会给我带来错误,因为lt/gt验证规则针对null请求字段进行检查。
仅当其他字段存在时,我如何才能进行lt检查?gt有没有办法通过内置验证规则来实现这一点,或者我是否必须实现自定义验证器?
可能我还不够清楚:我的两个字段都是可为空且彼此独立的min_height,所以接收和不接收都可以max_height,反之亦然:这使得规则required_with不适合我的用例。
我试图让我的 GitLab 管道自动标记分支,master但没有成功。
由于该项目是一个composer包,所以我想要做的是从文件中获取版本号composer.json,将其存储在一个变量中,然后使用这个变量与git来标记分支。
这是我的管道工作部分.gitlab-ci.yml:
tagging:
stage: publish
image: alpine
only:
- master
script:
- version=$(cat composer.json | grep version | grep -Eo "[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+")
- git tag "$(version)"
- git push --tags
Run Code Online (Sandbox Code Playgroud)
我实际上无法判断问题是什么,因为 GitLab 作业输出中没有显示任何输出,如下图所示

好的,我正在按照官方 Mysql 文档在 docker 上的 mysql 数据库上启用加密:
这就是我所做的:
early-plugin-load(我使用了mysql docker 映像没有文本编辑器),所以现在是:keyring_file_data/etc/mysql/my.cnfecho stuff >> file[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/
early-plugin-load=keyring_file.so
keyring_file_data=/usr/local/mysql/mysql-keyring/keyring
Run Code Online (Sandbox Code Playgroud)
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks …Run Code Online (Sandbox Code Playgroud) 我的 Laravel 应用程序有 2 个平衡服务器,但每个服务器都登录到自己的目标文件夹(我们使用每日文件日志记录):有没有办法有一个集中位置来保存日志?
我已经安排了日志记录配置以在输出中包含服务器名称,但我不知道如何处理这种情况。
也许是对象存储?或者是什么?非第三方解决方案会更好,我们希望将所有内容保留在 Laravel 和我们的服务器内,但如果别无选择,我们将安排外部解决方案。
laravel ×3
gitlab ×2
gitlab-ci ×2
rules ×2
validation ×2
automation ×1
badge ×1
bots ×1
c++ ×1
docker ×1
eloquent ×1
encryption ×1
git-tag ×1
logging ×1
mysql ×1
mysql-8.0 ×1
nuxt-module ×1
nuxt.js ×1
nuxtjs3 ×1
option-type ×1
php-7 ×1
std ×1
testing ×1
vue.js ×1