我已将 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 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(“错误请求”)响应代码?
我有以下 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)
我究竟做错了什么?
我正在使用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) 我有一个 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目录进行硬编码感觉非常脆弱。 …
在我使用的几乎每个vim副本中,程序将在替换文本后给出更改的描述.(例如,将显示类似"20行上的92次替换"的内容.)
我现在正在使用vim的副本,默认情况下不这样做.
是否有一个简单的命令(或我可以添加到我的vimrc文件中)来启用此行为?
我正在开发一个使用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"
我有以下代码:
/**
* @param TranscodingJob $transcodingJob
*
* @return TranscodingJob
* @throws \Lexik\Bundle\WorkflowBundle\Exception\WorkflowException
*/
public function onTranscodingJobError(TranscodingJob $transcodingJob) { ...
Run Code Online (Sandbox Code Playgroud)
...,我发现当我将鼠标悬停在注释上时,将出现以下注释:
phpcs:缺少参数注释
如何修改注释以使投诉消失?
(我尝试仅在参数的注释上方添加文本,但这似乎无法解决。)
我正在使用wp_register_script并wp_enqueue_script为我正在开发的 WordPress 插件的管理屏幕引入一些自定义 JavaScript 逻辑。
当我尝试import在 JavaScript 顶部添加语句以引入几个节点模块时,问题就出现了。可以理解,这给了我以下浏览器控制台消息:
导入声明只能出现在模块的顶层
告诉 WordPress 将自定义的 JavaScript 位视为模块的标准方法是什么?为了确保可以导入我的节点模块,我还需要遵循其他步骤吗?
我创建了一个单元测试并使用以下命令来运行测试:
bin/phpunit -c path/to/DocumentDuplicateControllerTest.php
Run Code Online (Sandbox Code Playgroud)
...我发现我得到了这个输出:
ParsePI:PI php 永无止境......
应为开始标记,未找到“<”
不幸的是,关闭该-c标志不是一种选择,因为该命令在 Jenkins 作业期间使用该标志运行。
有人可以就如何解决这个问题提出建议吗?
php ×7
symfony ×5
doctrine ×2
javascript ×2
clone ×1
composer-php ×1
doctrine-orm ×1
filesystems ×1
jquery ×1
mysql ×1
node.js ×1
npm ×1
phpcs ×1
phpstorm ×1
phpunit ×1
swiftmailer ×1
symfony-flex ×1
vim ×1
wordpress ×1
xml ×1