分类 PHP 下的文章

[php] 中文字符串处理,遍历 切割


今天遇到一个中文字符串处理的功能,顺便来记录一下吧,中文字符因为在计算机中占用的字节和普通字符不一样,所以 split,strlen都不能使用了

假如有一个变量
$a = '这是一个测试'
  • 可能我们平时遍历这样处理

    for($i = 0;$i < strlen($a) ;$i ++)
    {
        `echo $a[$i];//中文是不能这样读取的,最后只会输出乱码
    }
    


composer 仓库(repositories)管理的三种方式


在用composer进行组件化开发的时候经常会更改composer.json配置来管理依赖,最近也是遇到了依赖管理方面的问题,今天来讨论一下composer 的repositories 配置的三种方式
  • 下面是实验的仓库目录
    QQ截图20190109125059.png
  • service-components(包名 lxido/components) 是一个完整的包,开发公共Rpc的接口用于微服务接口调用
  • group-service 、user-service 是用户基础服务和群组基础服务,是一些业务服务
  • 依赖关系是

    • gorup-service 和 user-service 需要引用 serivce-components 包


[swoft] RPC服务不能属性注入的连接池服务 分析


http请求的Controller可以通过Reference注入连接池使用连接池(如redis连接池,mysql连接池,微服务连接池)
但是测试发现Tcp请求的Controller不能通过Reference注入连接池拿到连接(null)重新看了官网的分析才发现一个重要的说明

官方:@Reference 注解可以任何Bean实例的类中使用,不仅仅是controller,这里只是测试。如果要使用延迟收包或并发,必须使用deferXxx方法。

简而言之其实所有的定义注解的类,调用方式不能是new,只能是通过bean容器取得,因为通过容器加载的类才能让其注入的属性通过动态代理实现注入