Maison php教程 php手册 从零开始学YII2框架(六)高级应用程序模板

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

Jun 06, 2016 pm 08:19 PM
高级应用

这篇文章主要介绍了YII2框架学习笔记之高级应用程序模板,深入浅出从安装,配置到使用方法都做了介绍,希望对大家有所帮助

高级应用程序模板
这个模板用在大型的团队开发项目中,而且后台从前台独立分离出来以便于部署在多个服务器中。由于YIi2.0的一些新的特性,这个程序模板的功能要更深一点。提供了基本的数据库的支持,注册、密码找回等功能。

安装

可以通过Composer来安装
如果没有安装Composer,先安装

curl -s | 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为 后台/path/to/yii-application/backend/web/对应的url为

目录结构

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

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管理规则。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'utilisation avancée des expressions régulières Java Guide d'utilisation avancée des expressions régulières Java Jan 09, 2024 am 09:57 AM

Guide d'application avancé des expressions régulières Java Introduction : Les expressions régulières sont un puissant outil de correspondance de modèles de texte. Les expressions régulières peuvent être utilisées pour effectuer diverses opérations complexes de recherche, de remplacement et d'extraction dans des chaînes. En Java, les expressions régulières sont implémentées via des classes fournies par le package java.util.regex. Cet article présentera aux lecteurs les applications avancées des expressions régulières Java et fournira des exemples de code spécifiques. 1. Concepts de base et syntaxe 1.1 Concepts de base des expressions régulières Les expressions régulières sont composées de caractères et de mots spéciaux

Étude approfondie et optimisation de la syntaxe des expressions régulières Java Étude approfondie et optimisation de la syntaxe des expressions régulières Java Jan 10, 2024 pm 02:30 PM

Explorez les méthodes avancées d'application et d'optimisation de la syntaxe des expressions régulières Java Introduction : L'expression régulière est un puissant outil de correspondance de modèles largement utilisé dans le développement Java. Cependant, à mesure que les exigences deviennent plus complexes et que la taille des données augmente, une correspondance efficace à l'aide d'expressions régulières devient plus importante. Cet article explorera les méthodes avancées d'application et d'optimisation de la syntaxe des expressions régulières Java et fournira des exemples de code spécifiques. 1. Application avancée 1.1 Utilisation des groupes de capture Les groupes de capture sont une fonctionnalité puissante dans les expressions régulières qui peuvent extraire et stocker des correspondances.

Applications avancées des fonctions de caractères PHP Applications avancées des fonctions de caractères PHP Jun 19, 2023 pm 10:53 PM

PHP est un langage de programmation côté serveur très populaire et largement utilisé dans le développement de sites Web. En programmation PHP, la manipulation de chaînes est particulièrement courante. Dans cet article, nous présenterons l'application avancée des fonctions de caractères PHP pour vous aider à mieux traiter et manipuler les chaînes. Interception de chaîne L'interception de chaîne vous permet d'extraire la partie requise d'une chaîne plus longue. PHP fournit plusieurs fonctions pour implémenter l'interception de chaîne. Par exemple, la fonction substr() peut intercepter une certaine longueur de caractères d'une chaîne. Voici un simple

Compréhension approfondie des techniques avancées d'application et d'optimisation des fonctions récursives de Python Compréhension approfondie des techniques avancées d'application et d'optimisation des fonctions récursives de Python Feb 03, 2024 am 08:37 AM

Maîtrisez les stratégies avancées d'application et d'optimisation des fonctions récursives Python Introduction : Les fonctions récursives sont une technique de programmation puissante et couramment utilisée, qui peut résoudre efficacement les problèmes et simplifier la logique du code. Cependant, les problèmes de performances des fonctions récursives affligent souvent les programmeurs. Cet article présentera les stratégies avancées d'application et d'optimisation des fonctions récursives en Python et fournira des exemples de code spécifiques. 1. Concepts de base des fonctions récursives Une fonction récursive fait référence à une fonction qui s'appelle elle-même dans la définition de la fonction. Il se compose généralement de deux parties : les conditions de base et les conditions récursives. La condition de base est une fonction récursive

Applications avancées de programmation fonctionnelle en JavaScript Applications avancées de programmation fonctionnelle en JavaScript Jun 15, 2023 pm 11:01 PM

JavaScript est un langage qui prend en charge la programmation fonctionnelle. L'idée principale de la programmation fonctionnelle est de séparer les données et les fonctions, en soulignant l'immuabilité et l'absence d'effets secondaires du programme. La programmation fonctionnelle a une syntaxe concise et présente de grands avantages en termes d'organisation et de test du code. Cet article présentera quelques applications avancées de programmation fonctionnelle en JavaScript. Fonction pure En programmation fonctionnelle, l'un des concepts les plus fondamentaux est la pureté de la fonction. Une fonction pure signifie qu'une fonction obtiendra le même résultat quel que soit le moment où les mêmes paramètres sont saisis.

Applications avancées des expressions régulières en PHP Applications avancées des expressions régulières en PHP Jun 22, 2023 pm 06:27 PM

Dans le développement PHP, les expressions régulières sont des outils très efficaces qui peuvent aider les développeurs à effectuer rapidement des opérations de correspondance, de remplacement, d'extraction et autres opérations. Cet article présentera les applications avancées des expressions régulières en PHP, notamment les références arrière, les correspondances gourmandes et paresseuses, les assertions de largeur nulle, etc. 1. Backreference Backreference est un concept très important dans les expressions régulières. Il peut utiliser le contenu de la sous-expression déjà correspondante pour faire correspondre la chaîne suivante. En PHP, lorsque vous utilisez des références arrière d'expressions régulières, vous devez utiliser le symbole spécial "" en combinaison avec des nombres. exemple

Guide d'application avancé PHP Array : conseils pratiques et analyse de cas Guide d'application avancé PHP Array : conseils pratiques et analyse de cas Mar 13, 2024 pm 04:18 PM

Le tableau PHP est une structure de données souvent utilisée dans le développement. Dans les applications pratiques, nous devons souvent effectuer diverses opérations et traitements sur les tableaux. Cet article présentera certaines compétences avancées en matière d'application de tableaux PHP et démontrera son application pratique à travers une analyse de cas. 1. Fusion et séparation de tableaux Fusion de tableaux Parfois, nous devons fusionner deux tableaux PHP fournit la fonction array_merge() pour réaliser cette fonction : $array1=[1,2,3];$array2=['a',

Une plongée approfondie dans les pointeurs C : applications avancées et solutions aux problèmes courants Une plongée approfondie dans les pointeurs C : applications avancées et solutions aux problèmes courants Feb 23, 2024 pm 08:00 PM

Analyse approfondie des pointeurs du langage C : applications avancées des pointeurs et solutions aux problèmes courants Introduction : Le langage C est un langage de bas niveau et les pointeurs sont l'une de ses fonctionnalités principales. Bien que le concept des pointeurs soit relativement simple, de nombreux programmeurs se concentrent sur leurs applications avancées et leurs solutions aux problèmes courants. Cet article partira des applications avancées et des problèmes courants des pointeurs, explorera les différentes utilisations des pointeurs en langage C et fournira des exemples de code spécifiques. 1. Application avancée des pointeurs Allocation dynamique de mémoire L'allocation dynamique de mémoire fait référence à une manière d'allouer la mémoire selon les besoins au moment de l'exécution. langage C

See all articles