有service目录的php框架,国产InitPHP框架系列 - InitPHP框架搭建高可用WEB应用04:服务层Service使用...

1. 应用配置

在配置文件中,添加Service的配置信息。Service的配置非常简单,就只要配置Service类名称和文件名称的后缀名,以及Service存放的路径就OK了。

/**

* Service配置参数

* 1. 你可以配置service的路径和文件(类名称)的后缀名

* 2. 一般情况下您不需要改动此配置

*/

$InitPHP_conf['service']['service_postfix'] = 'Service'; //后缀

$InitPHP_conf['service']['path'] = 'library/service/'; //service路径

2. 创建一个TestService.php

在library/service/文件夹下创建/user/TestService.php类。

0818b9ca8b590ca3270a3433284dd417.png

TestService:

/**

* 创建一个测试的Service

* @author zhuli

*/

class TestService extends Service {

public function getVal() {

echo "

This is TestService

";

}

}

3. 控制器中调用Service

在Controller中通过InitPHP::getService方法调用Service,该方法实例化了TestService类并且是单例。

/**

* 入口Controller

* @author zhuli.zhul

*

*/

class indexController extends Controller {

public $initphp_list = array("get"); //Action白名单

public function before() {

echo "before
";

}

public function after() {

echo "after
";

}

/**

* 入口

*/

public function run() {

$this->getTestService()->getVal(); //调用TestService中的getVal方法

$this->view->display("hello"); //调用hello.htm模板,后缀名.htm不需要填写

}

/**

* get方法

*/

public function get() {

echo "THIS IS GET
";

}

/**

* 调用TestService

* @return TestService

*/

public function getTestService() {

return InitPHP::getService("Test", "user");

}

}

InitPHP框架提供了一个InitPHP::getService() 全局API函数,可以直接单例-实例化Service

接口有两个参数,第一个参数是Service的类名称,不需要带后缀'Service';第二个参数是文件夹路径,默认Service都是放在

0818b9ca8b590ca3270a3433284dd417.png    lib/service/文件夹下的,也会碰到项目比较庞大,将Service类进行分类,比如分成User的类,那么文件夹目录

0818b9ca8b590ca3270a3433284dd417.png    lib/service/user/

InitPHP::getService和InitPHP::getDao两个接口的用法类似。全局都可以使用。如果用户采用MVC模式,直接在Controller中直接导入Dao即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值