小编Pat*_*ick的帖子

sh:symfony-cmd:找不到命令

我已将 Symfony 5.2 应用程序模板降级为使用 Symfony 4.4,以便允许使用一些需要旧版本 Symfony 的库。问题是,当我这样做时composer install,我在安装即将结束时收到此错误:

sh:symfony-cmd:找不到命令

看来安装大部分成功,因为我的vendor文件夹已创建并填充。但我担心这个错误。

这个错误是什么意思?我如何解决它?

====

编辑:这是我的composer.json文件:

{
    "type": "project",
    "license": "proprietary",
    "minimum-stability": "dev",
    "prefer-stable": true,
    "require": {
        "php": ">=7.4.0",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "ext-json": "*",
        "composer/package-versions-deprecated": "1.11.99.1",
        "cweagans/composer-patches": "^1.7",
        "doctrine/doctrine-bundle": "^2.4",
        "doctrine/doctrine-migrations-bundle": "^3.1",
        "doctrine/orm": "^2.9",
        "phpdocumentor/reflection-docblock": "*",
        "sensio/framework-extra-bundle": "*",
        "symfony/framework-bundle": "4.4.*",
        "symfony/http-client": "*",
        "symfony/intl": "*",
        "symfony/mailer": "*",
        "symfony/mime": "*",
        "symfony/monolog-bundle": "^3.1",
        "symfony/notifier": "*",
        "symfony/process": "*",
        "symfony/property-access": "*",
        "symfony/property-info": "*",
        "symfony/proxy-manager-bridge": "*",
        "symfony/security-bundle": "*",
        "symfony/serializer": "*",
        "symfony/string": …
Run Code Online (Sandbox Code Playgroud)

symfony composer-php symfony-flex

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

如何从symfony控制器抛出400错误请求?

我已经建立了一个非常简单的Symfony 3.3控制器的存根,其主要动作如下所示:

/**
 * @Route("/pair-gallery/{id}")
 */
public function indexAction(Int $id)
{
    $output = [];
    return new JsonResponse($output);
}
Run Code Online (Sandbox Code Playgroud)

当我给它一个字符串作为url中的参数(而不是整数)时,当前出现500错误。这并不可怕,但这并不是我想要的。

我如何告诉Symfony发回400(“错误请求”)响应代码?

php symfony

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

使用“import * as jQuery”时出现“TypeError: $ is not a function”

我有以下 JavaScript,执行时没有任何错误或警告:

import * as jQuery from './node_modules/jquery/dist/jquery.min.js';
window.$ = jQuery;
Run Code Online (Sandbox Code Playgroud)

...但是当我尝试使用我的新$()功能时...

$(document).ready(function() {
    console.log('Hello!');
} );
Run Code Online (Sandbox Code Playgroud)

...我收到此错误:

TypeError: $ is not a function
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

javascript jquery npm javascript-import

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

我应该在哪里注册我的DBAL类型?

我正在使用Doctrine的枚举类型来跟踪我在Symfony应用程序中使用的实体的状态。我正在使用(大致)这里描述的方法:

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/cookbook/mysql-enums.html

我尝试更新数据库架构时遇到了问题。我收到以下错误:

  [Doctrine\DBAL\DBALException]
  Unknown column type "EnumStatusType" requested. Any Doctrine type that you use has to be registered
   with \Doctrine\DBAL\Types\Type::addType(). You can get a list of all the known types with \Doctrin
  e\DBAL\Types\Type::getTypesMap(). If this error occurs during database introspection then you might
   have forgot to register all database types for a Doctrine Type. Use AbstractPlatform#registerDoctr
  ineTypeMapping() or have your custom types implement Type#getMappedDatabaseTypes(). If the type nam
  e is empty you might have a problem with the cache …
Run Code Online (Sandbox Code Playgroud)

php mysql doctrine symfony doctrine-orm

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

/tmp(或其他类似文件夹位置)是否有 symfony 值?

我有一个 Symfony 3.3 应用程序,它成功地发送了一封带有附件的电子邮件。相关函数如下所示:

private function sendEmail($data)
{
    $vgmsContactMail = self::contactMail;
    $mailer = $this->get('mailer');
    /* @var $uploadedFile UploadedFile */
    $uploadedFile = $data["attachment"];
    $extension = $uploadedFile->guessExtension();
    if(!in_array($extension, ['pdf','rtf']) ){
        die('Please upload a .pdf or .rtf file.');
    }
    $newFilePath = '/tmp';
    $newFileName = 'temporary' . rand(0,10000) . '.rtf';
    $uploadedFile->move($newFilePath, $newFileName);
    $attachment = \Swift_Attachment::fromPath('/tmp/' . $newFileName);
    $message = \Swift_Message::newInstance("VGMS Contact Form: ". $data["subject"])
        ->setFrom(array($vgmsContactMail => "Message by ".$data["name"]))
        ->setTo(array(
            $vgmsContactMail => $vgmsContactMail
        ))
        ->setBody($data["message"]."<br>ContactMail :".$data["email"])
        ->attach($attachment)
    ;
    return $mailer->send($message);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是对/tmp目录进行硬编码感觉非常脆弱。 …

php filesystems swiftmailer symfony

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

描述vim替换

在我使用的几乎每个vim副本中,程序将在替换文本后给出更改的描述.(例如,将显示类似"20行上的92次替换"的内容.)

我现在正在使用vim的副本,默认情况下不这样做.

是否有一个简单的命令(或我可以添加到我的vimrc文件中)来启用此行为?

vim

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

如何取消设置克隆的PHP对象的id

我正在开发一个使用Docrtrine和Symfony 2.7的项目.我有一个我想要克隆的Document实体,我当然需要确保我没有重复的主键.这是我到目前为止所尝试的:

/**
 * Document
 *
 * @ORM\Table(name="documents")
 */
class Document {
    public function ___clone(){
        $newObj = clone $this;
        $newObj->id = null;
        return $newObj;
    }
...
}
Run Code Online (Sandbox Code Playgroud)

然而,这似乎并不多,因为当我打电话clone myDocument然后尝试坚持时,我仍然得到这样的信息:

SQLSTATE [23000]:完整性约束违规:1062密钥"UNIQ_A2B07288ECC6147F"的重复条目"1"

如何让对象的主键恢复为空或自动递增状态?

=====

Upate:使用

public function __clone(){
    $this->id = null;
}
Run Code Online (Sandbox Code Playgroud)

仍会导致相同的错误.完整错误文字:

执行'INSERT INTO文件(usageFrom,usageTo,status,workflow_identifier,created_date,modified_date,language_id,translationRoot_id,ownerGroup_id,responsible_ser_id,production_id,media_id,created_user,modified_user)VALUES(?,?,?,?,?, ?,?,?,?,?,?,?,?,?)'与params ["2018-06-28 09:54:37","2018-06-28 09:54:37",100, "4cc723c2a5730c1b9c2ed6428ae57205","2018-06-28 09:54:37","2018-06-28 09:54:37",null,null,null,null,1,null,1,1]:

SQLSTATE [23000]:完整性约束违规:1062密钥"UNIQ_A2B07288ECC6147F"的重复条目"1"

php doctrine clone auto-increment symfony

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

phpcs:缺少参数注释

我有以下代码:

/**
 * @param TranscodingJob $transcodingJob
 *
 * @return TranscodingJob
 * @throws \Lexik\Bundle\WorkflowBundle\Exception\WorkflowException
 */
public function onTranscodingJobError(TranscodingJob $transcodingJob) { ...
Run Code Online (Sandbox Code Playgroud)

...,我发现当我将鼠标悬停在注释上时,将出现以下注释:

phpcs:缺少参数注释

如何修改注释以使投诉消失?

(我尝试仅在参数的注释上方添加文本,但这似乎无法解决。)

php phpstorm phpcs

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

在 WordPress 插件中导入节点模块

我正在使用wp_register_scriptwp_enqueue_script为我正在开发的 WordPress 插件的管理屏幕引入一些自定义 JavaScript 逻辑。

当我尝试import在 JavaScript 顶部添加语句以引入几个节点模块时,问题就出现了。可以理解,这给了我以下浏览器控制台消息:

导入声明只能出现在模块的顶层

告诉 WordPress 将自定义的 JavaScript 位视为模块的标准方法是什么?为了确保可以导入我的节点模块,我还需要遵循其他步骤吗?

javascript php wordpress node.js

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

尝试运行新的单元测试时出现“ParsePI: PI php never end”

我创建了一个单元测试并使用以下命令来运行测试:

bin/phpunit -c path/to/DocumentDuplicateControllerTest.php
Run Code Online (Sandbox Code Playgroud)

...我发现我得到了这个输出:

ParsePI:PI php 永无止境......

应为开始标记,未找到“<”

不幸的是,关闭该-c标志不是一种选择,因为该命令在 Jenkins 作业期间使用该标志运行。

有人可以就如何解决这个问题提出建议吗?

php xml phpunit

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