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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Panduan Aplikasi Lanjutan Ungkapan Biasa Java Pengenalan: Ungkapan biasa ialah alat padanan corak teks yang berkuasa Ungkapan biasa boleh digunakan untuk melakukan pelbagai operasi carian, penggantian dan pengekstrakan yang kompleks dalam rentetan. Di Java, ungkapan biasa dilaksanakan melalui kelas yang disediakan oleh pakej java.util.regex. Artikel ini akan memperkenalkan pembaca kepada aplikasi lanjutan ungkapan biasa Java dan memberikan contoh kod khusus. 1. Konsep asas dan sintaks 1.1 Konsep asas ungkapan biasa Ungkapan biasa terdiri daripada aksara dan perkataan khas

Terokai aplikasi lanjutan dan kaedah pengoptimuman sintaks ungkapan biasa Java Pengenalan: Ekspresi biasa ialah alat padanan corak yang berkuasa yang digunakan secara meluas dalam pembangunan Java. Walau bagaimanapun, apabila keperluan menjadi lebih kompleks dan saiz data meningkat, pemadanan yang cekap menggunakan ungkapan biasa menjadi lebih penting. Artikel ini akan meneroka aplikasi lanjutan dan kaedah pengoptimuman sintaks ungkapan biasa Java dan memberikan contoh kod khusus. 1. Aplikasi Lanjutan 1.1 Penggunaan Kumpulan Tangkapan Kumpulan Tangkapan ialah ciri berkuasa dalam ungkapan biasa, yang boleh mengekstrak dan menyimpan padanan

Prakata kepada Aplikasi Lanjutan dan Analisis Kes Tatasusunan PHP Dalam PHP, tatasusunan ialah struktur data yang sangat penting dan biasa digunakan. Ia boleh menyimpan berbilang nilai dan mengakses dan memanipulasi data dengan pantas melalui pasangan nilai kunci. Walau bagaimanapun, sebagai tambahan kepada operasi tambah, padam, ubah suai dan pertanyaan asas, tatasusunan PHP juga mempunyai banyak aplikasi dan fungsi lanjutan Artikel ini akan memperkenalkan aplikasi ini melalui analisis kes. Kepelbagaian dimensi dan perkaitan tatasusunan Dalam PHP, tatasusunan boleh berbilang dimensi, iaitu satu tatasusunan boleh disarangkan dalam tatasusunan lain untuk membentuk struktur data berbilang peringkat. Tatasusunan sedemikian sering digunakan untuk menyimpan kompleks

Kuasai aplikasi lanjutan dan strategi pengoptimuman fungsi rekursif Python Pengenalan: Fungsi rekursif ialah teknik pengaturcaraan yang berkuasa dan biasa digunakan, yang boleh menyelesaikan masalah dengan berkesan dan memudahkan logik kod. Walau bagaimanapun, isu prestasi fungsi rekursif sering melanda pengaturcara. Artikel ini akan memperkenalkan aplikasi lanjutan dan strategi pengoptimuman fungsi rekursif dalam Python, dan memberikan contoh kod khusus. 1. Konsep asas fungsi rekursif Fungsi rekursif merujuk kepada fungsi yang memanggil dirinya dalam definisi fungsi. Ia biasanya terdiri daripada dua bahagian: keadaan asas dan keadaan rekursif. Keadaan garis dasar ialah fungsi rekursif

Tatasusunan PHP ialah struktur data yang sering digunakan dalam pembangunan Dalam aplikasi praktikal, kita sering perlu melakukan pelbagai operasi dan pemprosesan pada tatasusunan. Artikel ini akan memperkenalkan beberapa kemahiran aplikasi tatasusunan PHP lanjutan dan menunjukkan aplikasi praktikalnya melalui analisis kes. 1. Tatasusunan menggabungkan dan memisahkan Menggabung tatasusunan Kadangkala kita perlu menggabungkan dua tatasusunan PHP menyediakan fungsi array_merge() untuk mencapai fungsi ini: $array1=[1,2,3];$array2=['a',.

Panduan Aplikasi Lanjutan Ungkapan Biasa PHP Ungkapan biasa (RegularExpression) ialah alat pemprosesan teks yang berkuasa yang boleh membantu kami melaksanakan operasi pemadanan rentetan, penggantian dan pengekstrakan dengan berkesan. Dalam PHP, ungkapan biasa digunakan secara meluas Ia bukan sahaja boleh digunakan untuk mengesahkan input pengguna, tetapi juga memberikan kemudahan dan kecekapan semasa memproses data teks. Artikel ini akan memperkenalkan aplikasi lanjutan ungkapan biasa dalam PHP, termasuk sintaks ungkapan biasa yang biasa digunakan dan penggunaan fungsi, dan menyediakan contoh kod khusus. 1.

JavaScript ialah bahasa yang menyokong pengaturcaraan berfungsi Idea teras pengaturcaraan berfungsi adalah untuk memisahkan data dan fungsi, menekankan kebolehubahan dan kekurangan kesan sampingan program. Pengaturcaraan fungsional mempunyai sintaks yang ringkas dan mempunyai kelebihan besar dalam organisasi dan ujian kod. Artikel ini akan memperkenalkan beberapa aplikasi lanjutan pengaturcaraan berfungsi dalam JavaScript. Fungsi tulen Dalam pengaturcaraan fungsian, salah satu konsep yang paling asas ialah ketulenan fungsi Fungsi tulen bermakna fungsi akan mendapat hasil yang sama tidak kira apabila parameter yang sama dimasukkan.

Dalam pembangunan PHP, ungkapan biasa ialah alat yang sangat cekap yang boleh membantu pembangun melaksanakan pemadanan rentetan, penggantian, pengekstrakan dan operasi lain dengan cepat. Artikel ini akan memperkenalkan aplikasi lanjutan ungkapan biasa dalam PHP, termasuk rujukan belakang, pemadanan tamak dan malas, penegasan lebar sifar, dsb. 1. Backreference Backreference ialah konsep yang sangat penting dalam ungkapan biasa Ia boleh menggunakan kandungan subungkapan yang telah dipadankan untuk memadankan rentetan berikut. Dalam PHP, apabila menggunakan rujukan balik ungkapan biasa, anda perlu menggunakan simbol khas "" dalam kombinasi dengan nombor. contoh
