2015-08-04 17:26:06 2978次浏览 3条回答 0 悬赏 10 金钱

我的是基础应用模板,想增加几个模块。一开始不知道基础高级模本的区别。现在用它写接口 创建几个模块为了是 更换版本使用的 ,求大神有没有好的解决方案!小弟跪求。。。。 或者 基础怎么升级 高级模板?

  • 回答于 2015-08-04 17:50 举报

    用模块区分版本是个不错的选择,我以前就是这样做的。
    基础模版不能直接升级到高级模板,你可以通过创建一个高级模板新项目,参考其目录结构,把基础模版修改成高级模板。

  • 回答于 2015-08-05 08:58 举报

    我恰好从基础版本整了一个模块的,你可以参考下:
    https://github.com/hustnaive/yii2-app-modular

    从基础模板增加模块的大致步骤如下:

    1,在项目根目录新建一个modules(命名随意)用于存储模块的代码文件。
    2,在modules目录新建一个以模块名命名的子目录,作为该模块的controllers,models,views的存储目录。比如demo
    3,在demo目录下面新建controllers,models,views(你也可以将原来的拷贝过来,但注意命名空间),然后新建一个Module.php作为模块的启动类(请仿照我前面提供的例子中的demo/Module.php,注意命名空间)。
    4,在web.php的component一节增加对modules的注入配置。格式为:

        "modules" => [
            ['class'=>'\namespace\to\Module']
        ]
    

    5,在项目启动文件增加到modules目录的别名,以帮助Yii找到你的modules代码目录。(具体请参考我的例子中的web/index.php)

    1 条回复
    回复于 2015-08-05 16:17 回复

    很想详细啊~~可以参考的 改一下

  • 回答于 2015-08-05 10:00 举报

    直接使用Gii创建modules即可~很简单哦~

    5 条回复
    回复于 2015-08-05 16:16 回复

    用gii 生成后 配置文件都添加模块了~ 然后 r=模块名 就出来了 但是我想访问模块下的 某一个控制的方法怎么办? 求解

    回复于 2015-08-05 16:30 回复

    r=模块名/控制器名/方法名

    回复于 2015-08-06 13:23 回复

    我可以说不行嘛~~~是不是的弄路由设置啊?? 他不是默认的控制器是default嘛

    回复于 2015-08-06 14:22 回复

    默认控制器是default,也就是访问时不加控制器名就能访问,如admin模块,你访问默认控制器时的地址:
    r=admin
    或者r=admin/default
    或者r=admin/default/index(默认控制器的默认方法,如果你没更换默认方法的话)

    回复于 2015-08-10 10:12 回复

    谢了 明白了

    觉得很赞
您需要登录后才可以回答。登录 | 立即注册
yiizhenhao
试用期

yiizhenhao

注册时间:2014-12-30
最后登录:2016-02-03
在线时长:2小时26分
  • 粉丝1
  • 金钱20
  • 威望0
  • 积分40

热门问题