使用 Thrift 生成的文件中的 PSR-4 命名空间
PSR-4 namespace in generated files with Thrift
我用 Apache Thrift 生成 php 个文件
thrift -out / --gen php:nsglobal=src\Application\Package\Thrift package.thrift
上面的命令在以下路径中生成代码 src/Application/Package/Thrift
并为命名空间设置 src\Application\Package\Thrift
但我在我的项目中使用 Psr-4(带有作曲家)我们知道 src 是 App 所以命名空间应该是App\Application\Package\Thrift
我的项目结构
src |
| Application |
| | Package |
| | | Thrift
我在 Thrift 文件夹中生成文件,命名空间与以下相同:
App\Application\Package\Thrift
你有解决这个问题的想法吗?
我尝试将 namespace php App.Application.Package
添加到 IDL 文件并 运行 以下命令:
thrift -out /src --gen php /data/service.thrift
但它会创建额外的 App 文件夹 => src/App/Application/Package/Thrift
在 IDL 文件中声明命名空间:
namespace php Whatever.You.Want
可以找到完整示例here
此外,删除 nsglobal 选项并执行
thrift -out / --gen php package.thrift
i need App in namespace and src in folder name
如果您需要的文件夹与命名空间所说的不同,请考虑编写 shell 脚本(或批处理文件)以在 Thrift 代码生成后将生成的文件移动到您需要的位置。
PS:不确定将根文件夹指定为输出目标是否是个好主意。
我用 Apache Thrift 生成 php 个文件
thrift -out / --gen php:nsglobal=src\Application\Package\Thrift package.thrift
上面的命令在以下路径中生成代码 src/Application/Package/Thrift
并为命名空间设置 src\Application\Package\Thrift
但我在我的项目中使用 Psr-4(带有作曲家)我们知道 src 是 App 所以命名空间应该是App\Application\Package\Thrift
我的项目结构
src |
| Application |
| | Package |
| | | Thrift
我在 Thrift 文件夹中生成文件,命名空间与以下相同:
App\Application\Package\Thrift
你有解决这个问题的想法吗?
我尝试将 namespace php App.Application.Package
添加到 IDL 文件并 运行 以下命令:
thrift -out /src --gen php /data/service.thrift
但它会创建额外的 App 文件夹 => src/App/Application/Package/Thrift
在 IDL 文件中声明命名空间:
namespace php Whatever.You.Want
可以找到完整示例here
此外,删除 nsglobal 选项并执行
thrift -out / --gen php package.thrift
i need App in namespace and src in folder name
如果您需要的文件夹与命名空间所说的不同,请考虑编写 shell 脚本(或批处理文件)以在 Thrift 代码生成后将生成的文件移动到您需要的位置。
PS:不确定将根文件夹指定为输出目标是否是个好主意。