我是Symblog 2初学者,我正在学习Symblog2的教程:http://tutorial.symblog.co.uk/docs/doctrine-2-the-blog-model.html .
我创建了我的数据模型,并尝试使用Doctrine 2 fixtures将测试数据填充到我的数据库中.
我下载了必要的软件包并将以下内容添加到我的autoload.php:
AppKernel.php
以下是php app/console doctrine:fixtures:load:
load()
我的fixtures类看起来像这样:
'Doctrine\\Common\\DataFixtures' => __DIR__.'/../vendor/doctrine-fixtures/lib',
'Doctrine\\Common' => __DIR__.'/../vendor/doctrine-common/lib',
Run Code Online (Sandbox Code Playgroud)
当我尝试运行时FixtureInterface::load,我得到以下异常:
new Symfony\Bundle\DoctrineFixturesBundle\DoctrineFixturesBundle(),
Run Code Online (Sandbox Code Playgroud)
我理解错误信息,但在我看来,我的autoload.php方法是兼容的AppKernel.php.
有人能告诉我,我错过了什么?我一步一步地按照教程.
我正在制作一个关于产品(颜色等)的选择的脚本,它适用于除Internet Explorer(11)和Edge之外的所有浏览器.
我将每个参数的选择放在一个数组中,并使用该array.forEach()方法将一个函数应用于它们.
颜色参数的示例:
var color_btns = document.querySelectorAll('#color > p');
color_btns.forEach(function(color) {
color.onclick = function () {
color_btns.forEach(function(element) {
if (element.classList.contains('selected')) {
element.classList.remove('selected');
}
});
color.classList.add('selected');
document.querySelector('#f_color').value = color.dataset.id;
};
});
Run Code Online (Sandbox Code Playgroud)
我在IE和Edge的控制台中得到以下输出:
对象不支持属性或方法'forEach'
在搜索了这个问题后,我了解到IE 9及更新版本应支持此功能.我试图自己定义功能但没有成功.当我记录该函数时,它被定义为一个函数([native code]内部带有" ").
我用一个替换.forEach了for它,它工作得很好,
forEach()针对Internet Explorer和Edge的特定用法?我以为它是Array.prototype.forEach最新版本的IE(和所有版本的Edge)都有它......?
我在一个Symfony项目上运行PHPStan,其中我在Doctrine实体中有以下关系:
/**
* @ORM\OneToMany(targetEntity="App\Entity\Course\Slide", mappedBy="chapter", cascade={"persist"}, orphanRemoval=true)
* @ORM\OrderBy({"listOrder" = "ASC"})
*
* @var ArrayCollection<Slide>
*/
private $slides;
Run Code Online (Sandbox Code Playgroud)
使用规则级别 6运行分析我收到以下有关该属性(及其 getter 返回类型)的消息:
App\Entity\Course\Chapter::$slides具有泛型类的属性Doctrine\Common\Collections\ArrayCollection未指定其类型:TKey, T
您可以通过checkGenericClassInNonGenericObjectType: false在您的phpstan.neon.
我的编辑尝试只会混淆 PHPStan,可能是因为我没有完全理解这里的泛型。但是仅仅因为我不明白而将消息静音将是愚蠢的。
我应该在 PHPDoc 中添加或更改什么?
在PHP 7 中,可以抛出的任何对象的基本接口是Throwable。我们还有一个用于所有内部 PHP 错误的Error基类。但是为什么我无法捕捉到以下错误:
一种)
try {
$file = fopen('not_exist_file', 'r');
} catch (\Error $e) {
echo 'Cannot open a file';
}
Run Code Online (Sandbox Code Playgroud)
预期结果:'无法打开文件'
实际结果:PHP 警告:fopen(not_exist_file):无法打开流:没有这样的文件或目录
b)
try {
$result = 10 / 0;
} catch(\DivisionByZeroError $e){
echo 'Catch DivisionByZeroError';
} catch (\Throwable $e) {
echo 'Catch Throwable';
}
Run Code Online (Sandbox Code Playgroud)
预期结果:'Catch DivisionByZeroError'
实际结果:PHP 警告:在 ..
C)
try {
trigger_error('User error');
} catch(\Error $e) {
echo 'Catch error';
} catch (\Throwable $e) …Run Code Online (Sandbox Code Playgroud) 我正在尝试让基于 NGINX 的反向代理在 Windows/WSL2 环境中工作。我对 Docker 和 NGINX 世界非常陌生。我能够让以下命令工作
docker run --name nginx-test -p 8080:80 -v /home/skotekar/nginx.conf:/etc/nginx/nginx.conf:ro -v /mnt/d/site1/wwwroot:/usr/share/nginx/html:ro -d nginx:alpine
Run Code Online (Sandbox Code Playgroud)
然后我可以浏览 http://localhost:8080 并查看我的静态内容。正如您从命令中看到的,我的本地/home文件夹中有一个默认的nginx.conf,运行时该文件夹会映射到 NGINX Docker。第一次效果很好。
现在,如果我使用以下命令停止容器:
docker container stop nginx-test
Run Code Online (Sandbox Code Playgroud)
然后对/home目录中的nginx.conf文件进行更改,并希望使用以下命令启动具有更新配置的容器:
docker container start nginx-test
Run Code Online (Sandbox Code Playgroud)
但是这个命令失败给了我一个非常令人困惑的消息:
来自守护进程的错误响应:OCI 运行时创建失败:container_linux.go:370: 启动容器进程导致:process_linux.go:459: 容器初始化导致:rootfs_linux.go:59: 挂载“/run/desktop/mnt/host/wsl/ docker-desktop-bind-mounts/Ubuntu-20.04/c0d0caa87ff063ee46265048f5b1ee489a8945669d39c6f6110cd578b8cda1ed”到 rootfs 位于“/var/lib/docker/overlay2/4e6b279945acb06200b3677272774f 4b5fbb6a619214decbca8c594dbbe3b8ec/merged/etc/nginx/nginx.conf”导致:没有这样的文件或目录:未知
让它重新运行的唯一方法是删除容器并再次使用第一个命令。知道如何让它发挥作用。如果我可以在更改配置后重新启动容器,直到找出所需的正确反向代理设置,那就更容易了。
谢谢
在 Informix 的 SQL 中寻找一个模拟 MySQLgroup_concat功能的查询。
MySQL 的group_concat作用是创建组中所有成员的枚举。
因此数据如下:
| 订单号 | 项目名 | 价格 |
|---|---|---|
| 1 | 纸 | 10 |
| 1 | 笔 | 5 |
| 2 | 糖 | 15 |
以及以下查询:
select group_concat(itemName), sum(price)
from order_details
group by orderid
Run Code Online (Sandbox Code Playgroud)
会产生:
| 项目 | 价格 |
|---|---|
| 纸、笔 | 15 |
| 糖 | 15 |
在 Informix 中实现这一目标的最有效方法是什么?我们一定要使用存储过程吗?
docker-compose.exe up节目
错误:需要重新创建网络“docker_default” - 选项“com.docker.network.windowsshim.networkname”已更改
昨天在Windows 10 Pro下进行最后一次 Docker 更新后。我怎样才能做到这一点?
17.06.1-ce874a737以下PHPUnit代码取自他们自己的网站,它对我不起作用,即使文档说它可以工作。
<?php declare(strict_types=1);
use PHPUnit\Framework\TestCase;
final class MultipleDependenciesTest extends TestCase
{
public function testProducerFirst(): string
{
$this->assertTrue(true);
return 'first';
}
public function testProducerSecond(): string
{
$this->assertTrue(true);
return 'second';
}
/**
* @depends testProducerFirst
* @depends testProducerSecond
*/
public function testConsumer(string $a, string $b): void
{
$this->assertSame('first', $a);
$this->assertSame('second', $b);
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
- MultipleDependencyTest::testConsumer ArgumentCountError: 函数 MultipleDependencyTest::testConsumer() 的参数太少,0 已通过,恰好 2 预期`
我跑了composer update,现在收到大量的弃用警告:
> [2019-06-03 18:08:41] request.INFO: Matched route "_wdt".
> {"route":"_wdt","route_parameters":{"_route":"_wdt","_controller":"web_profiler.controller.profiler::toolbarAction","token":"9354bc"},"request_uri":"http://local
> host:8080/_wdt/9354bc","method":"GET"} [] [2019-06-03 18:08:42]
> request.CRITICAL: Uncaught PHP Exception Twig\Error\RuntimeError:
> "Impossible to access an attribute ("nb_errors") on a string variable
> ("O:39:"Symfony\Component\VarDumper\Cloner\Data":6:{s:45:"ymf
> ony\Component\VarDumper\Cloner\Data
Run Code Online (Sandbox Code Playgroud)
该网络探查工具栏被打破,出现此错误:
加载Web调试工具栏时发生错误。
但是当我这样做时,我会bin/console --version得到:
Symfony 4.3.0 (env: dev, debug: true)
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?关于什么composer.json文件提供作曲更新的能力4.3,甚至?
这是我当前的composer.json:
{
"type": "project",
"license": "proprietary",
"require": {
"php": "^7.1.3",
"ext-iconv": "*",
"doctrine/doctrine-migrations-bundle": "^2.0",
"easycorp/easyadmin-bundle": "^1.17",
"iio/libmergepdf": "~3.0", …Run Code Online (Sandbox Code Playgroud) 当我尝试orm-fixtures在 Symfony 5.1 中安装时遇到问题:
$ composer require orm-fixtures --dev
Using version ^3.3 for doctrine/doctrine-fixtures-bundle
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Restricting packages listed in "symfony/symfony" to "5.1.*"
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Conclusion: don't install doctrine/doctrine-fixtures-bundle 3.3.1
- Conclusion: remove doctrine/cache 1.10.2
- Conclusion: don't install doctrine/cache 1.10.2
- doctrine/common 2.2.1 conflicts with doctrine/cache[1.10.2].
- doctrine/common 2.2.2 conflicts with …Run Code Online (Sandbox Code Playgroud) php ×4
symfony ×3
composer-php ×2
docker ×2
doctrine-orm ×2
arrays ×1
doctrine ×1
foreach ×1
generics ×1
informix ×1
javascript ×1
nginx ×1
nginx-config ×1
phpdoc ×1
phpstan ×1
phpunit ×1
sql ×1
symfony-4.3 ×1
upgrade ×1
windows-subsystem-for-linux ×1
wsl-2 ×1