高级应用程序模板
这个模板用在大型的团队开发项目中,而且后台从前台独立分离出来以便于部署在多个服务器中。由于YIi2.0的一些新的特性,这个程序模板的功能要更深一点。提供了基本的数据库的支持,注册、密码找回等功能。
安装
可以通过Composer来安装
如果没有安装Composer,先安装
curl -s http://getcomposer.org/installer | php
然后用如下命令来获取
php composer.phar create-project --prefer-dist --stability=dev yiisoft/yii2-app-advanced /path/to/yii-application
(王银河.CN提供)
也可以直接下载压缩文件:Yii 2 with advanced application template(beta)
https://github.com/yiisoft/yii2/ ... -app-2.0.0-beta.tgz
开始
安装完成后,需要对其进行初始化操作。
目录结构
在根目录下面有这几个子目录
根目录下面还有包含一些文件
系统定义的路径别名
应用程序
这个模板包含三个应用程序,
此外还有一个common 目录,这个里面主要是提供一些公共的文件,可用于多个应用程序,例如User模型。
前台和后台都是web应用程序,他们都包含一个web目录,也就是web的根目录,在部署服务器的时候就得要指向这个目录。
每个应用程序都有他们自己的命名空间以及对应的别名。同理,common也有自己的命名空间和对应的别名。
配置和开发环境
在平常的开发中,直接设置配置文件会有多个问题
为了解决这些问题,Yii引入了一个非常简单的环境的概念。每个环境由环境目录下的一组文件的集合来表示。init命令用于不同环境之间切换。它只是复制从环境目录中所有应用程序的根目录。
通常环境包含应用程序引导文件如index.php和以-local.php后缀的配置文件。这些已经添加到.gitignore中,所以不会再添加到源码仓库中。
为了避免重复的配置文件相互覆盖。例如,前台应用程序按照以下顺序来读取配置:
参数文件按以下顺序读取
后面读取的文件配置会覆盖前面的配置
整个的流程图形如下
配置 Composer
应用程序安装完成后就可以设置要目录下面的composer.json
{ "name": "yiisoft/yii2-app-advanced", "description": "Yii 2 Advanced Application Template", "keywords": ["yii", "framework", "advanced", "application template"], "homepage": "http://www.yiiframework.com/", "type": "project", "license": "BSD-3-Clause", "support": { "issues": "https://github.com/yiisoft/yii2/issues?state=open", "forum": "http://www.yiiframework.com/forum/", "wiki": "http://www.yiiframework.com/wiki/", "irc": "irc://irc.freenode.net/yii", "source": "https://github.com/yiisoft/yii2" }, "minimum-stability": "dev", "require": { "php": ">=5.4.0", "yiisoft/yii2": "*", "yiisoft/yii2-swiftmailer": "*", "yiisoft/yii2-bootstrap": "*", "yiisoft/yii2-debug": "*", "yiisoft/yii2-gii": "*" }, "scripts": { "post-create-project-cmd": [ "yii\\composer\\Installer::setPermission" ] }, "extra": { "writable": [ "backend/runtime", "backend/web/assets", "console/runtime", "console/migrations", "frontend/runtime", "frontend/web/assets" ] } }
首先,修改一些基本信息。例如名称,描述,关键词,主页等等。
你还可以根据你的需要添加更多的应用程序。这些包都是来自packagist.org,可免费的浏览所有的代码。
修改完composer.json之后 就可以运行
php composer.phar update --prefer-dist
,等下载并安装完成后就可以开始使用了。自动加载的类将会自动处理。
创建从后端到前端的链接
通常情况下需要从后端应用程序连接到前端应用程序。因为前端应用程序可能包含自己的URL管理规则,所以需要再添加一个不同名字的后台的URL管理规则。
return [ 'components' => [ 'urlManager' => [ // here is your normal backend url manager config ], 'urlManagerFrontend' => [ // here is your frontend URL manager config BaseUrl => 'xxx', HostInfo => 'yyy', ], ], ];
具体的BaseUrl和HostInfo是什么 就根据你要求自己写吧
如果不知道 怀在前台var_dump(Yii:app),然后在输出的代码中找前台的UrlManager中相同的参数
之后,就可以像这样来使用前台的url
echo Yii::$app->urlManagerFrontend->createUrl(...);