vendor
Magento Enterprise 2.0.0のディレクトリに新しいモジュールを作成しようとしました。Magentoを実行した後、モジュールをロードできませんでしたsetup:upgrade
。
ファイルをapp/code
ディレクトリに移動すると、モジュールが正常にセットアップされます。
Magento 2 Enterpriseエディションの場合、すべてのモジュールはvendor
ディレクトリにありますが、Communityエディションはapp/code
ディレクトリを使用します。vendor
ディレクトリにカスタムモジュールを作成することは可能かと思います。はい場合は、カスタムモジュールの作成との違い何app/code
とはvendor
。
vendor/Test/Testing/registration.php
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Test_Testing',
__DIR__ );
vendor/Test/Testing/composer.json
{ "name": "test/testing", "description": "Testing", "require": {
"php": "~5.5.0|~5.6.0|~7.0.0",
"magento/framework": "100.0.*" }, "type": "magento2-module", "version": "0.1.0", "license": [
"proprietary" ], "autoload": {
"files": [ "registration.php" ],
"psr-4": {
"Test\\Testing\\": ""
} } }
vendor/Test/Testing/etc/module.xml
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Test_Testing" setup_version="0.1.0">
</module> </config>
エンタープライズモジュールをベンダーディレクトリに保持する必要がありますか?
—
ヴァレリーStatichnyi
申し訳ありませんが、Magento 2 Enterpriseパッケージをダウンロードし、コアモジュールまたはエンタープライズモジュールに関係なく、すべてのモジュールがベンダーディレクトリに保存されていたため、意味がわかりません。Magentoフレームワークもベンダーディレクトリに保存されます。元のパッケージにapp / codeディレクトリが存在しませんでした。
—
ジェイソンイップ
composer.jsonの「psr-4」アイテムは何をしているのでしょうか?パッケージを使用しますが、独自のGitLabがあるため、ベンダーでもコーディングする必要がありますが、私のコードは認識されません。Magentoコアモジュールからクラスをインスタンス化できますが、Cronは機能しません。私はそれが自動読み込みに関係していると思います、私のファイルは読まれていません。
—
ジャック
Company\Reviews\Cron\Check
ファイルにクラス/vendor/company/Reviews/Cron/Check.php
があり、cronjob Company\Reviews\Cron\Check
がありますが、データベースcron_schedule
には「Class Company \ Reviews \ Cron \ Check does not exist」と表示されます