齐博x1第四季《模块插件的制作》系列6-给Test类下index方法加一个模板
我们之前创建的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指针指向的是当前对象即可,即:(都是我自己的)
来源: 神盾工作室 转载请注明出处!
查看更多评论