Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Don't stop PSR-4 service discovery if a parent class is missing#25932

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
fabpot merged 1 commit intosymfony:3.4fromderrabus:di-psr4-missing-parent
Jan 29, 2018

Conversation

@derrabus
Copy link
Member

@derrabusderrabus commentedJan 25, 2018
edited
Loading

QA
Branch?3.4
Bug fix?yes
New feature?no
BC breaks?no
Deprecations?no
Tests pass?yes
Fixed tickets#25929
LicenseMIT
Doc PRN/A

try {
$r =$this->container->getReflectionClass($class);
}catch (\ReflectionException$e) {
$classes[$class] =$e->getMessage();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

It's a little awkward to return an array with the error as the key, but since this method is private, it seems safe.

Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Actually, the class is the key here. I agree that the structure I'm using now is a bit more awkward than the old one, but as you said, the method is private, so it's a purely internal data structure.

That being said, if you have a suggestion regarding a better data structure, I'm all ears. 😃

foreach ($classesas$class) {
foreach ($classesas$class =>$errorMessage) {
if (null !==$errorMessage) {
$definition =newDefinition($class);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

This is a nit-pick, but what happens of$class is actually an alias? Iimagine it would make no difference: if that Definition is ultimately used (likely due to autowiring), it would throw the error.

Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I don't expect this case to be any different than with an alias to a non-broken class. But I'll test it.

foreach ($classesas$class =>$errorMessage) {
if (null !==$errorMessage) {
$definition =newDefinition($class);
$definition->addError($errorMessage);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

We need to think about this error message holistically :). Currently, the user will see:

Class App\Foo\MissingParentClass not found

I think we need to add more... as much as possible really. Something like:

Error when loading registering services from resource "../src/*": an error was thrown when processing the class "App\Foo\ActualClass": "Class App\Foo\MissingParentClass not found".

I would LOVE to even say the line number in YAML or XML... but wedefinitely do not know that :p (pipe dream for someday?)

Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

👍 This code was more or less meant as a POC. I'll see what I can do about improving the DX.

@weaverryan
Copy link
Member

Well-done@derrabus!

The question is: feature or bug-fix? It's asafe change: I mean, anyone with bad classes is currently getting an error... and this just makes itnot an error. I vote bug fix - we'll see what other people think.

@alcaeus
Copy link
Contributor

Agree on it being a bugfix. It doesn't introduce a new public-facing API, it just fixes incorrect behavior.

@nicolas-grekasnicolas-grekas added this to the4.1 milestoneJan 26, 2018

foreach ($classesas$class) {
foreach ($classesas$class =>$errorMessage) {
if (null !==$errorMessage) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

what about putting this "if" just after the existing$this->setDefinition($class, unserialize($serializedPrototype)); line?
no need to explicitly create a new definition, the prototype-based one is better, isn't it?

Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I agree about the prototype definition. About moving this block down: I'd like to avoid theinterface_exists() call below, so the block should probably stay here.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I'd like to avoid the interface_exists() call below

is there any reason for that? I'm not sure this is a valid concern :)

Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I expected theinterface_exists call to trigger the autoloader again, but appearently it doesn't. I'm moving the block.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

The call usesfalse as second argument, precisely to avoid the autoloading call.

derrabus reacted with thumbs up emoji
Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Exactly. Block moved. ✅

@derrabus
Copy link
MemberAuthor

derrabus commentedJan 26, 2018
edited
Loading

@nicolas-grekas,@stof: Do you agree with@weaverryan on turning this PR into a bugfix? I'd try to apply my patch against 3.4 then.

@nicolas-grekas
Copy link
Member

I do, go for 3.4 on my side

derrabus reacted with thumbs up emojialcaeus reacted with hooray emoji

@nicolas-grekasnicolas-grekas modified the milestones:4.1,3.4Jan 26, 2018
@derrabusderrabus changed the base branch frommaster to3.4January 26, 2018 13:37
@derrabus
Copy link
MemberAuthor

I've added some context to the error message extracted from the exception. Please have a look@weaverryan.

@derrabus
Copy link
MemberAuthor

derrabus commentedJan 26, 2018
edited
Loading

I've set up asymfony/symfony-standard clone with a class that extends a missing class. With Symfony 3.4 from composer, invoking the console fails as expected.

bildschirmfoto 2018-01-26 um 14 48 58

When I link the project to the code of this PR, the console is executed without failure. Now, if I add a public alias to the service discovered from my broken class, the console fails again.

bildschirmfoto 2018-01-26 um 14 45 32

alcaeus reacted with heart emoji

@derrabus
Copy link
MemberAuthor

derrabus commentedJan 26, 2018
edited
Loading

The AppVeyor failure looks unrelated.

$r =$this->container->getReflectionClass($class);
}catch (\ReflectionException$e) {
$classes[$class] =sprintf(
'While discovering services from namespace "%s", an error was thrown when processing the class "%s": %s',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

nit pick :). I think we usually try to end errors with a period. So the end of this could be:

... processing the class "%s": "%s".

Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Copy link
Member

@weaverryanweaverryan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Nice job!

@fabpot
Copy link
Member

Thank you@derrabus.

@fabpotfabpot merged commit3d6c3ba intosymfony:3.4Jan 29, 2018
fabpot added a commit that referenced this pull requestJan 29, 2018
…ssing (derrabus)This PR was merged into the 3.4 branch.Discussion----------Don't stop PSR-4 service discovery if a parent class is missing| Q             | A| ------------- | ---| Branch?       | 3.4| Bug fix?      | yes| New feature?  | no| BC breaks?    | no| Deprecations? | no| Tests pass?   | yes| Fixed tickets |#25929| License       | MIT| Doc PR        | N/ACommits-------3d6c3ba Don't stop PSR-4 service discovery if a parent class is missing.
@derrabusderrabus deleted the di-psr4-missing-parent branchJanuary 29, 2018 10:12
@fabpotfabpot mentioned this pull requestJan 29, 2018
@derrabusderrabus mentioned this pull requestJan 29, 2018
@fabpotfabpot mentioned this pull requestMar 1, 2018
@UBERPHP
Copy link

not sure if it's related to this, however I'm not able to run "composer update --no-dev"
Maybe I'm doing something wrong?
reproduction would be:

composer create-project symfony/website-skeleton my_project_namecd my_project_name/composer require --dev orm-fixturescomposer update -n --no-dev

the output:

[user@server ~]$ composer create-project symfony/website-skeleton my_project_nameCreating a "symfony/website-skeleton" project at "./my_project_name"Installing symfony/website-skeleton (v5.3.99)  - Downloading symfony/website-skeleton (v5.3.99)  - Installing symfony/website-skeleton (v5.3.99): Extracting archiveCreated project in /home/user/my_project_nameLoading composer repositories with package informationUpdating dependenciesLock file operations: 1 install, 0 updates, 0 removals  - Locking symfony/flex (v1.13.3)Writing lock fileInstalling dependencies from lock file (including require-dev)Package operations: 1 install, 0 updates, 0 removals  - Downloading symfony/flex (v1.13.3)  - Installing symfony/flex (v1.13.3): Extracting archiveSymfony operations: 1 recipe (ef7eda7ffc186c37ffcded25cee51c62)  - Configuring symfony/flex (>=1.0): From github.com/symfony/recipes:masterLoading composer repositories with package informationRestricting packages listed in "symfony/symfony" to "5.3.*"Updating dependenciesLock file operations: 137 installs, 0 updates, 0 removals  - Locking composer/package-versions-deprecated (1.11.99.2)  - Locking doctrine/annotations (1.13.1)  - Locking doctrine/cache (1.11.3)  - Locking doctrine/collections (1.6.7)  - Locking doctrine/common (3.1.2)  - Locking doctrine/dbal (2.13.1)  - Locking doctrine/deprecations (v0.5.3)  - Locking doctrine/doctrine-bundle (2.4.2)  - Locking doctrine/doctrine-migrations-bundle (3.1.1)  - Locking doctrine/event-manager (1.1.1)  - Locking doctrine/inflector (2.0.3)  - Locking doctrine/instantiator (1.4.0)  - Locking doctrine/lexer (1.2.1)  - Locking doctrine/migrations (3.1.3)  - Locking doctrine/orm (2.9.2)  - Locking doctrine/persistence (2.2.1)  - Locking doctrine/sql-formatter (1.1.1)  - Locking egulias/email-validator (3.1.1)  - Locking friendsofphp/proxy-manager-lts (v1.0.5)  - Locking laminas/laminas-code (4.3.0)  - Locking laminas/laminas-eventmanager (3.3.1)  - Locking laminas/laminas-zendframework-bridge (1.2.0)  - Locking monolog/monolog (2.2.0)  - Locking myclabs/deep-copy (1.10.2)  - Locking nikic/php-parser (v4.10.5)  - Locking phar-io/manifest (2.0.1)  - Locking phar-io/version (3.1.0)  - Locking phpdocumentor/reflection-common (2.2.0)  - Locking phpdocumentor/reflection-docblock (5.2.2)  - Locking phpdocumentor/type-resolver (1.4.0)  - Locking phpspec/prophecy (1.13.0)  - Locking phpunit/php-code-coverage (9.2.6)  - Locking phpunit/php-file-iterator (3.0.5)  - Locking phpunit/php-invoker (3.1.1)  - Locking phpunit/php-text-template (2.0.4)  - Locking phpunit/php-timer (5.0.3)  - Locking phpunit/phpunit (9.5.5)  - Locking psr/cache (2.0.0)  - Locking psr/container (1.1.1)  - Locking psr/event-dispatcher (1.0.0)  - Locking psr/link (1.1.1)  - Locking psr/log (1.1.4)  - Locking sebastian/cli-parser (1.0.1)  - Locking sebastian/code-unit (1.0.8)  - Locking sebastian/code-unit-reverse-lookup (2.0.3)  - Locking sebastian/comparator (4.0.6)  - Locking sebastian/complexity (2.0.2)  - Locking sebastian/diff (4.0.4)  - Locking sebastian/environment (5.1.3)  - Locking sebastian/exporter (4.0.3)  - Locking sebastian/global-state (5.0.3)  - Locking sebastian/lines-of-code (1.0.3)  - Locking sebastian/object-enumerator (4.0.4)  - Locking sebastian/object-reflector (2.0.4)  - Locking sebastian/recursion-context (4.0.4)  - Locking sebastian/resource-operations (3.0.3)  - Locking sebastian/type (2.3.2)  - Locking sebastian/version (3.0.2)  - Locking sensio/framework-extra-bundle (v6.1.5)  - Locking symfony/asset (v5.3.0)  - Locking symfony/browser-kit (v5.3.0)  - Locking symfony/cache (v5.3.0)  - Locking symfony/cache-contracts (v2.4.0)  - Locking symfony/config (v5.3.0)  - Locking symfony/console (v5.3.0)  - Locking symfony/css-selector (v5.3.0)  - Locking symfony/debug-bundle (v5.3.0)  - Locking symfony/debug-pack (v1.0.9)  - Locking symfony/dependency-injection (v5.3.0)  - Locking symfony/deprecation-contracts (v2.4.0)  - Locking symfony/doctrine-bridge (v5.3.1)  - Locking symfony/dom-crawler (v5.3.0)  - Locking symfony/dotenv (v5.3.0)  - Locking symfony/error-handler (v5.3.0)  - Locking symfony/event-dispatcher (v5.3.0)  - Locking symfony/event-dispatcher-contracts (v2.4.0)  - Locking symfony/expression-language (v5.3.0)  - Locking symfony/filesystem (v5.3.0)  - Locking symfony/finder (v5.3.0)  - Locking symfony/form (v5.3.0)  - Locking symfony/framework-bundle (v5.3.0)  - Locking symfony/http-client (v5.3.0)  - Locking symfony/http-client-contracts (v2.4.0)  - Locking symfony/http-foundation (v5.3.1)  - Locking symfony/http-kernel (v5.3.1)  - Locking symfony/intl (v5.3.0)  - Locking symfony/mailer (v5.3.0)  - Locking symfony/maker-bundle (v1.31.1)  - Locking symfony/mime (v5.3.0)  - Locking symfony/monolog-bridge (v5.3.0)  - Locking symfony/monolog-bundle (v3.7.0)  - Locking symfony/notifier (v5.3.0)  - Locking symfony/options-resolver (v5.3.0)  - Locking symfony/orm-pack (v2.1.0)  - Locking symfony/password-hasher (v5.3.0)  - Locking symfony/phpunit-bridge (v5.3.0)  - Locking symfony/polyfill-intl-grapheme (v1.23.0)  - Locking symfony/polyfill-intl-icu (v1.23.0)  - Locking symfony/polyfill-intl-idn (v1.23.0)  - Locking symfony/polyfill-intl-normalizer (v1.23.0)  - Locking symfony/polyfill-mbstring (v1.23.0)  - Locking symfony/polyfill-php73 (v1.23.0)  - Locking symfony/polyfill-php80 (v1.23.0)  - Locking symfony/polyfill-php81 (v1.23.0)  - Locking symfony/process (v5.3.0)  - Locking symfony/profiler-pack (v1.0.5)  - Locking symfony/property-access (v5.3.0)  - Locking symfony/property-info (v5.3.1)  - Locking symfony/proxy-manager-bridge (v5.3.0)  - Locking symfony/routing (v5.3.0)  - Locking symfony/runtime (v5.3.0)  - Locking symfony/security-bundle (v5.3.0)  - Locking symfony/security-core (v5.3.1)  - Locking symfony/security-csrf (v5.3.0)  - Locking symfony/security-guard (v5.3.0)  - Locking symfony/security-http (v5.3.1)  - Locking symfony/serializer (v5.3.1)  - Locking symfony/serializer-pack (v1.0.4)  - Locking symfony/service-contracts (v2.4.0)  - Locking symfony/stopwatch (v5.3.0)  - Locking symfony/string (v5.3.0)  - Locking symfony/test-pack (v1.0.8)  - Locking symfony/translation (v5.3.0)  - Locking symfony/translation-contracts (v2.4.0)  - Locking symfony/twig-bridge (v5.3.0)  - Locking symfony/twig-bundle (v5.3.0)  - Locking symfony/twig-pack (v1.0.1)  - Locking symfony/validator (v5.3.1)  - Locking symfony/var-dumper (v5.3.0)  - Locking symfony/var-exporter (v5.3.0)  - Locking symfony/web-link (v5.3.0)  - Locking symfony/web-profiler-bundle (v5.3.0)  - Locking symfony/yaml (v5.3.0)  - Locking theseer/tokenizer (1.2.0)  - Locking twig/extra-bundle (v3.3.1)  - Locking twig/twig (v3.3.2)  - Locking webmozart/assert (1.10.0)Writing lock fileInstalling dependencies from lock file (including require-dev)Package operations: 137 installs, 0 updates, 0 removals  - Downloading composer/package-versions-deprecated (1.11.99.2)  - Downloading symfony/polyfill-php80 (v1.23.0)  - Downloading symfony/runtime (v5.3.0)  - Downloading doctrine/cache (1.11.3)  - Downloading doctrine/collections (1.6.7)  - Downloading psr/cache (2.0.0)  - Downloading doctrine/event-manager (1.1.1)  - Downloading doctrine/deprecations (v0.5.3)  - Downloading doctrine/lexer (1.2.1)  - Downloading doctrine/annotations (1.13.1)  - Downloading doctrine/persistence (2.2.1)  - Downloading doctrine/common (3.1.2)  - Downloading psr/container (1.1.1)  - Downloading symfony/service-contracts (v2.4.0)  - Downloading symfony/stopwatch (v5.3.0)  - Downloading symfony/polyfill-mbstring (v1.23.0)  - Downloading symfony/polyfill-intl-normalizer (v1.23.0)  - Downloading symfony/polyfill-intl-grapheme (v1.23.0)  - Downloading symfony/string (v5.3.0)  - Downloading symfony/polyfill-php73 (v1.23.0)  - Downloading symfony/deprecation-contracts (v2.4.0)  - Downloading symfony/console (v5.3.0)  - Downloading psr/log (1.1.4)  - Downloading symfony/filesystem (v5.3.0)  - Downloading laminas/laminas-zendframework-bridge (1.2.0)  - Downloading laminas/laminas-eventmanager (3.3.1)  - Downloading laminas/laminas-code (4.3.0)  - Downloading friendsofphp/proxy-manager-lts (v1.0.5)  - Downloading doctrine/dbal (2.13.1)  - Downloading doctrine/migrations (3.1.3)  - Downloading doctrine/sql-formatter (1.1.1)  - Downloading phar-io/version (3.1.0)  - Downloading webmozart/assert (1.10.0)  - Downloading phpspec/prophecy (1.13.0)  - Downloading nikic/php-parser (v4.10.5)  - Downloading phpunit/php-code-coverage (9.2.6)  - Downloading sebastian/global-state (5.0.3)  - Downloading sebastian/type (2.3.2)  - Downloading symfony/http-foundation (v5.3.1)  - Downloading symfony/http-client-contracts (v2.4.0)  - Downloading psr/event-dispatcher (1.0.0)  - Downloading symfony/event-dispatcher-contracts (v2.4.0)  - Downloading symfony/event-dispatcher (v5.3.0)  - Downloading symfony/var-dumper (v5.3.0)  - Downloading symfony/error-handler (v5.3.0)  - Downloading symfony/http-kernel (v5.3.1)  - Downloading symfony/routing (v5.3.0)  - Downloading symfony/finder (v5.3.0)  - Downloading symfony/dependency-injection (v5.3.0)  - Downloading symfony/polyfill-php81 (v1.23.0)  - Downloading symfony/config (v5.3.0)  - Downloading symfony/var-exporter (v5.3.0)  - Downloading symfony/cache-contracts (v2.4.0)  - Downloading symfony/cache (v5.3.0)  - Downloading symfony/framework-bundle (v5.3.0)  - Downloading sensio/framework-extra-bundle (v6.1.5)  - Downloading symfony/asset (v5.3.0)  - Downloading twig/twig (v3.3.2)  - Downloading symfony/translation-contracts (v2.4.0)  - Downloading symfony/twig-bridge (v5.3.0)  - Downloading symfony/twig-bundle (v5.3.0)  - Downloading symfony/web-profiler-bundle (v5.3.0)  - Downloading symfony/profiler-pack (v1.0.5)  - Downloading monolog/monolog (2.2.0)  - Downloading symfony/monolog-bridge (v5.3.0)  - Downloading symfony/monolog-bundle (v3.7.0)  - Downloading symfony/debug-bundle (v5.3.0)  - Downloading symfony/debug-pack (v1.0.9)  - Downloading symfony/doctrine-bridge (v5.3.1)  - Downloading symfony/dom-crawler (v5.3.0)  - Downloading symfony/dotenv (v5.3.0)  - Downloading symfony/expression-language (v5.3.0)  - Downloading symfony/property-info (v5.3.1)  - Downloading symfony/property-access (v5.3.0)  - Downloading symfony/polyfill-intl-icu (v1.23.0)  - Downloading symfony/options-resolver (v5.3.0)  - Downloading symfony/form (v5.3.0)  - Downloading symfony/http-client (v5.3.0)  - Downloading symfony/intl (v5.3.0)  - Downloading symfony/polyfill-intl-idn (v1.23.0)  - Downloading symfony/mime (v5.3.0)  - Downloading egulias/email-validator (3.1.1)  - Downloading symfony/mailer (v5.3.0)  - Downloading doctrine/inflector (2.0.3)  - Downloading symfony/maker-bundle (v1.31.1)  - Downloading symfony/notifier (v5.3.0)  - Downloading symfony/proxy-manager-bridge (v5.3.0)  - Downloading doctrine/orm (2.9.2)  - Downloading doctrine/doctrine-bundle (2.4.2)  - Downloading doctrine/doctrine-migrations-bundle (3.1.1)  - Downloading symfony/orm-pack (v2.1.0)  - Downloading symfony/process (v5.3.0)  - Downloading symfony/password-hasher (v5.3.0)  - Downloading symfony/security-core (v5.3.1)  - Downloading symfony/security-http (v5.3.1)  - Downloading symfony/security-guard (v5.3.0)  - Downloading symfony/security-csrf (v5.3.0)  - Downloading symfony/security-bundle (v5.3.0)  - Downloading symfony/serializer (v5.3.1)  - Downloading symfony/serializer-pack (v1.0.4)  - Downloading symfony/phpunit-bridge (v5.3.0)  - Downloading symfony/css-selector (v5.3.0)  - Downloading symfony/browser-kit (v5.3.0)  - Downloading phpunit/phpunit (9.5.5)  - Downloading symfony/test-pack (v1.0.8)  - Downloading symfony/translation (v5.3.0)  - Downloading twig/extra-bundle (v3.3.1)  - Downloading symfony/twig-pack (v1.0.1)  - Downloading symfony/validator (v5.3.1)  - Downloading psr/link (1.1.1)  - Downloading symfony/web-link (v5.3.0)  - Downloading symfony/yaml (v5.3.0)  - Installing composer/package-versions-deprecated (1.11.99.2): Extracting archive  - Installing symfony/polyfill-php80 (v1.23.0): Extracting archive  - Installing symfony/runtime (v5.3.0): Extracting archive  - Installing doctrine/cache (1.11.3): Extracting archive  - Installing doctrine/collections (1.6.7): Extracting archive  - Installing psr/cache (2.0.0): Extracting archive  - Installing doctrine/event-manager (1.1.1): Extracting archive  - Installing doctrine/deprecations (v0.5.3): Extracting archive  - Installing doctrine/lexer (1.2.1): Extracting archive  - Installing doctrine/annotations (1.13.1): Extracting archive  - Installing doctrine/persistence (2.2.1): Extracting archive  - Installing doctrine/common (3.1.2): Extracting archive  - Installing psr/container (1.1.1): Extracting archive  - Installing symfony/service-contracts (v2.4.0): Extracting archive  - Installing symfony/stopwatch (v5.3.0): Extracting archive  - Installing symfony/polyfill-mbstring (v1.23.0): Extracting archive  - Installing symfony/polyfill-intl-normalizer (v1.23.0): Extracting archive  - Installing symfony/polyfill-intl-grapheme (v1.23.0): Extracting archive  - Installing symfony/string (v5.3.0): Extracting archive  - Installing symfony/polyfill-php73 (v1.23.0): Extracting archive  - Installing symfony/deprecation-contracts (v2.4.0): Extracting archive  - Installing symfony/console (v5.3.0): Extracting archive  - Installing psr/log (1.1.4): Extracting archive  - Installing symfony/filesystem (v5.3.0): Extracting archive  - Installing laminas/laminas-zendframework-bridge (1.2.0): Extracting archive  - Installing laminas/laminas-eventmanager (3.3.1): Extracting archive  - Installing laminas/laminas-code (4.3.0): Extracting archive  - Installing friendsofphp/proxy-manager-lts (v1.0.5): Extracting archive  - Installing doctrine/dbal (2.13.1): Extracting archive  - Installing doctrine/migrations (3.1.3): Extracting archive  - Installing doctrine/sql-formatter (1.1.1): Extracting archive  - Installing myclabs/deep-copy (1.10.2): Extracting archive  - Installing phar-io/version (3.1.0): Extracting archive  - Installing phar-io/manifest (2.0.1): Extracting archive  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive  - Installing phpdocumentor/type-resolver (1.4.0): Extracting archive  - Installing sebastian/recursion-context (4.0.4): Extracting archive  - Installing sebastian/exporter (4.0.3): Extracting archive  - Installing sebastian/diff (4.0.4): Extracting archive  - Installing sebastian/comparator (4.0.6): Extracting archive  - Installing webmozart/assert (1.10.0): Extracting archive  - Installing phpdocumentor/reflection-docblock (5.2.2): Extracting archive  - Installing doctrine/instantiator (1.4.0): Extracting archive  - Installing phpspec/prophecy (1.13.0): Extracting archive  - Installing theseer/tokenizer (1.2.0): Extracting archive  - Installing sebastian/version (3.0.2): Extracting archive  - Installing nikic/php-parser (v4.10.5): Extracting archive  - Installing sebastian/lines-of-code (1.0.3): Extracting archive  - Installing sebastian/environment (5.1.3): Extracting archive  - Installing sebastian/complexity (2.0.2): Extracting archive  - Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive  - Installing phpunit/php-text-template (2.0.4): Extracting archive  - Installing phpunit/php-file-iterator (3.0.5): Extracting archive  - Installing phpunit/php-code-coverage (9.2.6): Extracting archive  - Installing phpunit/php-invoker (3.1.1): Extracting archive  - Installing phpunit/php-timer (5.0.3): Extracting archive  - Installing sebastian/cli-parser (1.0.1): Extracting archive  - Installing sebastian/code-unit (1.0.8): Extracting archive  - Installing sebastian/object-reflector (2.0.4): Extracting archive  - Installing sebastian/global-state (5.0.3): Extracting archive  - Installing sebastian/object-enumerator (4.0.4): Extracting archive  - Installing sebastian/resource-operations (3.0.3): Extracting archive  - Installing sebastian/type (2.3.2): Extracting archive  - Installing symfony/http-foundation (v5.3.1): Extracting archive  - Installing symfony/http-client-contracts (v2.4.0): Extracting archive  - Installing psr/event-dispatcher (1.0.0): Extracting archive  - Installing symfony/event-dispatcher-contracts (v2.4.0): Extracting archive  - Installing symfony/event-dispatcher (v5.3.0): Extracting archive  - Installing symfony/var-dumper (v5.3.0): Extracting archive  - Installing symfony/error-handler (v5.3.0): Extracting archive  - Installing symfony/http-kernel (v5.3.1): Extracting archive  - Installing symfony/routing (v5.3.0): Extracting archive  - Installing symfony/finder (v5.3.0): Extracting archive  - Installing symfony/dependency-injection (v5.3.0): Extracting archive  - Installing symfony/polyfill-php81 (v1.23.0): Extracting archive  - Installing symfony/config (v5.3.0): Extracting archive  - Installing symfony/var-exporter (v5.3.0): Extracting archive  - Installing symfony/cache-contracts (v2.4.0): Extracting archive  - Installing symfony/cache (v5.3.0): Extracting archive  - Installing symfony/framework-bundle (v5.3.0): Extracting archive  - Installing sensio/framework-extra-bundle (v6.1.5): Extracting archive  - Installing symfony/asset (v5.3.0): Extracting archive  - Installing twig/twig (v3.3.2): Extracting archive  - Installing symfony/translation-contracts (v2.4.0): Extracting archive  - Installing symfony/twig-bridge (v5.3.0): Extracting archive  - Installing symfony/twig-bundle (v5.3.0): Extracting archive  - Installing symfony/web-profiler-bundle (v5.3.0): Extracting archive  - Installing symfony/profiler-pack (v1.0.5): Extracting archive  - Installing monolog/monolog (2.2.0): Extracting archive  - Installing symfony/monolog-bridge (v5.3.0): Extracting archive  - Installing symfony/monolog-bundle (v3.7.0): Extracting archive  - Installing symfony/debug-bundle (v5.3.0): Extracting archive  - Installing symfony/debug-pack (v1.0.9): Extracting archive  - Installing symfony/doctrine-bridge (v5.3.1): Extracting archive  - Installing symfony/dom-crawler (v5.3.0): Extracting archive  - Installing symfony/dotenv (v5.3.0): Extracting archive  - Installing symfony/expression-language (v5.3.0): Extracting archive  - Installing symfony/property-info (v5.3.1): Extracting archive  - Installing symfony/property-access (v5.3.0): Extracting archive  - Installing symfony/polyfill-intl-icu (v1.23.0): Extracting archive  - Installing symfony/options-resolver (v5.3.0): Extracting archive  - Installing symfony/form (v5.3.0): Extracting archive  - Installing symfony/http-client (v5.3.0): Extracting archive  - Installing symfony/intl (v5.3.0): Extracting archive  - Installing symfony/polyfill-intl-idn (v1.23.0): Extracting archive  - Installing symfony/mime (v5.3.0): Extracting archive  - Installing egulias/email-validator (3.1.1): Extracting archive  - Installing symfony/mailer (v5.3.0): Extracting archive  - Installing doctrine/inflector (2.0.3): Extracting archive  - Installing symfony/maker-bundle (v1.31.1): Extracting archive  - Installing symfony/notifier (v5.3.0): Extracting archive  - Installing symfony/proxy-manager-bridge (v5.3.0): Extracting archive  - Installing doctrine/orm (2.9.2): Extracting archive  - Installing doctrine/doctrine-bundle (2.4.2): Extracting archive  - Installing doctrine/doctrine-migrations-bundle (3.1.1): Extracting archive  - Installing symfony/orm-pack (v2.1.0): Extracting archive  - Installing symfony/process (v5.3.0): Extracting archive  - Installing symfony/password-hasher (v5.3.0): Extracting archive  - Installing symfony/security-core (v5.3.1): Extracting archive  - Installing symfony/security-http (v5.3.1): Extracting archive  - Installing symfony/security-guard (v5.3.0): Extracting archive  - Installing symfony/security-csrf (v5.3.0): Extracting archive  - Installing symfony/security-bundle (v5.3.0): Extracting archive  - Installing symfony/serializer (v5.3.1): Extracting archive  - Installing symfony/serializer-pack (v1.0.4): Extracting archive  - Installing symfony/phpunit-bridge (v5.3.0): Extracting archive  - Installing symfony/css-selector (v5.3.0): Extracting archive  - Installing symfony/browser-kit (v5.3.0): Extracting archive  - Installing phpunit/phpunit (9.5.5): Extracting archive  - Installing symfony/test-pack (v1.0.8): Extracting archive  - Installing symfony/translation (v5.3.0): Extracting archive  - Installing twig/extra-bundle (v3.3.1): Extracting archive  - Installing symfony/twig-pack (v1.0.1): Extracting archive  - Installing symfony/validator (v5.3.1): Extracting archive  - Installing psr/link (1.1.1): Extracting archive  - Installing symfony/web-link (v5.3.0): Extracting archive  - Installing symfony/yaml (v5.3.0): Extracting archiveGenerating optimized autoload filescomposer/package-versions-deprecated: Generating version class...composer/package-versions-deprecated: ...done generating version class118 packages you are using are looking for funding.Use the `composer fund` command to find out more!Symfony operations: 20 recipes (ef7eda7ffc186c37ffcded25cee51c62)  - Configuring symfony/framework-bundle (>=5.3): From github.com/symfony/recipes:master  - Configuring doctrine/annotations (>=1.0): From github.com/symfony/recipes:master  - Configuring symfony/console (>=5.3): From github.com/symfony/recipes:master  - Configuring symfony/routing (>=5.3): From github.com/symfony/recipes:master  - Configuring sensio/framework-extra-bundle (>=5.2): From github.com/symfony/recipes:master  - Configuring symfony/twig-bundle (>=5.3): From github.com/symfony/recipes:master  - Configuring symfony/web-profiler-bundle (>=3.3): From github.com/symfony/recipes:master  - Configuring symfony/monolog-bundle (>=3.7): From github.com/symfony/recipes:master  - Configuring symfony/debug-bundle (>=4.1): From github.com/symfony/recipes:master  - Configuring symfony/mailer (>=4.3): From github.com/symfony/recipes:master  - Configuring symfony/maker-bundle (>=1.0): From github.com/symfony/recipes:master  - Configuring symfony/notifier (>=5.0): From github.com/symfony/recipes:master  - Configuring doctrine/doctrine-bundle (>=2.4): From github.com/symfony/recipes:master  - Configuring doctrine/doctrine-migrations-bundle (>=3.1): From github.com/symfony/recipes:master  - Configuring symfony/security-bundle (>=5.3): From github.com/symfony/recipes:master  - Configuring symfony/phpunit-bridge (>=5.3): From github.com/symfony/recipes:master  - Configuring phpunit/phpunit (>=9.3): From github.com/symfony/recipes:master  - Configuring symfony/translation (>=5.3): From github.com/symfony/recipes:master  - Configuring twig/extra-bundle (>=v3.3.1): From auto-generated recipe  - Configuring symfony/validator (>=4.3): From github.com/symfony/recipes:masterExecuting script cache:clear [OK]Executing script assets:install public [OK]Some files may have been created or updated to configure your new packages.Please review, edit and commit them: these files are yours.Some files may have been created or updated to configure your new packages.Please review, edit and commit them: these files are yours. What's next?  * Run your application:    1. Go to the project directory    2. Create your code repository with the git init command    3. Download the Symfony CLI at https://symfony.com/download to install a development web server  * Read the documentation at https://symfony.com/doc What's next?  * You're ready to send emails.  * If you want to send emails via a supported email provider, install    the corresponding bridge.    For instance, composer require mailgun-mailer for Mailgun.  * If you want to send emails asynchronously:    1. Install the messenger component by running composer require messenger;    2. Add 'Symfony\Component\Mailer\Messenger\SendEmailMessage': amqp to the       config/packages/messenger.yaml file under framework.messenger.routing       and replace amqp with your transport name of choice.  * Read the documentation at https://symfony.com/doc/master/mailer.html Database Configuration  * Modify your DATABASE_URL config in .env  * Configure the driver (postgresql) and    server_version (13) in config/packages/doctrine.yaml How to test?  * Write test cases in the tests/ folder  * Use MakerBundle's make:test command as a shortcut!  * Run the tests with php bin/phpunit[user@server ~]$ cd my_project_name/[user@server my_project_name]$ composer require --dev orm-fixturesUsing version ^3.4 for doctrine/doctrine-fixtures-bundle./composer.json has been updatedRunning composer update doctrine/doctrine-fixtures-bundleLoading composer repositories with package informationUpdating dependenciesLock file operations: 2 installs, 0 updates, 0 removals  - Locking doctrine/data-fixtures (1.5.0)  - Locking doctrine/doctrine-fixtures-bundle (3.4.0)Writing lock fileInstalling dependencies from lock file (including require-dev)Package operations: 2 installs, 0 updates, 0 removals  - Installing doctrine/data-fixtures (1.5.0): Extracting archive  - Installing doctrine/doctrine-fixtures-bundle (3.4.0): Extracting archiveGenerating optimized autoload filescomposer/package-versions-deprecated: Generating version class...composer/package-versions-deprecated: ...done generating version class114 packages you are using are looking for funding.Use the `composer fund` command to find out more!Symfony operations: 1 recipe (6101bff48d0c9a50c719b68572ba4e6e)  - Configuring doctrine/doctrine-fixtures-bundle (>=3.0): From github.com/symfony/recipes:masterExecuting script cache:clear [OK]Executing script assets:install public [OK]Some files may have been created or updated to configure your new packages.Please review, edit and commit them: these files are yours.Nothing to unpack[user@server my_project_name]$ composer update -n --no-devLoading composer repositories with package informationRestricting packages listed in "symfony/symfony" to "5.3.*"Updating dependenciesNothing to modify in lock fileInstalling dependencies from lock filePackage operations: 0 installs, 0 updates, 37 removals  - Removing theseer/tokenizer (1.2.0)  - Removing symfony/web-profiler-bundle (v5.3.0)  - Removing symfony/phpunit-bridge (v5.3.0)  - Removing symfony/maker-bundle (v1.31.1)  - Removing symfony/dom-crawler (v5.3.0)  - Removing symfony/debug-bundle (v5.3.0)  - Removing symfony/css-selector (v5.3.0)  - Removing symfony/browser-kit (v5.3.0)  - Removing sebastian/version (3.0.2)  - Removing sebastian/type (2.3.2)  - Removing sebastian/resource-operations (3.0.3)  - Removing sebastian/recursion-context (4.0.4)  - Removing sebastian/object-reflector (2.0.4)  - Removing sebastian/object-enumerator (4.0.4)  - Removing sebastian/lines-of-code (1.0.3)  - Removing sebastian/global-state (5.0.3)  - Removing sebastian/exporter (4.0.3)  - Removing sebastian/environment (5.1.3)  - Removing sebastian/diff (4.0.4)  - Removing sebastian/complexity (2.0.2)  - Removing sebastian/comparator (4.0.6)  - Removing sebastian/code-unit-reverse-lookup (2.0.3)  - Removing sebastian/code-unit (1.0.8)  - Removing sebastian/cli-parser (1.0.1)  - Removing phpunit/phpunit (9.5.5)  - Removing phpunit/php-timer (5.0.3)  - Removing phpunit/php-text-template (2.0.4)  - Removing phpunit/php-invoker (3.1.1)  - Removing phpunit/php-file-iterator (3.0.5)  - Removing phpunit/php-code-coverage (9.2.6)  - Removing phpspec/prophecy (1.13.0)  - Removing phar-io/version (3.1.0)  - Removing phar-io/manifest (2.0.1)  - Removing nikic/php-parser (v4.10.5)  - Removing myclabs/deep-copy (1.10.2)  - Removing doctrine/doctrine-fixtures-bundle (3.4.0)  - Removing doctrine/data-fixtures (1.5.0)Generating optimized autoload filescomposer/package-versions-deprecated: Generating version class...composer/package-versions-deprecated: ...done generating version class81 packages you are using are looking for funding.Use the `composer fund` command to find out more!Run composer recipes at any time to see the status of your Symfony recipes.Executing script cache:clear [KO] [KO]Script cache:clear returned with error code 1!!!!  In ClassExistenceResource.php line 74:!!!!    Class "Doctrine\Bundle\FixturesBundle\Fixture" not found while loading "App!!    \DataFixtures\AppFixtures".!!!!!!Script @auto-scripts was called via post-update-cmd

@nicolas-grekas
Copy link
Member

You're looking for#41673
But please abstain from commenting on closed PRs/issues as that can't be tracked appropriately.

@UBERPHP
Copy link

UBERPHP commentedJun 12, 2021
edited
Loading

thanks@nicolas-grekas . I'll try not to do this again

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@stofstofstof left review comments

@fabpotfabpotfabpot approved these changes

@dunglasdunglasdunglas approved these changes

@weaverryanweaverryanweaverryan approved these changes

@nicolas-grekasnicolas-grekasnicolas-grekas approved these changes

@chalasrchalasrchalasr approved these changes

Assignees

No one assigned

Projects

None yet

Milestone

3.4

Development

Successfully merging this pull request may close these issues.

10 participants

@derrabus@weaverryan@alcaeus@nicolas-grekas@fabpot@UBERPHP@dunglas@stof@chalasr@carsonbot

[8]ページ先頭

©2009-2025 Movatter.jp