This repository was archived by the owner on Apr 26, 2020. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +15
-14
lines changed Expand file tree Collapse file tree 2 files changed +15
-14
lines changed Original file line number Diff line number Diff line change @@ -36,18 +36,21 @@ public function render() {
3636
3737 $ exploade_service = explode ('/ ' , $ service );
3838 switch (count ($ exploade_service )) {
39- case 2 :
39+ case 2 ://不是模块
4040 $ classNameTpl = \Yii::$ app ->controllerNamespace . '\\%sController ' ;
4141 $ className = sprintf ($ classNameTpl , ucfirst ($ exploade_service [0 ]));
4242 $ methodName = 'action ' .ucfirst ($ exploade_service [1 ]);
4343 break ;
44- case 3 :
45- $ module = \Yii::$ app ->modules [$ exploade_service ['0 ' ]]['class ' ];
44+ default ://是模块
45+ //不论几级模块,倒数第三个一定是模块名
46+ $ c = count ($ exploade_service );
47+ $ moduleName = $ exploade_service [$ c -3 ];
48+ $ module = \Yii::$ app ->modules [$ moduleName ]['class ' ];
4649 $ t = new \ReflectionClass ($ module );
4750 $ moduleNamespace = $ t ->getNamespaceName ();
4851 $ classNameTpl = $ moduleNamespace . '\\controllers \\%sController ' ;
49- $ className = sprintf ($ classNameTpl , ucfirst ($ exploade_service [1 ]));
50- $ methodName = 'action ' .ucfirst ($ exploade_service [2 ]);
52+ $ className = sprintf ($ classNameTpl , ucfirst ($ exploade_service [$ c - 2 ]));
53+ $ methodName = 'action ' .ucfirst ($ exploade_service [$ c - 1 ]);
5154 break ;
5255 }
5356 // 整合需要的类注释,包括父类注释
Original file line number Diff line number Diff line change @@ -66,16 +66,14 @@ public function render($modules = []) {
6666 }
6767 foreach ($ classesName as $ className ) {
6868 $ explodeClassName = explode ('\\' , trim ($ className , '\\' ));
69- switch (count ($ explodeClassName )) {
70- case 3 :
71- $ apiServerShortName = $ explodeClassName [2 ];
72- $ service_1 = strtolower (substr ($ apiServerShortName , 0 , -10 ));
73- break ;
74- case 5 :
75- $ apiServerShortName = $ explodeClassName [2 ] . '. ' . $ explodeClassName [4 ];
76- $ service_1 = strtolower (substr ($ apiServerShortName , 0 , -10 ));
77- break ;
69+ $ c = count ($ explodeClassName );
70+ if ($ c > 3 ) {
71+ unset($ explodeClassName [$ c -2 ]);
7872 }
73+ unset($ explodeClassName [0 ]);
74+ unset($ explodeClassName [1 ]);
75+ $ apiServerShortName = implode ('. ' , $ explodeClassName );//ok
76+ $ service_1 = strtolower (substr ($ apiServerShortName , 0 , -10 ));
7977 $ apiServer = $ className ;
8078 if (!class_exists ($ className )) {
8179 continue ;
You can’t perform that action at this time.
0 commit comments