xervice/core

Xervice 核心功能

4.0.0 2018-08-28 08:22 UTC

This package is auto-updated.

Last update: 2024-09-29 04:31:31 UTC


README

Scrutinizer Code Quality Code Coverage Build Status

Xervice 服务核心类

安装

composer require xervice/core

配置

使用此包无需配置。但您可以定义命名空间。

主项目命名空间

use Xervice\Core\CoreConfig;

$config[CoreConfig::CORE_NAMESPACES] = [
    'Xervice'
];

$config[CoreConfig::PROJECT_NAMESPACES] = [
    'App'
];

用法

您可以创建自己的 Xervice 包。为此,您必须使用项目命名空间并创建一个模块目录。在该目录中,您可以使用一些预定义的模式,如 Facade、Factory、DependencyProvider、Config 和 Client。

结构 .

  • src
    • MyNamespace
      • MyModule
        • Business
          • MyModuleFacade.php
          • MyModuleBusinessFactory.php
        • Communication
          • MyModuleCommunicationFactory.php
          • MyModuleDependencyProvider.php(用于通信层)
        • Persistence
          • MyModuleReader.php
          • MyModuleWriter.php
        • MyModuleConfig.php
        • MyModuleDependencyProvider.php(用于业务层)

如果您不需要这些类中的任何一个,您可以删除它们。

要使用您的模块,您可以在应用程序中使用核心定位器

<?php

$locator = \Xervice\Core\Locator\Locator::getInstance();

$locator->myModule()->facade()->publicMethod();

动态定位器

有两个动态定位器特质

  • DynamicBusinessLocator
  • DynamicCommunicationLocator

Communication -> Business -> Persistence

  1. 在通信层中,您可以访问通信工厂
  2. 在通信层中,您可以从 BusinessLayer 访问外观
  3. 在 BusinessLayer 外观中,您可以访问业务工厂
  4. 在业务工厂中,您可以访问来自持久层的读取器和写入器

业务和通信都有自己的依赖容器。您可以从工厂访问它们。

扩展

要扩展模块,您可以在上级命名空间中创建具有相同名称的目录。命名空间的顺序是

  1. 核心命名空间按定义顺序(默认:Xervice)
  2. 项目命名空间按定义顺序(默认:App)

如果您在 Xervice 命名空间中有一个模块,您可以从项目命名空间中覆盖类。并且您也可以在较低的项目命名空间中扩展这种逻辑。

自动生成

要生成模块,您可以使用 xervicecli 包。