1. Go to this page and download the library: Download fom/module-annotations library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
fom / module-annotations example snippets
declare(strict_types=1);
namespace Vendor\Module\Observer;
use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
#[
\Fom\Annotations\Attribute\Platform(
edition: \Fom\Annotations\Attribute\Platform::EDITION_ANY,
version: '2.4.4',
comparison: \Fom\Annotations\Attribute\Platform::COMPARISON_LESS_THAN
),
\Fom\Annotations\Attribute\Operator(operator: \Fom\Annotations\Attribute\Operator::OPERATOR_AND)
]
class SomeKindOfActionObserver implements ObserverInterface
{
public function execute(Observer $observer): void
{
// ...
}
}
declare(strict_types=1);
namespace Vendor\Module\Observer;
use Fom\Annotations\Attribute\Operator;
use Fom\Annotations\Attribute\Platform;
use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
#[
Platform(
edition: Platform::EDITION_ANY,
version: '2.4.4',
comparison: Platform::COMPARISON_LESS_THAN
),
Operator(operator: Operator::OPERATOR_AND)
]
class SomeKindOfActionObserver implements ObserverInterface
{
public function execute(Observer $observer): void
{
// ...
}
}
declare(strict_types=1);
namespace Vendor\Module\Observer;
use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
/**
* @\Fom\Annotations\Attribute\Platform(
* edition = \Fom\Annotations\Attribute\Platform::EDITION_ANY,
* version = "2.4.4",
* comparison = \Fom\Annotations\Attribute\Platform::COMPARISON_LESS_THAN
* )
* @\Fom\Annotations\Attribute\Operator(operator = \Fom\Annotations\Attribute\Operator::OPERATOR_AND)
*/
class SomeKindOfActionObserver implements ObserverInterface
{
public function execute(Observer $observer): void
{
// ...
}
}
declare(strict_types=1);
namespace Vendor\Module\Observer;
use Fom\Annotations\Attribute\Operator;
use Fom\Annotations\Attribute\Platform;
use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
/**
* @Platform(
* edition = Platform::EDITION_ANY,
* version = "2.4.4",
* comparison = Platform::COMPARISON_LESS_THAN
* )
* @Operator(operator = Operator::OPERATOR_AND)
*/
class SomeKindOfActionObserver implements ObserverInterface
{
public function execute(Observer $observer): void
{
// ...
}
}
declare(strict_types=1);
namespace Vendor\Module\Observer;
use Fom\Annotations\Attribute\Operator;
use Fom\Annotations\Attribute\Platform;
use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
/**
* @Platform(
* edition = Platform::EDITION_ANY,
* version = "2.4.4",
* comparison = Platform::COMPARISON_LESS_THAN
* )
* @Operator(operator = Operator::OPERATOR_AND)
*/
#[Platform(edition: Platform::EDITION_ANY, version: '2.4.4', comparison: Platform::COMPARISON_LESS_THAN), Operator(operator: Operator::OPERATOR_AND)]
class SomeKindOfActionObserver implements ObserverInterface
{
public function execute(Observer $observer): void
{
// ...
}
}
declare(strict_types=1);
namespace Vendor\Module\Observer;
use Fom\Annotations\Attribute\Operator;
use Fom\Annotations\Attribute\Platform;
use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
#[
Platform(
edition: Platform::EDITION_ANY,
version: '2.4.4',
comparison: Platform::COMPARISON_LESS_THAN
)
]
class SomeKindOfActionObserver implements ObserverInterface
{
public function execute(Observer $observer): void
{
// ...
}
}
declare(strict_types=1);
namespace Vendor\Module\Observer;
use Fom\Annotations\Attribute\Platform;
use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
#[
Platform(
edition: Platform::EDITION_COMMERCE,
version: '2.4.4',
comparison: Platform::COMPARISON_LESS_THAN
),
Platform(
edition: Platform::EDITION_B2B,
version: '2.4.4',
comparison: Platform::COMPARISON_LESS_THAN
)
]
class SomeKindOfActionObserver implements ObserverInterface
{
public function execute(Observer $observer): void
{
// ...
}
}
declare(strict_types=1);
namespace Vendor\Module\Observer;
use Fom\Annotations\Attribute\Operator;
use Fom\Annotations\Attribute\Platform;
use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
#[
Platform(
edition: Platform::EDITION_COMMUNITY,
version: '2.4.3',
comparison: Platform::COMPARISON_EQUAL
),
Platform(
edition: Platform::EDITION_COMMERCE,
version: '2.4.2',
comparison: Platform::COMPARISON_LESS_THAN
),
Operator(operator: Operator::OPERATOR_OR)
]
class SomeKindOfActionObserver implements ObserverInterface
{
public function execute(Observer $observer): void
{
// ...
}
}