小编gp_*_*ver的帖子

检查实体属性是否存在

我有一个类似example.org/overview/<column>/<value>(示例:)的URL example.org/overview/color/red,它将导致在“颜色”列中搜索值“红色”。这是实体:

<?php
namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

// @ORM\Entity(repositoryClass="App\Repository\CarRepository")
class Car
{
    // @ORM\Column(type="string", length=255)
    private $name;
    private $color;

    [...]
Run Code Online (Sandbox Code Playgroud)

我想我应该在开始数据库查询之前检查实体属性是否存在。如何检查,当有人呼叫example.org/overview/foo/bar,如果foo是一个有效的数据库列(=实体属性)?Symfony在这里提供一个简单的解决方案吗?如果不是这种情况,我想我必须使用一个硬编码的白名单。

doctrine symfony symfony4

5
推荐指数
2
解决办法
1482
查看次数

是否可以从其默认目录移动控制台"Command"文件夹并避免异常:命令"name"未定义?

默认情况下,控制台命令文件夹位于:MyProject\MyBundle\Command并且所有操作都按预期工作,但如果我将文件夹移动到另一个目录中,例如:MyProject\MyBundle\MyFolder\Command在命令执行时,它会抛出: [InvalidArgumentException] Command "command_name" is not defined.

在通过互联网搜索并阅读可能与此问题相关的所有文档后,我找不到任何有用的东西......

问题是:存在移动该文件夹的模式还是我将被迫使用默认文件夹?

谢谢!

console symfony symfony-console

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

如何在TortoiseGit上更改GitHub帐户

当我要推送时,我得到了拒绝的许可

我将在TortoiseGit上更改GitHub帐户,因为当前帐户没有推送权限。

错误:[远程:拒绝(GitHub帐户)对(存储库)的权限]

有什么方法可以更改TortoiseGit上的GitHub帐户吗?

git github tortoisegit

4
推荐指数
2
解决办法
8842
查看次数

如何在Symfony 3中比较密码(Bcrypt哈希)?

在为站点设置"更改密码"功能时,我有一个二级密码输入(您需要再次输入密码才能更改密码).

我需要能够根据输入的密码检查用户的当前密码(使用Bcrypt进行哈希).

在我的控制器动作中,我有:

$currentPassword = $request->request->get('password');
$encoder = $this->container->get('security.password_encoder');
$encodedPassword = $encoder->encodePassword($user, $currentPassword);

if($encodedPassword == $user->getPassword()) { // these don't ever match.
    // ...
}
Run Code Online (Sandbox Code Playgroud)

encodePassword(...)生成输入密码的摘要,但它与保存的密码不同(明文相同),所以我认为正在应用不同的盐,从而产生不匹配.

由于Bcrypt在密码摘要中包含了salt,因此我不会将其保存在任何地方.

如何检查输入的纯文本密码是否与Symfony 3中存储的Bcrypt摘要相匹配?

我没用FOSUserBundle.

php passwords bcrypt symfony

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

Symfony 5 - 自定义 Twig 错误模板

我正在尝试在我的 Symfony 5 项目上自定义错误模板。我想使用 TwigBundle 错误渲染器,因为它似乎是最轻的解决方案。

所以我遵循了这个文档:https://symfony.com/doc/current/controller/error_pages.html#overriding-the-default-error-templates

当我运行此命令时,TwigBundle 看起来已正确安装:composer require symfony/twig-pack没有任何错误。

error.html.twig但现在我在 TwigBundle 的任何文件夹中都找不到任何内容,尤其TwigBundle/Exception/是在文档中建议的文件夹(甚至不存在)中。

也许这不是我安装的好的“TwigBundle”?或者也许有更好、更轻的解决方案来自定义错误页面?

symfony twig symfony5

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

使用symfony容器服务时,代码完成无效

我在我的Symfony 2应用程序中使用FOSUserBundle,并想知道如何在PHPStorm中进行代码完成工作,因为当您通过容器注入服务时:

$userManager = $this->container->get('fos_user.user_manager');
Run Code Online (Sandbox Code Playgroud)

并尝试使用$ userManager来查看其界面 - 我什么也看不见,因为对于PHPStorm,这是一个常规变量,而不是通过"new"运算符构建的对象.

有没有办法让它向我展示这个对象的可用方法?

就像我们通常使用真实对象一样: 在此输入图像描述

谢谢!

code-completion autosuggest symfony phpstorm fosuserbundle

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

将数据从视图传递到控制器(codeigniter)

我正在尝试使用从视图到控制器的链接传递一些数据。

控制器

public function details(){
    echo $this->input->post('data_id');
    $data['details'] = $this->wapi_db->details($this->input->post('data_id'));
    $data['latest_news'] = $this->wapi_db->latest_news();
    $data['main_content'] = "category/details";
    $this->load->view('includes/template',$data);
}
Run Code Online (Sandbox Code Playgroud)

查看

<a href=<?php.base_url().'wapi/details?data_id='6'; ?>
Run Code Online (Sandbox Code Playgroud)

html php codeigniter

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

DateTimeImmutable 与 DateTime

首先,我是英文新手,如有错误请见谅

2 个类DateTimeDateTimeImmutable正在实现相同的接口DateTimeInterface。因此我想知道:

  1. 两个类DateTimeDateTimeImmutable之间有什么区别

  2. 这些类的用例是什么?

php php-7 php-7.3 php-7.4

3
推荐指数
2
解决办法
1301
查看次数

参数消息类型无效

我尝试使用 Django 中的“signal”在 AWS 中发送 SNS 电子邮件,我的代码是:

import boto3
from properties.models import PropertyList
from django.db.models.signals import post_save, post_delete
from django.dispatch import receiver

@receiver(post_save, sender=PropertyList)
def send_property_details(sender, instance, created, **kwargs):
    if created:
        sns = boto3.client('sns')

        response = sns.publish(
            TopicArn='',# I write value of TopicArn
            Message={
            "name": instance.title,
            "description": instance.description
                },
            MessageStructure='json',
            Subject='New Property Created',
            MessageAttributes={
                'default':{
                    'DataType':'String',
                    'StringValue':instance.title
                    }
                },
            )

        print(response['MessageId'])
Run Code Online (Sandbox Code Playgroud)

我收到错误如下:

参数验证失败:参数消息类型无效,值:{'name': 'aws', 'description': 'test'},类型: ,有效类型:

在AWS文档中说,如果我想为每个传输协议发送不同的消息,请将参数的值设置MessageStructure为JSON并使用JSON对象作为消息参数。我的代码有什么问题?

注意:我想发送的不仅仅是值,所以我需要发送 JSON

django amazon-web-services amazon-sns python-3.x

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

“make:fixtures”命名空间中没有定义命令

使用此命令后:

php bin/console make:fixtures:load
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

“make:fixtures”命名空间中没有定义任何命令。

php doctrine fixtures symfony

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