服务

在CmlPHP中Server层是可选的,增加Server层的目的主要是为了让代码更加的可复用。比如表单搜索的处理,某应用中对图片上传扩展的二次封装,调用接口api,api单独封装成扩展返回原始格式,而当前应用中多处需要将api的返回值做格式化处理,此时在Server中封装成单独的Server给多个Controller调用,做到代码可复用和更高的抽象化

服务使用说明

我们创建一个UploadServer.php用来处理文件上传的逻辑,在其内部对文件上传的扩展进行封装


<?php namespace web\Server;


use Cml\Config;

use Cml\Server;

use Cml\Vendor\UploadFile;


class UploadServer extends Server

{

   /**

    * 上传图片

    */

     public static function uploadImage()

     {
         $uploadFile = new UploadFile(array(
             'subDir' => true,
             'subDirType' => 'date'
         ));

        if ($uploadFile->upload(Config::get('upload_file_root').'images')) {
             die('{"file" : "'.$uploadFile->getSuccessInfo()[0]['savename'].'", "id" : "'.$_POST['id'].'"}');
        } else {
            die('{"error" : 102, "message" : "'.$uploadFile->getErrorInfo().'", "id" : "'.$_POST['id'].'"}');
        }
    }

}

可以看到 类似Controller Server的命名空间是以应用名\Server开始,且类名必须加上Server后缀,继承 \Cml\Server基类

当然了这边也不仅限于Server你还可以建类型Logic等等 命名空间记得把Server改成Logic即可

results matching ""

    No results matching ""