PHPackages                             zler/biz - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. zler/biz

ActiveLibrary[Database &amp; ORM](/categories/database)

zler/biz
========

biz service dao

068PHP

Since Apr 15Pushed 5y ago1 watchersCompare

[ Source](https://github.com/SymfonyCordova/zler-biz)[ Packagist](https://packagist.org/packages/zler/biz)[ RSS](/packages/zler-biz/feed)WikiDiscussions main Synced 6d ago

READMEChangelogDependenciesVersions (1)Used By (0)

zler-biz
========

[](#zler-biz)

An API extension for biz

install
=======

[](#install)

- sample install

    ```
    composer require zler/biz
    ```
- laravel install

    ```
    php artisan vendor:publish --provider="Zler\Biz\Laravel\Provider\LaravelServiceProvider"
    ```

概述
==

[](#概述)

Biz定位为简单、易用的**业务层**框架，采用经典的 Service/Dao 模式来编写项目的业务逻辑，可以跟 Symfony、Laravel、Silex、Lumen、Phalcon 等框架搭配使用。

Biz Framework 的目标，给出一套组织业务代码的约定以及最佳实践，以让一些通用的模块的业务代码，能跨项目、跨 Web 开发框架的重用。使用 Biz 能给团队带来的好处有：

- 提高生产效率，减少重复开发。
- 能保证一些通用模块的质量，一些通用模块往往经过各个项目不断的锤炼，会有较高的质量。
- 方便团队各 Team 之间人员流动，因为大家都采用了一致的业务层框架，很容易就能上手新项目。

开发示例
----

[](#开发示例)

### 目录结构

[](#目录结构)

以下为含 `User`, `Article` 两个业务模块的推荐的目录结构示例：

```
src/
  Biz/
    User/
      Dao/
        Impl/
          UserDaoImpl.php
        UserDao.php
      Service/
        Impl/
          UserServiceImpl.php
        UserService.php
    Article
      Dao/
        Impl/
          ArticleDaoImpl.php
          CategoryDaoImpl.php
        ArticleDao.php
        CategoryDao.php
      Service/
        Impl/
          ArticleServiceImpl.php
        ArticleService.php

```

### 命名约定

[](#命名约定)

- 约定应用级业务层的顶级命名空间为 `Biz`，命名空间的第二级为模块名；
- 约定 *Service 接口*的接口名以 Service 作为后缀，命名空间为 `Biz\模块名\Service`, 上述例子中 `UserService` 的完整类名为 `Biz\User\Service\UserService`；
- 约定 *Service 实现类*的类名以 ServiceImpl 作为后缀，命名空间为 `Biz\模块名\Service\Impl`, 上述例子中 `UserServiceImpl` 的完整类名为 `Biz\User\Service\Impl\UserServiceImpl`；
- Dao 接口、类名的命名约定，同 Sevice 接口、类名的命名约定。

### 创建数据库

[](#创建数据库)

在编写业务代码之前，我们首先需要创建数据库

### 编写Dao

[](#编写dao)

以编写 User Dao 为例，我们首先需要创建 `UserDao接口`：

```
