cakephp helper调用其他帮助函数

时间:2016-05-09 13:33:43

标签: cakephp cakephp-3.0

我想要实现的是自动化帮助程序加载脚本和CSS。 所以基本上这个想法是在每个帮助器上都有一个函数,它正在加载专用于帮助器的脚本/样式。 我想这可以通过一个控制助手来实现,它正在查询所有活动助手,然后执行脚本/样式加载功能。

我在文档中找不到的是:

  • 帮助程序如何查询活动帮助程序对象列表

1 个答案:

答案 0 :(得分:2)

您可以使用(HelperRegistry)查询$ awk ' FNR==1 {for(i=2;i<=NF;i++) {headers[i]=$i}} FNR>1 { if (maxrow<FNR) { maxrow=FNR} rowheaders[FNR]=$1; for(i=2;i<=NF;i++) { if (maxvalue<$i) {maxvalue=$i} if(!values[$1,$i]) { values[$1,$i]=headers[i] } else { values[$1,$i]=values[$1,$i] "," headers[i] } } } END { for (i=2;i<=maxrow;i++) { for (j=0;j<=maxvalue;j++) { if (values[rowheaders[i],j] && maxlen<length(values[rowheaders[i],j])) { maxlen=length(values[rowheaders[i],j])}}} printf("%" maxlen "s","ID"); for (i=0;i<=maxvalue;i++) { printf("%s%" maxlen "s",OFS,i)}; printf("\n") for (i=2;i<=maxrow;i++) { printf ("%" maxlen "s",rowheaders[i]) for (j=0;j<=maxvalue;j++) { if (!values[rowheaders[i],j]) { printf("%s%" maxlen "s",OFS," ") } else { printf("%s%" maxlen "s",OFS,values[rowheaders[i],j]) } } printf("\n") } }' inputfile ID 0 1 2 3 4 5 6 CNV1 S2,S4 S1,S3,S5 CNV2 S5 S2,S3,S4 S1 CNV3 S2 S1,S4 S3 S5 的{​​{3}}:

View

拥有注册表后,您可以使用View::helpers获取已加载帮助程序的名称,并使用HelperRegistry::loaded()检索它们:

$this->_View->helpers();

免责声明:上述代码未经过测试。