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版基础部分的更多相关文章

  1. yii2 advanced版基础部分

    yii2 advanced版 一.目录结构 1.backend 和 frontend : 前后台入口,相当于是一个单独的Basic应用,有自己的 mvc 目录.配置文件目录.入口文件目录 2.cons ...

  2. yii2 basic版 MVC 部分

    一.model 1.什么是模型 模型是 MVC 模式中的一部分,是表现业务数据.规则和逻辑的对象 可通过继承 yii\base\Model 或它的子类(activeRecord)来定义模型类,基类 y ...

  3. linux发行版基础目录

    linux发行版基础目录 linux 基础目录 linux基础目录 目录 作用 / 根目录,起源 /boot linux引导启动目录 /lib 库目录 /bin 常用内部命令 /sbin 常用内部管理 ...

  4. yii2高级版账号密码问题

    yii2高级版默认后台没有密码,生成账号密码步骤: 1. CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` ...

  5. Ubuntu 安装yii2 advanced版 遇到的坑

    1.安装 Composer https://www.yiichina.com/doc/guide/2.0/start-installation通过 Composer 安装 curl -sS https ...

  6. Virtex6 PCIe 超简版基础概念学习(二)

    Virtex6 PCIe 超简版基础概念学习(二) 分类:FPGAPCIe (2081)  (0)  举报  收藏 文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 ise14.7 ...

  7. yii2 beta版 执行流程

    yii2 beta版 执行流程 自动加载 1.composer的自动加载 //composer的加载实现了四种方式,可以看看 require(__DIR__ . '/../../vendor/auto ...

  8. 掌握Thinkphp3.2.0----模版基础

    我们将要学习一下 ThinkPHP 模版,ThinkPHP 内置了一个基于 XML 的性能卓越的模版引擎 ThinkTemplate,使用了动态编译和缓存技术,支持自定义标签库, 其实我还体会不到其中 ...

  9. [linux basic]基础--信号

    线程->信号信号,是unix和linux系统响应某些条件而产生的一个事件.接收到该信号的进程会相应地采取一些行动.raise生成表示一个信号的产生catch捕获表示接受到一个信号的产生:信号是由 ...

随机推荐

  1. Pymysql-总结

    背景:工作需要大量链接数据库进行一些操作查询,但是也会有出现异常情况 1.添加字段 1 ALTER TABLE app01_student ADD COLUMN Relation VARCHAR(25 ...

  2. ES优化总结

    ES优化总结(特别是在bulk大量数据到ES的时候) https://blog.csdn.net/chenxun_2010/article/details/78602795 将 ELASTICSEAR ...

  3. hadoop集群运行jps命令以后Datanode节点未启动的解决办法

    出现该问题的原因:在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfs namenode -format),这时namenode的clusterID会重新生成,而da ...

  4. js 函数参数为什么是按值传递?

    首先说下,在js中有两大类数据类型: 基本类型和引用类型. 其次,基本类型有5种: Undefined,Null,Boolean,Number.String, 引用类型有一种: Object(Func ...

  5. Oier们的镜子(mirror)

    题解: 这题真是把我坑的很惨.. 题目看了很久才看懂.. 然后刚开始又没看见每个只能匹配一个这种条件 #include <bits/stdc++.h> using namespace st ...

  6. [转]10 Awesome Indicator Applets for Ubuntu’s Unity Desktop

    http://blogger.gtwang.org/2013/10/awesome-indicator-applets-for-ubuntus-unity-desktop.html http://ww ...

  7. NEST 中的日期数学表达式

    Date math expressions Version: 5.x 英文原文地址:Date math expressions query/filter 中涉及到日期类型时(如:timeout 参数) ...

  8. 【AtCoder】ARC071

    ARC071 C - 怪文書 / Dubious Document 题目大意:给n个字符串,每个字符串可以通过扔掉一些字母将剩下的字母重排得到新的字符串,求n个字符串都能拼出的字符串且长度最大,若有多 ...

  9. flink的流处理特性

    flink的流处理特性: 支持高吞吐.低延迟.高性能的流处理 支持带有事件时间的窗口(Window)操作 支持有状态计算的Exactly-once语义 支持高度灵活的窗口(Window)操作,支持基于 ...

  10. Redis闪退解决办法

    复杂办法! cmd 进入命令,cd进入redis文件 输入:redis-server.exe redis.windows.conf,手动开启! 简单办法,删除重新下载! 不确定办法如下 1.在解压的r ...