我有一个带有某些模块的ZF2应用程序。我想允许在我的应用程序中将现有模块与Apigility一起使用。
我尝试使用composer安装这些模块:
"require": {
"php": ">=5.3.3",
"phpoffice/phpexcel":"*",
"monolog/monolog" : "1.*",
"zendframework/zend-developer-tools": "dev-master",
"bjyoungblood/bjy-profiler": "dev-master",
"radnan/rdn-router": "1.*",
"bshaffer/oauth2-server-php": "dev-develop",
"rwoverdijk/assetmanager": "~1.3",
"zfcampus/zf-apigility": "~1.0-dev",
"zfcampus/zf-apigility-provider": "~1.0-dev",
"zfcampus/zf-apigility-documentation": "~1.0-dev",
"zfcampus/zf-api-problem": "~1.0-dev",
"zfcampus/zf-content-negotiation": "~1.0-dev",
"zfcampus/zf-content-validation": "~1.0-dev",
"zfcampus/zf-hal": "~1.0-dev",
"zfcampus/zf-mvc-auth": "~1.0-dev",
"zfcampus/zf-oauth2": "~1.0-dev",
"zfcampus/zf-rest": "~1.0-dev",
"zfcampus/zf-rpc": "~1.0-dev",
"zfcampus/zf-versioning": "~1.0-dev"
},
"require-dev": {
"zfcampus/zf-apigility-admin": "dev-master",
"zfcampus/zf-configuration": "~1.0-dev",
"zfcampus/zf-apigility-welcome": "~1.0-dev",
"zendframework/zend-developer-tools": "dev-master"
}
我在我的application.config.php中有这些模块:
'ZF\\Apigility',
'ZF\\Apigility\\Provider',
'ZF\\Apigility\\Documentation',
'AssetManager',
'ZF\\ApiProblem',
'ZF\\MvcAuth',
'ZF\\OAuth2',
'ZF\\Hal',
'ZF\\ContentNegotiation',
'ZF\\ContentValidation',
'ZF\\Rest',
'ZF\\Rpc',
'ZF\\Versioning',
没有异常错误,但不能转到Apigility配置空间。我已经使用zf-apigility-skeleton从头开始使用Apigility,没有任何问题。
路线我测试了local.project/apigility或local.project/apigility/documentation
我想我在布线或布局上有问题。我使用EPModuleLayouts为每个模块使用不同的布局。
谢谢你的帮助
最佳答案
您所指的Apigility配置空间是Apigility Admin,它位于http://local.project/apigility/ui。在研究了配置之后,您似乎缺少了两个关键模块。 “ZF\Apigility\Admin”和“ZF\Configuration”。 ZF\Apigility\Admin模块包括用于Web服务管理的AngularJS UI应用程序,例如您尝试创建的代码连接服务。 ZF\Configuration模块将允许Apigility修改ZF2配置文件。
将'ZF\Apigility\Admin'和'ZF\Configuration'添加到application.config.php模块列表中,您应该可以访问管理员。
警告:不要在生产环境中加载/包括这些模块。您不希望随便的人乱搞您的服务。
您可能需要研究zfcampus/zf-development-mode模块,因为它可以让您轻松管理开发和生产等不同环境中的加载模块。