搜索
首页后端开发php教程从零开始学YII2框架(六)高级应用程序模板,yii2框架_PHP教程

从零开始学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、不用担心学习过程中遇到问题,不能得到及时解决,我们会为每位学员指定专人,跟踪辅导
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/866653.htmlTechArticle从零开始学YII2框架(六)高级应用程序模板,yii2框架 高级应用程序模板 这个模板用在大型的团队开发项目中,而且后台从前台独立分离出...
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
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中,数组可以是多维的,即一个数组中可以嵌套另一个数组,形成多层级的数据结构。这样的数组常用于存储复杂的

在JavaScript中实现函数式编程的高级应用在JavaScript中实现函数式编程的高级应用Jun 15, 2023 pm 11:01 PM

JavaScript是一门支持函数式编程的语言,函数式编程的核心思想是将数据和函数分离开,强调程序的不变性和无副作用。函数式编程的语法简洁,且对代码的组织和测试有很大的优势。本文将介绍一些在JavaScript中实现函数式编程的高级应用。纯函数在函数式编程中,一个最基本的概念就是函数的纯粹性,纯函数是指一个函数无论在任何时候,输入同样的参数会得到同样

深入了解Python递归函数的高级应用与优化技巧深入了解Python递归函数的高级应用与优化技巧Feb 03, 2024 am 08:37 AM

掌握Python递归函数的高级应用与优化策略引言:递归函数是一种强大而常用的编程技巧,它能够有效解决问题,简化代码逻辑。然而,递归函数的性能问题常常困扰着程序员。本文将介绍Python中递归函数的高级应用及优化策略,并提供具体的代码示例。一、递归函数的基本概念递归函数是指在函数定义中调用自身的函数。它通常由两个部分组成:基线条件和递归条件。基线条件是递归函数

PHP数组高级应用指南:实用技巧与案例解析PHP数组高级应用指南:实用技巧与案例解析Mar 13, 2024 pm 04:18 PM

PHP数组是开发中经常用到的一种数据结构,在实际应用中,我们经常需要对数组进行各种操作和处理。本篇文章将介绍一些高级的PHP数组应用技巧,并通过案例解析来展示其实际应用。1.数组合并与分割合并数组有时候我们需要合并两个数组,PHP中提供了array_merge()函数来实现这一功能:$array1=[1,2,3];$array2=['a',

PHP字符函数的高级应用PHP字符函数的高级应用Jun 19, 2023 pm 10:53 PM

PHP是一种非常流行的服务器端编程语言,广泛的应用于网站开发中。在PHP编程中,字符串操作尤为常见。在这篇文章中,我们将介绍PHP字符函数的高级应用,来帮助你更好地处理和操作字符串。字符串截取字符串截取可以让你从一个较长的字符串中抽取出所需的部分,PHP提供了多个函数来实现字符串截取。例如,substr()函数可以从字符串中截取一定长度的字符。下面是一个简单

PHP中的正则表达式的高级应用PHP中的正则表达式的高级应用Jun 22, 2023 pm 06:27 PM

在PHP的开发中,正则表达式是非常高效的工具,可以帮助开发者快速地进行字符串匹配、替换、提取等操作。本文将介绍PHP中正则表达式高级应用,包括反向引用、贪婪与懒惰匹配、零宽断言等内容。一、反向引用反向引用是正则表达式中非常重要的概念,它可以使用已经匹配的子表达式内容来匹配后面的字符串。在PHP中,使用正则表达式反向引用时需要使用特殊符号""与数字结合使用。例

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器