目錄
从零开始学YII2框架(六)高级应用程序模板,yii2框架
《从零开始学英语》不可以创建应用程序组
app store里的“从零开始学英语”应用程序收费的,好用
首頁 php教程 php手册 从零开始学YII2框架(六)高级应用程序模板,yii2框架

从零开始学YII2框架(六)高级应用程序模板,yii2框架

Jun 13, 2016 am 09:26 AM
進階應用

从零开始学YII2框架(六)高级应用程序模板,yii2框架

高级应用程序模板
这个模板用在大型的团队开发项目中,而且后台从前台独立分离出来以便于部署在多个服务器中。由于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

登入後複製

也可以直接下载压缩文件:Yii 2 with advanced application template(beta)
https://github.com/yiisoft/yii2/ ... -app-2.0.0-beta.tgz

开始

安装完成后,需要对其进行初始化操作。

执行init,选择开发环境(dev)
php /path/to/yii-application/init
创建新的数据库,设置common/config/main-local.php里的components.db数据库信息
使用控制台命令迁移数据库
yii migrate
设置web服务器的根目录
前台/path/to/yii-application/frontend/web/对应的url为http://frontend/
后台/path/to/yii-application/backend/web/对应的url为http://backend/

登入後複製

目录结构

在根目录下面有这几个子目录

backend——后台web程序
common——公共的文件
console——控制台程序
environments——环境配置
frontend——前台web程序
根目录下面还有包含一些文件

.gitignore ——git版本控制中忽略的文件和目录,如果你有一些你不想要的文件到你的源代码里面就把它添加到这个文件中。
composer.json——这个下面会描述
init——在Composer里面所描述初始化脚本
init.bat——和上面一样,不过是Windows下面的
LIENSE.md——这个就不说了
README.md——同上
requirements.php——Yii运行环境要求检测文件
yii——控制台程序引导文件
yii.bat——Windows下面的东东

系统定义的路径别名

@yii ——框架的目录。
@app——当前正在运行的应用程序的基本路径。
@common -公共文件目录。
@frontend——前端web应用程序目录。
@backend ——后端web应用程序目录。
@console -控制台目录。
@runtime——当前正在运行的web应用程序的运行时目录
@vendor ——基础框架目录。
@web ——当前正在运行的web应用程序的url
@webroot——当前正在运行的web应用程序的web根目录。

应用程序

这个模板包含三个应用程序,前台、后台和控制台。前台通常来说就是展现给终端用户的,也就是项目本身。后台就是管理员控制面板,包含有分析以及类似的功能等。控制台主要用来做一些定时任务和一些简单的服务器的管理,另外也可以用来部署应用程序、数据库的迁移、资源的管理等。

common 目录提供一些公共的文件,可用于多个应用程序,例如User模型。

前台和后台都是web应用程序,他们都包含一个web目录,也就是web的根目录,在部署服务器的时候就得要指向这个目录。
每个应用程序都有他们自己的命名空间以及对应的别名。同理,common也有自己的命名空间和对应的别名。

配置和开发环境

在平常的开发中,直接设置配置文件会有多个问题

每个团队成员都有自己的配置选项。如果提交这样的配置将影响其他团队成员。
产品数据库密码和API密钥不应该在代码仓库中。
在有多个服务器的情况下:开发、测试、生产,每一个服务器都应该有自己的配置。
每种情况下都定义所有配置选项很重复,并且还要花太多的时间去维持它。

为了解决这些问题,Yii引入了一个非常简单的环境的概念。每个环境由环境目录下的一组文件的集合来表示。init命令用于不同环境之间切换。它只是复制从环境目录中所有应用程序的根目录。

通常环境包含应用程序引导文件如index.php和以-local.php后缀的配置文件。这些已经添加到.gitignore中,所以不会再添加到源码仓库中。
为了避免重复的配置文件相互覆盖。例如,前台应用程序按照以下顺序来读取配置:

common/config/main.php
common/config/main-local.php
frontend/config/main.php
frontend/config/main-local.php
登入後複製

参数文件按以下顺序读取

common/config/params.php
common/config/params-local.php
frontend/config/params.php
frontend/config/params-local.php
登入後複製

后面读取的文件配置会覆盖前面的配置

整个的流程图形如下

配置 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
    ],
  ],
];
登入後複製

之后,就可以像这样来使用前台的url

echo Yii::$app->urlManagerFrontend->createUrl(...);

登入後複製

翻译来源:http://www.yiiframework.com/doc-2.0/guide-apps-advanced.html
(Yii Framework 2.0 API Decumentation)

《从零开始学英语》不可以创建应用程序组

在C:\windows\文件夹里找到human.ini文件。

编辑文件内容:

[ZERO]
CDPATH=L:\ 这里是你虚拟光驱盘符,你自己看下是哪盘就改哪盘
HDPATH=d:\Program Files\HumanSoft\ZERO\ 这里改你的安装路径。
[HumanASR Parameter]
BnfMode=2
MarkMode=2
GradeMark=10
FactorMark=10

然后在安装目录里打开程序就行了。
 

app store里的“从零开始学英语”应用程序收费的,好用

对于你说的那个不是很了解,相关学习网站很多,但学习方法因人而异,可详细了解后,再确定一个适合自己的学习平台
你可以百度搜索“英语教练”详细了解
1、不用担心没有时间,我们的学习时间是灵活的,完全由你自己来定;
2、不用担心上当受骗,可试学满意后再付款,不满意不用花一分钱(当然,目前还没有通过试学,不满意我们教程的学员);
3、不用担心没基础,我们教程,从零开始,逐步加强,并有专人指导;
4、不用担心自己跟不上教学进度,我们的学习计划是根据个人差异来制定的;
5、不用担心学习过程中遇到问题,不能得到及时解决,我们会为每位学员指定专人,跟踪辅导
 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Java正規表示式的進階用法指南 Java正規表示式的進階用法指南 Jan 09, 2024 am 09:57 AM

Java正規表示式高階應用指南引言:正規表示式是一種強大的文字模式比對工具,使用正規表示式可以在字串中執行各種複雜的搜尋、取代和擷取操作。在Java中,正規表示式是透過java.util.regex套件提供的類別來實現的。本文將為讀者介紹Java正規表示式的高階應用,並提供具體的程式碼範例。一、基本概念和語法1.1正規表示式的基本概念正規表示式是由字元和特殊字

深入研究並優化Java正規表示式語法的方法 深入研究並優化Java正規表示式語法的方法 Jan 10, 2024 pm 02:30 PM

探索Java正規表示式語法的高階應用與最佳化方法引言:正規表示式是一種強大的模式匹配工具,在Java開發中廣泛使用。然而,隨著需求的複雜化和資料規模的增加,使用正規表示式進行高效匹配變得更加重要。本文將探討Java正規表示式語法的高階應用與最佳化方法,並提供具體的程式碼範例。一、進階應用1.1捕獲組的使用捕獲組是正規表示式中的一種強大的特性,它可以提取並儲存匹配

PHP數組的高階應用和案例分析 PHP數組的高階應用和案例分析 Jul 15, 2023 pm 10:22 PM

PHP數組的高階應用和案例分析前言在PHP中,數組是一種非常重要且常用的資料結構。它能夠儲存多個值,並能透過鍵值對快速存取和操作資料。然而,除了基本的增刪改查操作,PHP數組還有許多高階的應用與功能,本文將透過實​​例分析來介紹這些應用。數組的多維和關聯在PHP中,數組可以是多維的,即數組中可以嵌套另一個數組,形成多層級的資料結構。這樣的數組常用於儲存複雜的

PHP陣列進階應用指南:實用技巧與案例解析 PHP陣列進階應用指南:實用技巧與案例解析 Mar 13, 2024 pm 04:18 PM

PHP數組是一種在開發中常用到的資料結構,在實際應用中,我們經常需要對數組進行各種操作和處理。本篇文章將介紹一些進階的PHP陣列應用技巧,並透過案例解析來展示其實際應用。 1.數組合並與分割合併數組有時我們需要合併兩個數組,PHP中提供了array_merge()函數來實現這一功能:$array1=[1,2,3];$array2=['a',

深入了解Python遞歸函數的高階應用與最佳化技巧 深入了解Python遞歸函數的高階應用與最佳化技巧 Feb 03, 2024 am 08:37 AM

掌握Python遞迴函數的高階應用與最佳化策略引言:遞迴函數是一種強大且常用的程式設計技巧,它能夠有效解決問題,簡化程式碼邏輯。然而,遞歸函數的效能問題常常困擾著程式設計師。本文將介紹Python中遞歸函數的高階應用及最佳化策略,並提供具體的程式碼範例。一、遞歸函數的基本概念遞歸函數是指在函數定義中呼叫自身的函數。它通常由兩個部分組成:基線條件和遞歸條件。基線條件是遞歸函數

PHP正規表示式進階應用指南 PHP正規表示式進階應用指南 Mar 20, 2024 pm 02:51 PM

PHP正規表示式進階應用指南正規表示式(RegularExpression)是一種強大的文字處理工具,能夠幫助我們有效地進行字串比對、替換和擷取等操作。在PHP中,正規表示式的應用非常廣泛,不僅能夠用於驗證使用者輸入,還可以在處理文字資料時提供便利性和效率。本文將介紹PHP中正規表示式的高階應用,包括常用的正規表示式語法和函數使用,並提供具體的程式碼範例。 1.

深入探討C語言指標:進階應用與常見問題解決方案 深入探討C語言指標:進階應用與常見問題解決方案 Feb 23, 2024 pm 08:00 PM

C語言指標深度剖析:指標的高階應用與常見問題解決方案引言:C語言作為一門底層語言,指標是其核心特性之一。雖然指針的概念相對簡單,但其高階應用和常見問題解決方案卻是許多程式設計師所關注的重點。本文將從指標的高階應用和常見問題出發,探索C語言指標的各種用法,並提供具體的程式碼範例。一、指標的高階應用動態記憶體分配動態記憶體分配是指在運行時根據需要分配記憶體的一種方式。 C語言

在JavaScript中實現函數式程式設計的高階應用 在JavaScript中實現函數式程式設計的高階應用 Jun 15, 2023 pm 11:01 PM

JavaScript是一門支援函數式程式設計的語言,函數式程式設計的核心思想是將資料和函數分離開,強調程式的不變性和無副作用。函數式程式設計的語法簡潔,且對程式碼的組織和測試有很大的優勢。本文將介紹一些在JavaScript中實作函數式程式設計的進階應用。純函數在函數式程式設計中,一個最基本的概念就是函數的純粹性,純函數是指一個函數無論在任何時候,輸入同樣的參數都會得到同樣

See all articles