9.Laravel5学习笔记:在laravel中注册自己的服务到容器中

本文介绍了在Laravel5中遇到的将自定义类注册到IOC容器时出现类型转换错误的问题。作者通过两种方案解决:一是修改类构造函数指定参数类型,二是使用接口调用。同时,对比了Laravel内置加密服务的构造函数,提出了对源码中未指定类型但能正常工作的疑惑。
摘要由CSDN通过智能技术生成

问题描述


也许标题写的不够清楚,实际情况是,在我使用laravel的过程中,需要将自己的一个类,通过服务提供者注册到IOC容器中,但是在实际操作过程中,出现了以下错误:

Unresolvable dependency resolving [Parameter #0 [ <required> $name ]]

意思就是说,我的注册东西,不能够进行类型转换。我的代码中没有进行代码说明需要的类型。

代码情况


代码主要实现的一个功能是,对传入的字符串进行AES加密。本来Laravel自身是提供了的,但是由于我需要与Android、IOS进行三个平台的统一。因此只能自己重新提供一个能够在三个平台间相互转化的AES加密。

代码大体结构是,一个 interface

<?php

namespace App\Libary\Contracts\Encryption;

use Illuminate\Contracts\Encryption\Encrypter;
/**
 * 
 * 
 * @desc 扩展接口,增加了设置key的接口
 * @date 2015年7月15日
 */
interface EncrypterInterface extends Encrypter
{
   
    /**
     * 
     * 设置加密、解密的key
     * @param string $key
     */
    public function setKey(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值