新建切片

目录

什么是切片

切片是PESCMS2.6新引入的特征功能。切片分前切片和后切片,且基于路由绑定实现。切片可以这样理解:基于路由绑定的,前置加强和后置加强。

在2.5版本及之前,我们要实现一个公用方法都需要在组级控制器中创建公用控制器。再基于公用控制器的构造函数实现公用方法产出或调用。这么一来,容易产生一个问题:若某公用方法属于跨组形式公用,那么岂不是要在两个组的控制器再创建一层公用控制器?于是乎,PESCMS引入了全新的切片功能。

切片是基于路由绑定实现,因此适用性非常强!而且切片分前后切片!

前切片特点

前切片永远在控制器执行前运行。因此可以利用前切片实现以下常见功能:

  1. 权限验证

  2. 登录验证

后切片特点

后切片顾名思义,就是最后才执行的行为。后切片除了最后执行之外,他在控制器中有如下特性:

  1. 若当前控制器有视图操作。那么后切片将在视图渲染之前执行对应的后切方法。

  2. 若当前控制器没有试图操作,那么后切片将在控制器脚本运行完毕后再执行对应后切的方法。

新建切片

在程序根目录的Slice目录中创建任意文件。如 \Slice\Login.class.php 。在新建的文件键入如下代码

<?php
/**
 * PESCMS for PHP 5.4+
 *
 * Copyright (c) 2014 PESCMS (http://www.pescms.com)
 *
 * For the full copyright and license information, please view
 * the file LICENSE.md that was distributed with this source code.
 * @core version 2.6
 * @version 1.0
 */


namespace Slice; //命名空间

/**
 * 登录验证切片
 */
class Login extends \Core\Slice\Slice{

    public function before() {
        //执行前切片的登录认证的代码,此处省略
    }

    public function after() {
    }


}

每一个切片都必须继承\Core\Slice\Slice!而切片可以调用控制器中的方法。因为\Core\Slice\Slice也同时继承了\Core\Controller\Controller 。因此,我们可以讲切片的任何数据赋值给模板调用,也可以直接声明调用视图!

PESCMS DOC 文档系统
© Copyright 2015-2021. by the PESCMS DOC
耗时0.0244秒