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

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java Regular Expressions Advanced Application Guide Einführung: Reguläre Ausdrücke sind ein leistungsstarkes Tool zum Vergleichen von Textmustern. Mit regulären Ausdrücken können verschiedene komplexe Such-, Ersetzungs- und Extraktionsvorgänge in Zeichenfolgen durchgeführt werden. In Java werden reguläre Ausdrücke durch Klassen implementiert, die vom Paket java.util.regex bereitgestellt werden. Dieser Artikel führt den Leser in die erweiterten Anwendungen regulärer Java-Ausdrücke ein und stellt spezifische Codebeispiele bereit. 1. Grundkonzepte und Syntax 1.1 Grundkonzepte regulärer Ausdrücke Reguläre Ausdrücke bestehen aus Zeichen und Sonderwörtern

Entdecken Sie die erweiterten Anwendungs- und Optimierungsmethoden der Java-Syntax für reguläre Ausdrücke. Einführung: Reguläre Ausdrücke sind ein leistungsstarkes Mustervergleichstool, das in der Java-Entwicklung häufig verwendet wird. Da jedoch die Anforderungen komplexer werden und die Datengröße zunimmt, wird ein effizienter Abgleich mithilfe regulärer Ausdrücke immer wichtiger. In diesem Artikel werden die erweiterten Anwendungs- und Optimierungsmethoden der Java-Syntax für reguläre Ausdrücke untersucht und spezifische Codebeispiele bereitgestellt. 1. Erweiterte Anwendung 1.1 Verwendung von Erfassungsgruppen Erfassungsgruppen sind eine leistungsstarke Funktion in regulären Ausdrücken, mit der Übereinstimmungen extrahiert und gespeichert werden können.

PHP ist eine sehr beliebte serverseitige Programmiersprache, die häufig bei der Website-Entwicklung verwendet wird. In der PHP-Programmierung kommt die String-Manipulation besonders häufig vor. In diesem Artikel stellen wir die erweiterte Anwendung von PHP-Zeichenfunktionen vor, um Ihnen dabei zu helfen, Zeichenfolgen besser zu verarbeiten und zu manipulieren. String-Interception Mit String-Interception können Sie den erforderlichen Teil aus einem längeren String extrahieren. PHP bietet mehrere Funktionen zum Implementieren des String-Interception. Beispielsweise kann die Funktion substr() eine bestimmte Länge von Zeichen aus einer Zeichenfolge abfangen. Hier ist eine einfache

Beherrschen Sie die erweiterten Anwendungs- und Optimierungsstrategien rekursiver Python-Funktionen. Einführung: Rekursive Funktionen sind eine leistungsstarke und häufig verwendete Programmiertechnik, mit der Probleme effektiv gelöst und die Codelogik vereinfacht werden können. Allerdings plagen Programmierer häufig Leistungsprobleme rekursiver Funktionen. In diesem Artikel werden die erweiterten Anwendungs- und Optimierungsstrategien rekursiver Funktionen in Python vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Grundkonzepte rekursiver Funktionen Eine rekursive Funktion bezeichnet eine Funktion, die sich in der Funktionsdefinition selbst aufruft. Es besteht normalerweise aus zwei Teilen: Basisbedingungen und rekursiven Bedingungen. Die Grundbedingung ist eine rekursive Funktion

JavaScript ist eine Sprache, die funktionale Programmierung unterstützt. Die Kernidee der funktionalen Programmierung besteht darin, Daten und Funktionen zu trennen und dabei die Unveränderlichkeit und das Fehlen von Nebenwirkungen des Programms hervorzuheben. Die funktionale Programmierung verfügt über eine prägnante Syntax und bietet große Vorteile bei der Codeorganisation und beim Testen. In diesem Artikel werden einige fortgeschrittene Anwendungen der funktionalen Programmierung in JavaScript vorgestellt. Reine Funktion In der funktionalen Programmierung ist die Reinheit der Funktion eines der grundlegendsten Konzepte. Eine reine Funktion bedeutet, dass eine Funktion unabhängig von der Eingabe derselben Parameter das gleiche Ergebnis erzielt.

In der PHP-Entwicklung sind reguläre Ausdrücke sehr effiziente Werkzeuge, mit denen Entwickler schnell String-Abgleiche, Ersetzungen, Extraktionen und andere Vorgänge durchführen können. In diesem Artikel werden erweiterte Anwendungen regulärer Ausdrücke in PHP vorgestellt, darunter Rückverweise, gieriges und verzögertes Matching, Behauptungen mit der Breite Null usw. 1. Rückverweis Rückverweis ist ein sehr wichtiges Konzept in regulären Ausdrücken. Es kann den Inhalt des bereits übereinstimmenden Unterausdrucks verwenden, um den folgenden String abzugleichen. Wenn Sie in PHP Rückverweise auf reguläre Ausdrücke verwenden, müssen Sie das Sonderzeichen „“ in Kombination mit Zahlen verwenden. Beispiel

PHP-Array ist eine Datenstruktur, die häufig in der Entwicklung verwendet wird. In praktischen Anwendungen müssen wir häufig verschiedene Operationen und Verarbeitungen an Arrays durchführen. In diesem Artikel werden einige fortgeschrittene PHP-Array-Anwendungsfähigkeiten vorgestellt und ihre praktische Anwendung anhand einer Fallanalyse demonstriert. 1. Arrays zusammenführen und aufteilen Arrays zusammenführen Manchmal müssen wir zwei Arrays zusammenführen. PHP stellt die Funktion array_merge() zur Verfügung, um diese Funktion zu erreichen: $array1=[1,2,3];$array2=['a',

Eingehende Analyse von C-Sprachzeigern: Erweiterte Anwendungen von Zeigern und Lösungen für häufige Probleme Einführung: Die C-Sprache ist eine Low-Level-Sprache und Zeiger sind eines ihrer Kernmerkmale. Obwohl das Konzept der Zeiger relativ einfach ist, stehen ihre erweiterten Anwendungen und Lösungen für häufige Probleme im Fokus vieler Programmierer. Dieser Artikel beginnt mit den fortgeschrittenen Anwendungen und häufigen Problemen von Zeigern, untersucht die verschiedenen Verwendungsmöglichkeiten von C-Sprachzeigern und stellt spezifische Codebeispiele bereit. 1. Erweiterte Anwendung von Zeigern. Dynamische Speicherzuweisung Die dynamische Speicherzuweisung bezieht sich auf eine Möglichkeit, Speicher nach Bedarf zur Laufzeit zuzuweisen. C Sprache
