This repository was archived by the owner on Jan 29, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 27
Drop zend loader, module loader and autoloader provider features. #78
Open
Xerkus
wants to merge
2
commits into
zendframework:dev-v3
Choose a base branch
from
Xerkus:feature/drop-zend-loader
base: dev-v3
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
# Upgrading to 3.0 | ||
|
||
## Module autoloading | ||
|
||
zend-modulemanager originates from before the Composer was created, where each | ||
framework had to provide its own autoloading implementation. | ||
Since then Composer became the de-facto standard in managing dependencies and | ||
autoloading for the php projects. | ||
In light of that, zend-servicemanager removes ModuleLoader and autoload | ||
providers support in version 3.0 in favor of | ||
[Composer dependency manager](https://getcomposer.org/). | ||
|
||
### Application local modules | ||
|
||
Autoloading rules for application local modules should now be defined in | ||
application's composer.json | ||
|
||
Before: | ||
```php | ||
namespace Application; | ||
|
||
class Module | ||
{ | ||
public function getAutoloaderConfig() | ||
{ | ||
return [ | ||
'Zend\Loader\StandardAutoloader' => [ | ||
'namespaces' => [ | ||
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, | ||
], | ||
], | ||
]; | ||
} | ||
} | ||
``` | ||
and after: | ||
```json | ||
{ | ||
"name": "zendframework/skeleton-application", | ||
"description": "Skeleton Application for Zend Framework zend-mvc applications", | ||
"type": "project", | ||
... | ||
"autoload": { | ||
"psr-4": { | ||
"Application\\": "module/Application/src/" | ||
} | ||
}, | ||
"autoload-dev": { | ||
"psr-4": { | ||
"ApplicationTest\\": "module/Application/test/" | ||
} | ||
} | ||
} | ||
``` | ||
|
||
[zf-composer-autoloading](https://github.com/zfcampus/zf-composer-autoloading) | ||
provides a handy tool to easily add and remove autoloading rules for local modules to | ||
application's composer.json | ||
|
||
After autoloading rules were updated, composer will need to update autoloader: | ||
|
||
```console | ||
$ composer dump-autoload | ||
``` | ||
|
||
### Composer installed modules | ||
|
||
For composer installed modules, autoloading rules will be automatically picked | ||
by composer from the module's composer.json and no extra effort is needed: | ||
```json | ||
{ | ||
"name": "acme/my-module", | ||
"description": "Module for use with zend-mvc applications.", | ||
"type": "library", | ||
"require": { | ||
"php": "^7.1" | ||
}, | ||
"autoload": { | ||
"psr-4": { | ||
"Acme\\MyModule\\": "src/" | ||
} | ||
} | ||
} | ||
``` |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The migration guide is very good, but only here the autoloading is included. No code example for autoloading in the other documents. Only a note in the introduction.
I think a code example (
composer.json
) in the module class chapter will help a lot.