yii2 basic版基础部分
Yii2.0 basic 版
yii 官方网站:http://www.yiiframework.com/
一、安装:
1、下载地址:http://www.yiichina.com/download
从归档文件安装:Yii2的基本应用程序模板
2、参数修改:basic/config/web.php 将 cookieValidationKey 任意填写一个值
3、访问主页:http://localhost/basic/web/index.php
二、目录结构
1、controllers/ : 控制器类
2、models/ : 模型类
3、views/ : 视图文件
4、commands : 控制台命令
5、tests / : 测试相关的文件
6、assets/ : 资源文件
7、config/ : 应用配置及其它配置
8、web/ : web应用根目录,包含web入口文件
- assets/ : 资源文件(js 和 css)
- index.php : 应用入口文件
9、runtime/ : 运行时产生的文件,例如日志和缓存文件
10、vendor/ : Yii自身及第三方拓展
11、根目录下的yii文件 : Yii 控制台命令执行脚本
三、配置 web 服务器,隐藏 basic/web
1、先在 apache 的 httpd.conf 中将虚拟路径的注释去掉
Include conf/extra/httpd-vhosts.conf
2、在httpd-vhosts.conf 中做如下配置:
<VirtualHost *:80>
ServerName www.learnyii.com # 配置的网站名
DocumentRoot e:/www/basic/web # 主站点的网页存储位置,即为我们需要隐藏的目录
<Directory "e:/www/basic/web/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All # 允许在.htaccess文件中可以使用所有的指令
Require local
# 开启 mod_rewrite 用于美化 url 功能的支持
RewriteEngine on
# 如果请求的是真实存在的文件或目录,直接访问
RewriteCond %{REQUEST_FILENAME} !f
RewriteCond %{REQUEST_FILENAME} !d
# 如果请求的不是真实的文件或目录,分发请求至 index.php
RewriteRule . index.php
</Directory>
</VirtualHost> options解析:
1、indexes:若找不到index.html则返回该目录下的文件列表给用户;
2、Includes:允许使用mod_include模块提供的服务器端包含功能;
3、FollowSymLinks:服务器允许在此目录中使用符号连接;
4、Multiviews:允许使用mod_negotiation模块提供内容协商的"多重视图"
3、在 hosts 文件(C:\Windows\System32\drivers\etc\hosts)中配置如下:
127.0.0.1 www.learnyii.com
4、关于 apache options 的详解,可以参考:http://www.365mini.com/page/apache-options-directive.htm
四、入口文件(web/index.php)
defined('YII_DEBUG') or define('YII_DEBUG', true); // 标识应用是否应用在调试模式
defined('YII_ENV') or define('YII_ENV', 'dev'); // 标识应用运行的环境
(new yii\web\Application($config))->run(); // 应用主体 : 管理 Yii 应用系统整体结构和生命周期的对象
// 可以用Yii::$qpp来访问
// $config 给应用主体这个对象的属性进行初始化赋值
// $config 是从web.php中加载进来的
4.1、使用实例:
a、Yii::$app->language
b、Yii::$app->charset
4.2、配置应用主体
位置:在 config/web.php 中进行配置
eg. language 默认为 en-US,配置为 language => 'zh-CN',
五、config
$config = [
'id' => 'basic', // 区分其它应用主体的唯一标识 id
'basePath' => dirname(__DIR__), // 指定该应用的根目录
'language' => 'zh-CN',
'defaultRoute' => 'post/index' // 如何加载控制器 ,缺损的路由,当 url 中没有传 r 的时候可以打开的路由
'components' => [] // 注册多个在其它地方使用的应用组件
]
六、其它
Yii::$app->response->format = Response::FORMAT_JSON; // 返回值会被 response 组件格式化后发送给终端用户
//可格式化的有以下几个值:
FORMAT_RAW = 'raw';
FORMAT_HTML = 'html';
FORMAT_JSON = 'json';
FORMAT_JSONP = 'jsonp';
FORMAT_XML = 'xml';
自定义params参数:
路径:
项目根目录/config/params.php 中配置:
//导入文件的路径
'importPath' => '@test/data/import',
配置完毕后就可以通过 Yii::$app->params['importPath'] 来获取这个值
注:本文为作者(44106-kangaroo) 看完魏羲教你学Yii2.0 视频后所记,如有转载请注明出处:http://www.cnblogs.com/chrdai/p/8004309.html
yii2 basic版基础部分的更多相关文章
- yii2 advanced版基础部分
yii2 advanced版 一.目录结构 1.backend 和 frontend : 前后台入口,相当于是一个单独的Basic应用,有自己的 mvc 目录.配置文件目录.入口文件目录 2.cons ...
- yii2 basic版 MVC 部分
一.model 1.什么是模型 模型是 MVC 模式中的一部分,是表现业务数据.规则和逻辑的对象 可通过继承 yii\base\Model 或它的子类(activeRecord)来定义模型类,基类 y ...
- linux发行版基础目录
linux发行版基础目录 linux 基础目录 linux基础目录 目录 作用 / 根目录,起源 /boot linux引导启动目录 /lib 库目录 /bin 常用内部命令 /sbin 常用内部管理 ...
- yii2高级版账号密码问题
yii2高级版默认后台没有密码,生成账号密码步骤: 1. CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` ...
- Ubuntu 安装yii2 advanced版 遇到的坑
1.安装 Composer https://www.yiichina.com/doc/guide/2.0/start-installation通过 Composer 安装 curl -sS https ...
- Virtex6 PCIe 超简版基础概念学习(二)
Virtex6 PCIe 超简版基础概念学习(二) 分类:FPGAPCIe (2081) (0) 举报 收藏 文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 ise14.7 ...
- yii2 beta版 执行流程
yii2 beta版 执行流程 自动加载 1.composer的自动加载 //composer的加载实现了四种方式,可以看看 require(__DIR__ . '/../../vendor/auto ...
- 掌握Thinkphp3.2.0----模版基础
我们将要学习一下 ThinkPHP 模版,ThinkPHP 内置了一个基于 XML 的性能卓越的模版引擎 ThinkTemplate,使用了动态编译和缓存技术,支持自定义标签库, 其实我还体会不到其中 ...
- [linux basic]基础--信号
线程->信号信号,是unix和linux系统响应某些条件而产生的一个事件.接收到该信号的进程会相应地采取一些行动.raise生成表示一个信号的产生catch捕获表示接受到一个信号的产生:信号是由 ...
随机推荐
- TypeScipt学习
TypeScript具有类型系统,且是JavaScript的超集.它可以编译成普通的JavaScript代码. TypeScript支持任意浏览器,任意环境,任意系统并且是开源的.Ts主要用于解决那些 ...
- [转] linux学习第四十四篇:Nginx安装,Nginx默认虚拟主机,Nginx域名重定向
Nginx安装 进入存放源码包的目录: cd /usr/local/src 下载源码包: wget http://nginx.org/download/nginx-1.12.1.tar.gz 解压: ...
- maven安装和eclipse集成
maven作为一个项目构建工具,在开发的过程中很受欢迎,可以帮助管理项目中的bao依赖问题,另外它的很多功能都极大的减少了开发的难度,下面来介绍maven的安装及与eclipse的集成. maven的 ...
- gitlab之四: gitlab ssh key 配置
参考: https://www.cnblogs.com/hafiz/p/8146324.html 1. gitlab的右上角. 用户下拉菜单--->setting>ssh密钥,将公钥 ...
- Cookies 和 Session的区别
1.cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据. 2.session其实指的就是访问者从到达某个特定主页到离开为止的那段时间. ...
- 2018牛客网暑假ACM多校训练赛(第十场)H Rikka with Ants 类欧几里德算法
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round10-H.html 题目传送门 - https://www.n ...
- 51Nod1773 A国的贸易 多项式 FWT
原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1773.html 题目传送门 - 51Nod1773 题意 给定一个长度为 $2^n$ 的序列,第 $ ...
- JAVA中值类型和引用类型的不同(面试常考)
转载:https://www.cnblogs.com/1ming/p/5227944.html 1. JAVA中值类型和引用类型的不同? [定义] 引用类型表示你操作的数据是同一个,也就是说当你传一个 ...
- 自动驾驶系统 bfs
一家科技公司有一块试验地用于测试自动驾驶系统.试验地由n×m个格子组成,从上到下依次编号为第1到n行,从左到右依次编号为第1到m列.试验车位于其中的某个格子上,每次自动驾驶系统可以控制汽车往上下左右移 ...
- Python 小程序之 恋爱表情包爬取
虽然恋爱跟我一毛钱关系没有,,但是我还是想爬它 实验爬取网址:http://qq.yh31.com/zjbq/1491124.html # -*- coding: utf-8 -*- # @Time ...