tncrazvan/catpaw

此包已被废弃,不再维护。未建议替代包。

catpaw项目

3.3.1 2024-05-24 17:08 UTC

README

Catpaw是一个带有电池组的意见依赖注入库,专为开发异步和声明式通用程序而设计。
它利用php属性提供声明式API,以及amphp平台使程序异步。

目录
错误管理
🌐 路由器
🌐 路径参数
🌐 开放API
🌐 会话
🌐 字节范围请求
入口
自定义属性
💡 树莓派
服务
存储
队列
调度
构建
🌐 Websockets
🌐 视图 (Twig)
状态
信号
Go互操作

注意

此项目针对Linux发行版,某些功能可能在Windows和/或MacOS上无法正常工作。
请随时为特定平台修复问题贡献力量。

开始使用

您需要至少php 8.2php-mbstring扩展。

使用其中一个启动模板创建一个新项目。

  • 您可以从头开始
    composer create-project catpaw/starter
  • 您可以从Web服务器开始
    composer create-project catpaw/web-starter

每个应用程序必须在全局作用域中声明一个main函数,它将是您的入口点

<?php
// src/main.php
use Psr\Log\LoggerInterface;
function main(LoggerInterface $logger){
  $logger->info("hello world");
}

创建新项目后,您可以使用以下命令运行它

composer dev:watch

以监视文件更改(在开发中很有用)或

composer prod:start

用于生产模式。

构建 & 运行

您可以使用以下命令将应用程序构建成一个单一的.phar文件,但这不是必需的

composer prod:build

构建过程可以在build.ini文件中配置。

在构建完您的应用程序后,您可以使用以下方式简单地运行它:

php app.phar

默认情况下(请检查build.ini),生成的.phar文件包含以下目录:

  • ./src
  • ./vendor
  • ./bin
  • ./.build-cache(在编译时创建)

这意味着它是一个便携式二进制文件,您只需确保目标机器上已安装php即可。

使用VSCode进行调试

  • 安装xdebug

    apt install php8.2-xdebug
  • 将以下配置放入您的./.vscode/launch.json文件中

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Launch",
                "type": "php",
                "request": "launch",
                "program": "${workspaceRoot}/bin/start",
                "args": [
                    "--libraries='./src/lib'",
                    "--entry='./src/main.php'"
                ],
                "cwd": "${workspaceRoot}",
                "runtimeArgs": [
                    "-dxdebug.start_with_request=yes"
                ],
                "env": {
                    "XDEBUG_MODE": "debug,develop",
                    "XDEBUG_CONFIG": "client_port=${port}"
                }
            },
            {
                "name": "Listen",
                "type": "php",
                "request": "launch",
                "port": 9003
            }
        ]
    }
  • 开始调试