定制 raylin666/container 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

raylin666/container

Composer 安装命令:

composer require raylin666/container

包简介

IOC object container service

README 文档

README

GitHub release PHP version GitHub license

环境要求

  • PHP >=7.2

安装说明

composer require "raylin666/container"

使用方式

新增服务类

<?php

require_once 'vendor/autoload.php';

use Raylin666\Container\Container;
use Raylin666\Container\ContainerFactory;

$container = ContainerFactory::getContainer();

// 绑定容器
$container->bind(DateTime::class, DateTime::class);

// 是否有绑定该容器
$container->has(DateTime::class);

// 实例化容器
$container->make(DateTime::class, ['timezone' => new DateTimeZone('UTC')]);

$container->bind('datetimezone', function () {
    return new DateTimeZone('UTC');
});

// 获取容器, 优先查看是否有已实例化的容器, 如果有则直接取出, 如果没有则实例化容器(make)并返回
$container->get('datetimezone');
// 为容器设置别名, 一般情况下该别名可用来作为装饰者, 因为本身就是装饰器设计模式, 比如 laravel 的 alias 就类似该原理
$container->alias('tzone', 'datetimezone');

$container->get('tzone');

$container->bind(DateTimeZone::class, DateTimeZone::class);

$container->make(DateTimeZone::class, ['timezone' => 'PRC']);

// ... 更多功能可阅读源码

更新日志

请查看 CHANGELOG.md

联系

如果你在使用中遇到问题,请联系: 1099013371@qq.com. 博客: kaka 梦很美

License MIT

统计信息

  • 总下载量: 6
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 10
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 10
  • Watchers: 1
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-06-20

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固