齐博x1第四季《模块插件的制作》系列6-给Test类下index方法加一个模板

2021-04-22 作者:torylf 分类:教程 阅读:1654

我们之前创建的Test类下的index方法,return 返回一个字符串,但是是没有任何样式的,如果我们想返回带样式的字符串,

则可以直接返回带html的代码。如下:


这时我们看结果:

返回了一个带h1标签的红色样式的html字符串。


但是如果一个页面很大,代码非常多,还有逻辑关系。那么我们就不好直接返回这样的格式了,管理维护起来都是特别麻烦。

所以我们就需要单独制作一个html的页面模板。


下面我们来给index方法创建一个模板,模板名称也叫index。

因为是后台,所以我们先在template/admin_style/default/下创建xyz目录


关键点:因为我们当前后台选择的并不是default默认模板,所以也可以建立在我们当前模板的目录中,但是根据系统的规则,

在当前模板中找不到的模板就会自动去系统默认的default目录下去寻找,所以模块开发使用的模板我们都当作自带模板,

而模板中特有的模块个性模板一般是交给风格开发者开发。如果风格开发者上架了一款模版,没有做相应的模块模板,那么系统就会自动调用default

默认目录下对应的模板,如果默认的也没有,那么就会报错了。


继续创建,在模板文件夹里,类名也创建一个目录,比如Test类,那么就是


方法名就是文件名,比如index方法,那么就是


当然文件名也可以命名其他的,但是代码中就需要另外指定,如果名称和方法名一致,那就不需要指定了。


模板里的代码,可以是完整的,也可以部分的代码段,也可以继承,这里参考第三季的教程。

我们这里给index方法,添加模板代码如下:


此时这里是一个h1标签,样式绿色。


我们再返回到php里,使用固定输出模板的方法 fetch() 如下:



如果模板文件名,不是index,那么就是在此方法里传入其他名称 fetch('xxx')


此时我们再刷新后台看下,模板内容已经输出到后台了。




补充php小知识:

上面代码中输出模板的fetch为什么要加个$this,

因为这个fetch方法是一层一层继承下来的,继承到我们这个类里,成为了自己的成员方法。

$this是指向自己的,代表使用的是我们继承过来自己的成员方法,

因为php中还有个parent是指向父类的引用,类似java中的super,这样会避免调用混淆。

所以篇幅代码中以后会出现大量的this,大家只要知道这个this指针指向的是当前对象即可,即:(都是我自己的)





来源: 神盾工作室    转载请注明出处!

本文地址:https://shieldsoho.com/article/105.html

{{item.nickname}} @回复
发表于{{item.create_time}}

  • {{replyitem.nickname}} {{item.create_time}}
    @{{item.nickname}}

查看更多评论