小编Art*_*ach的帖子

Emacs + GPG + pinentry.el 用于身份验证

我很难为 Emacs 设置pinentry来进行身份验证(比如说 github)。使用 GPG 和 pinentry 来签署提交已经可以了。我在 emacs 中使用 magit 进行版本控制,每次我提交一些内容时,迷你缓冲区中都会弹出 pinentry,我输入密码并对提交进行签名。都好。

不过我也使用 GPG 进行身份验证。我使用 GPG设置和身份验证子密钥,并设置 SSH 来使用它。如果我从 tty 执行此操作,它也会起作用。只是不是从 Emacs 内部。该问题与环境变量有关$GPG_TTY。如果我尝试将某些内容推送到 GH,则迷你缓冲区中的 pinentry 不会弹出。相反,它会等待并最终说我没有权限。

我应该提到我使用 emacs,更具体地说是 EXWM 作为我的窗口管理器。如果我退出 emacs,我会在 TTY 中看到 pinentry-encurses 对话框。如果我在 emacs 中打开另一个终端,同时按下它,它将在该终端中打开 pinentry-ncurses 对话框,而不是在迷你缓冲区中弹出 pinentry.el。

几天来我一直在谷歌搜索并尝试不同的方法,但没有运气。

〜/.gnupg/gpg-agent.conf:

allow-emacs-pinentry
allow-loopback-pinentry
default-cache-ttl 600
max-cache-ttl 7200
enable-ssh-support
Run Code Online (Sandbox Code Playgroud)

〜/.gnupg/gpg.conf:

use-agent
Run Code Online (Sandbox Code Playgroud)

〜/ .bash_配置文件:

# GPG related
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
export GPG_TTY=$(tty)
#gpgconf --launch gpg-agent
Run Code Online (Sandbox Code Playgroud)

我在 emacs 中的 pinentry 配置:

;; Enable loopback so …
Run Code Online (Sandbox Code Playgroud)

git authentication emacs gnupg

3
推荐指数
1
解决办法
2913
查看次数

Laravel 5:在 DB 中设置或获取日期格式

我在理解 Laravel 如何处理日期和碳时遇到了麻烦。我有一个模型,它有一个名为published_at 的特殊字段(它是da DATE 字段)。当我保存对象的实例时,我希望 Laravel 使用 carbon 转换该字段。

这是我的模型:

<?php

namespace App;

use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;


class Addon extends Model
{

// ...

protected $dates = [

    'published_at'
];

// ....

/**
 * Set the published_at date format
 *
 * @param $date
 * @return string
 */
public function setPublishedAtAttribute($date)
{
    $this->attributes['published_at'] = Carbon::createFromFormat('d/m/Y', $date);
}

// ....
}
Run Code Online (Sandbox Code Playgroud)

因此,据我所知,published_at 字段现在应该使用 d/m/Y 格式保存为碳的实例。但是,它在数据库中保存为 mm-dd-yyyy。

最后,我不在乎它是如何保存到数据库中的,所以这就是为什么我想创建一个getPublishedAtAttribute并以我想要的格式检索它。那也没有用。

我想要的只是 Laravel 将其格式化为 d/m/Y。没有我必须做的事情,比如{{ $addon->published_at->format('d/m/Y') }}每当我展示它时。

顺便说一句:我想同样的事情created_atupdated_at …

php date laravel php-carbon laravel-5

2
推荐指数
1
解决办法
6166
查看次数

Laravel 5:在模型上扩展delete()

我正在使用L5.3.31并具有以下型号:

添加在

图片

关系:

// Addon.php
public function images()
{
    return $this->hasMany('App\Image');
}

// Image.php
public function addon()
{
    return $this->belongsTo('App\Addon');
}
Run Code Online (Sandbox Code Playgroud)

我现在想要扩展该delete()方法以删除在删除图像对象时保存在文件系统上的一些图像.据我所知,为了做到这一点,我需要delete()在Image模型上扩展该方法.现在,在我的图像模型上,如果我尝试这样做:

public function delete()
{
    dd('triggered');
    parent::delete();
}
Run Code Online (Sandbox Code Playgroud)

我希望它能够死掉triggered.但没有任何反应,对象就像以前一样被删除了.这告诉我上面的代码块在删除时没有被执行,对吧?

我也在Addon模型上尝试了同样的事情,结果相同.最后,当我这样做时,我想要完成的是这个

$addon->images()->delete();我想laravel删除代表每个图像对象的文件.另外,如果我这样做,$addon->images()->where('id', '=', $id)->delete();我想删除对象旁边的给定id的图像文件.

顺便说一句,我不知道这是否重要,但是我已经将关系设置为在级联上删除,所以如果我这样做$addon->where('id', '=', $id)->delete();也会删除其相关的图像对象.

model laravel eloquent

1
推荐指数
1
解决办法
1318
查看次数

标签 统计

laravel ×2

authentication ×1

date ×1

eloquent ×1

emacs ×1

git ×1

gnupg ×1

laravel-5 ×1

model ×1

php ×1

php-carbon ×1