资讯专栏INFORMATION COLUMN

Pimple Containter 容器使用实例代码

maochunguang / 2063人阅读

摘要:安装代码加载并实例化参数存储单例存储非单例存储存储匿名函数获取匿名函数服务提供者文档官网文档

Pimple/Container 安装

composer require "pimple/pimple": "^3.0"

代码 加载并实例化
require __DIR__ . "/vendor/autoload.php";
$pc = new PimpleContainer();
参数存储
$pc["app_id"]="pimple";
单例存储
$pc["app"]=function($c){
    $app=new stdClass();
    $app->app_id=$c["app_id"];
    return $app;
};
$app_one=$pc["app"];
$app_two=$pc["app"];
var_dump($app_one === $app_two);// true
非单例存储
$pc["api"] = $pc->factory(function ($c) {
    $api=new stdClass();
    $api->app_id=$c["app_id"];
    return $api;
});
$api_one=$pc["api"];
$api_two=$pc["api"];
var_dump($api_two === $api_two);// false
存储匿名函数
$pc["random_func"]=$pc->protect(function () {
    return rand();
});
获取匿名函数
$random=$pc->raw("random_func");
var_dump($random());
服务提供者
class UcProvider implements PimpleServiceProviderInterface
{
    public function register(PimpleContainer $c)
    {
        $uc_id=6;
        $c["uc_config"]=["uc_id"=>$uc_id];
        $c["uc_class"]=function ($c) use ($uc_id){
            $uc=new stdClass();
            $uc->id=$uc_id;
            return $uc;
        };
    }
}
$pc->register(new UcProvider());
var_dump($pc["uc_config"]);
var_dump($pc["uc_class"]);
文档

官网文档 : http://pimple.sensiolabs.org/

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21812.html

相关文章

  • Pimple - 一个简单的 PHP 依赖注入容器

    摘要:服务通过匿名函数定义,返回一个对象的实例定义一些服务请注意,匿名函数可以访问当前容器实例,从而允许引用其他服务或参数。如果要为所有调用返回不同的实例,请使用方法包装你的匿名函数。 链接 官网 WebSite GitHub - Pimple 这是 Pimple 3.x 的文档。如果你正在使用 Pimple 1.x ,请查看 Pimple 1.x 文档。阅读 Pimple 1.x ...

    wemall 评论0 收藏0
  • 又一个强大的PHP5.3依赖注入容器

    摘要:现在我们就可以在构造函数或者任何其他通过服务容器注入依赖项的地方使用类型提示注入接口创建一个新的类实例,此处将注入的实例。自动解析构造函数所需的依赖的服务容器实现了接口。 简单的服务容器 一个简单的 php 5.3 依赖注入容器。 项目地址:https://github.com/godruoyi/easy-container Why 目前比较流行的 PHP 容器: Pimple La...

    sf190404 评论0 收藏0
  • Pimple相关的源码

    摘要:已经有了非常好的的相关解析,建议先看下一个简单的依赖注入容器读源码笔记上读源码笔记下这里通过例子补充下核心方法的说明相关的类型服务类似单例工厂服务多个实例参数仅仅是保存一些变量保护参数匿名函数都会被认为服务,但是如果仅仅是想作为一个 已经有了非常好的Pimple的相关解析,建议先看下:Pimple - 一个简单的 PHP 依赖注入容器读 PHP - Pimple 源码笔记(上)读 PH...

    MSchumi 评论0 收藏0
  • 读 PHP - Pimple 源码笔记(下)

    摘要:服务容器接口是的简写,由组织制定的规范,是开发的实践标准。实现的容器类源码很简单,主要是传入变量,然后设置这个两个方法。原创文章,欢迎转载。原文链接地址作者发表日期 接着上篇 还有一些内容没有写,上篇已经把关于 Pimple 最主要的代码分析了一下,这篇主要是关于 PSR-11 兼容性的分析。 PSR-11 服务容器接口 PSR PSR 是 PHP Standard Recommend...

    KunMinX 评论0 收藏0
  • PHP容器--Pimple运行流程浅析

    摘要:实际上,闭包和匿名函数是伪装成函数的对象。容器流程浅析是社区中比较流行的容器。服务提供者服务提供者是连接容器与具体功能实现类的桥梁。服务提供者需要实现接口所有服务提供者必须实现接口方法。但已经完成了服务提供者的注册工作。 需要具备的知识点 闭包 闭包和匿名函数在PHP5.3.0中引入的。 闭包是指:创建时封装周围状态的函数。即使闭包所处的环境不存在了,闭包中封装的状态依然存在。 理论上...

    RobinTang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<