yii2如何创建应用

发布时间 - 2019-11-05 00:00:00    点击率:

application在yii2中有两个不同的意思:应用系统、应用主体。一个应用系统可以包含多个应用主体。典型的例如 yii2 advanced 高级应用系统,就包含frontend、backend和console三个应用主体,分别提供前台用户界面,后台管理界面和命令行界面。

有的时候,我们还需要一个api,用来提供webservice。这个时候我们就需要再创建一个新的应用主体,来提供api。

1,先在项目的根目录下复制一份 backend 改名为 api:    (推荐学习:yii教程)

cp backend/ api -r

2,拷贝 api 环境

cp -a environments/dev/frontend environments/dev/api
cp -a environments/prod/frontend environments/prod/api

3,修改 environments/index.php 文件之后的代码(主要是添加了一些 api 相关的代码):

return [
    'Development' => [
        'path' => 'dev',
        'setWritable' => [
            'backend/runtime',
            'backend/web/assets',
            'frontend/runtime',
            'frontend/web/assets',
            'api/runtime',
            'api/web/assets',
        ],
        'setExecutable' => [
            'yii',
            'yii_test',
        ],
        'setCookieValidationKey' => [
            'backend/config/main-local.php',
            'frontend/config/main-local.php',
            'api/config/main-local.php',
        ],
    ],
    'Production' => [
        'path' => 'prod',
        'setWritable' => [
            'backend/runtime',
            'backend/web/assets',
            'frontend/runtime',
            'frontend/web/assets',
            'api/runtime',
            'api/web/assets',
        ],
        'setExecutable' => [
            'yii',
        ],
        'setCookieValidationKey' => [
            'backend/config/main-local.php',
            'frontend/config/main-local.php',
            'api/config/main-local.php',
        ],
    ],
];

4,切换到项目根目录,执行初始化命令

php init

windows下打开cmd,切换到项目根目录执行上述命令。

5,添加api文件夹别名,去 common/config/bootstrap.php 最后一行添加如下代码:

Yii::setAlias('api', dirname(dirname(__DIR__)) . '/api');

6,修改一下配置文件 api/config/main.php

return [
'id' => 'app-api',
// ... 
'controllerNamespace' => 'api\controllers',
]

7,修改api文件中,controllers,models,assets,views中文件的命名空间为api。


# php  # bootstrap  # 命名空间  # console  # windows  # YII  # 切换到  # 多个  # 中有  # 这个时候  # 还需要  # 先在  # 命令行  # 配置文件  # 后台管理  # 主要是 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Session怎么存储_Laravel Session驱动配置详解  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  利用 Google AI 进行 YouTube 视频 SEO 描述优化  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  Laravel怎么为数据库表字段添加索引以优化查询  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  深圳网站制作的公司有哪些,dido官方网站?  html如何与html链接_实现多个HTML页面互相链接【互相】  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  网站优化排名时,需要考虑哪些问题呢?  zabbix利用python脚本发送报警邮件的方法  利用python获取某年中每个月的第一天和最后一天  如何在万网ECS上快速搭建专属网站?  Thinkphp 中 distinct 的用法解析  详解Android中Activity的四大启动模式实验简述  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  深圳网站制作平台,深圳市做网站好的公司有哪些?  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  Laravel如何使用Vite进行前端资源打包?(配置示例)  Android Socket接口实现即时通讯实例代码  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  如何在景安云服务器上绑定域名并配置虚拟主机?  如何在自有机房高效搭建专业网站?  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  如何在七牛云存储上搭建网站并设置自定义域名?  javascript读取文本节点方法小结  如何在腾讯云免费申请建站?  如何快速生成ASP一键建站模板并优化安全性?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  在线教育网站制作平台,山西立德教育官网?  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  java获取注册ip实例  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  如何快速打造个性化非模板自助建站?  jQuery 常见小例汇总  如何在IIS中新建站点并配置端口与IP地址?  如何在万网利用已有域名快速建站?  Laravel如何处理和验证JSON类型的数据库字段  Laravel如何实现本地化和多语言支持?(i18n教程)  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比