imi é uma estrutura de desenvolvimento PHP que suporta microsserviços distribuídos de conexão longa. Ele pode ser executado em uma variedade de ambientes de contêiner, como PHP-FPM
, Swoole
, Workerman
e RoadRunner
.
imi fornece uma variedade de funções básicas: MySQL
, PostgreSQL
, Redis
,超强超好用的自研ORM
,连接池
, Web Api
, Web MVC
, WebSocket
, TCP Server
, UDP Server
, HTTP2
, MQTT
, gRPC
,容器化(Container)
,依赖注入
, Aop
,事件
,异步(Async)
,缓存(Cache)
,命令行(Command)
,配置化(Config)
,上下文(Context)
,定时任务(Cron)
,门面(Facade)
,验证器(Validate)
,锁(Lock)
,日志(Log)
,定时器(Timer)
,权限控制
,消息队列(RabbitMQ、Kafka、Redis)
, Swagger
,宏(Macro)
,限流
,共享内存
, Smarty
,雪花算法发号器(Snowflake)
, Workerman Gateway
, InfluxDB
e TDengine
e outros componentes.
Ao mesmo tempo, imi também fornece suporte relacionado a microsserviços: Nacos 配置中心
, etcd 配置中心
, Nacos 服务注册
, Nacos 服务发现
, Swoole Tracker
, Zipkin
, Jaeger
, Prometheus
, InfluxDB 服务指标监控
, TDengine 服务指标监控
e负载均衡
e outros componentes.
Além disso, o imi também fornece o esqueleto de desenvolvimento de back-end de gerenciamento imi-admin.
Desde seu primeiro lançamento em 21 de junho de 2018, a estrutura imi tem funcionado de forma estável em muitos projetos, como plataforma de comércio eletrônico de turismo cultural, plataforma de nuvem de carregamento IoT, plataforma de nuvem de estacionamento, microsserviços de pagamento, microsserviços de SMS, microsserviços de carteira, Projetos como como servidor de jogos de cartas e serviço de migração de dados (Hupu).
imi fornece oficialmente um assistente de IA imi-ai, que pode ajudá-lo a resolver problemas, seja no trabalho, na vida ou no estudo.
Para quem patrocinou no site oficial do imi, entre em contato com Yurun para receber o número do cartão de ativação equivalente com o comprovante de registro de pagamento!
Qualquer pessoa que tenha enviado um PR no imi Github/Gitee pode entrar em contato com Yurun com a captura de tela para receber uma certa quantidade de número de cartão de ativação!
Atualmente é operado exclusivamente para o bem-estar público e o registro lhe dará uma certa cota gratuita.
Como há um custo para chamar a interface OpenAI, se a cota acabar, todos são bem-vindos para apoiar a causa do código aberto. O preço é o mesmo do OpenAI oficial, 1RMB = 72.000 Tokens.
tutorial em vídeo básico do imi 2.0 (série gratuita em andamento):
https://space.bilibili.com/768718/channel/seriesdetail?sid=274078 https://www.zhihu.com/people/yurunsoft/zvideos
Tutorial introdutório do framework imi 1.0 (11 episódios gratuitos) https://www.bilibili.com/video/av78158909
tutorial avançado do imi framework - desenvolvimento de jogos de gamão (7 episódios gratuitos) https://space.bilibili.com/768718/channel/detail?cid=136926
Controle de permissão (phpben/imi-auth)
Centro de registro (phpben/imi-config-center)
Roteamento modular (phpben/imi-module-route)
Validador ThinkPHP6 (phpben/imi-validate)
Estrutura de gerenciamento de back-end (phpben/imi-admin)
Crie o projeto do servidor Http: composer create-project imiphp/project-http:~3.0.0
Crie um projeto de servidor WebSocket: composer create-project imiphp/project-websocket:~3.0.0
Crie um projeto de servidor TCP: composer create-project imiphp/project-tcp:~3.0.0
Crie o projeto do servidor UDP: composer create-project imiphp/project-udp:~3.0.0
Crie um projeto gRPC: composer create-project imiphp/project-grpc:~3.0.0
Crie um projeto do servidor MQTT: composer create-project imiphp/project-mqtt:~3.0.0
Manual de desenvolvimento completo
Sistema Linux (Swoole não suporta execução no Windows)
PHP >= 8.1
Compositor >= 2.0
Swoole >= 5,0
Redis, extensão DOP
Recomenda-se usar o Docker oficial do Swoole: https://github.com/swoole/docker-swoole
Esteja você desenvolvendo usando imi em um projeto pessoal ou empresarial, seja um projeto open source ou comercial, você pode enviar seu caso para nós.
Analisaremos o caso que você enviou e poderemos exibi-lo no site oficial do imi, no site oficial do Swoole, etc., o que ajudará a promover e desenvolver seu projeto.
Formato de envio:
Nome do projeto
Introdução do projeto
Endereço do projeto (site oficial/endereço de download/Github, etc. pelo menos um)
Informações de contato (telefone/e-mail/QQ/WeChat, etc. pelo menos um)
Capturas de tela do projeto (opcional)
Observações
Caso de sucesso: https://www.imiphp.com/case.html
imi se desenvolverá melhor com seus cases. Usuários qualificados são bem-vindos para postar cases de projetos, o que também é uma espécie de publicidade gratuita!
imi é lançado sob a licença de código aberto Mulan PSL v2 e é de uso gratuito.
Agradecemos aos seguintes projetos de código aberto (em ordem alfabética) por fornecerem forte apoio ao imi!
doutrina/anotações (biblioteca de processamento de anotações PHP)
PHP (sem PHP, não haveria imi)
Swoole (sem Swoole, não haveria imi)
Você quer ser listado como colaborador?
Coisas que você pode fazer (incluindo, mas não se limitando ao seguinte):
Ortografia correta e erros de digitação
Melhorar comentários
correção de bug
Desenvolvimento de recursos
Documentação
Tutoriais, compartilhamento de blog
Envie Pull Request
para este repositório e você poderá se tornar um contribuidor do imi!
Para obter detalhes sobre como participar do tutorial de desenvolvimento de framework: https://doc.imiphp.com/v3.0/adv/devp.html