Wake Me Up When September Ends.

A wanderer capable of grasping the beauty of the grass, with a heart full of ancient charm, and a fondness for playful wit. Those who understand my words are knowledgeable individuals; those who decipher my code truly comprehend the essence. I am a wandering code swordsman, carrying my skills and riding freely through the digital world.

本篇文章记录php的composer组件包一些用法!

引用本地未发布的包

要引用本地未发布的包,只需要在composer.json中repositories仓库为为本地项目地址即可,如下所示:

{
    "repositories": [
        {
            "type": "path",
            "url": "/path/to/local/package"
        }
    ],
    "require": {
        "your-package": "dev-master"
    }
}
阅读全文 »

时常记不住定时任务一些配置规则,所以这边记录一下!☘

Cron 定时任务是一种在 Unix/Linux 系统中用于执行预定时间间隔的任务的机制。它使用 cron 表达式来定义任务的执行时间。

Cron 表达式由空格分隔的五个字段组成,分别表示分钟、小时、日期、月份和星期几。每个字段可以接受不同的取值范围和特殊字符。

minute   hour   day   month   week   command     顺序:分 时 日 月 周
阅读全文 »

工厂模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。

需求的场景

这种模式在面试中经常会被问到,很多面试题的答案会表示该模式经常用于框架的db或cache组件设计。

假设你所在项目组在开发某个项目中,使用了多种缓存数据源,比如有内存,redis,本地文件。目前每次根据不同场景使用不同类型缓存,需要实例化不同缓存实例进行操作,比较繁琐。项目组开发人员希望统一调用缓存入口,简化缓存调用心智负担。

如何解决

  1. 定义cache工厂类(父类)和依赖类
  2. 编写各个类型cache子类
  3. cache工厂类创建调用
    阅读全文 »

一些特殊部署场景下,需要指定某个容器ip以便于访问。可以使用Docker的网络模式来间接地控制容器的IP地址,所以这边记录一下分别在单独docker与docker-compose配置示例!☘

docker

1.自定义一个名为my-docker-net网络

docker network create --subnet=172.0.0.0/24 my-docker-net

2.指定容器网络并设置固定ip

docker run -d   --net=my-docker-net --ip=172.0.0.3 --name=[容器名字] [镜像名字]

--net 指定网络
--ip 指定ip

通过IP172.0.0.3访问该容器了。

docker-compose

在docker-compose.yml文件中networks节点进行配置

1.subnet 进行配置网段

networks:
  default:
    driver: bridge
    ipam:
      driver: default
      # 解除下面的注释可以设置网段,用于nginx等容器固定容器IP
      config:
        - subnet: 172.0.0.0/24

2.对应service下networks节点进行配置固定ip

version: "3"
    services:
        nginx:
            networks:
                default:
                    ipv4_address: 172.0.0.3

以上命令对compose的网络配置一个172.0.0.0/24网段,然后指定其中nginx指定ip为172.0.0.3

阅读全文 »