学习笔记(一)

 一. 获取ThinkPHP   

    官方网站(http://thinkphp.cn

 二. 环境要求

    PHP5.3以上版本(注意:PHP5.3dev版本和PHP6均不支持) 

 三.  目录结构

    ├─ThinkPHP 框架系统目录(可以部署在非web目录下面)

      │ ├─Common 核心公共函数目录

      │ ├─Conf 核心配置目录

      │ ├─Lang 核心语言包目录

      │ ├─Library 框架类库目录

        │ ├─Think 核心Think类库包目录

        │ ├─Behavior 行为类库目录

        │ ├─Org Org类库包目录

        │ ├─Vendor 第三方类库目录

        │ ├─ ... 更多类库目录

      │ ├─Mode 框架应用模式目录

      │ ├─Tpl 系统模板目录

      │ ├─LICENSE.txt 框架授权协议文件

      │ ├─logo.png 框架LOGO文件

      │ ├─README.txt 框架README文件

      │ └─index.php 框架入口文件

   四.  入口文件

     如果你调整了框架核心目录的位置或者目录名,只需要这样修改:

      define('APP_PATH','./Application/');

      define('THINK_PATH',realpath('../Think').'/');

      require THINK_PATH.'ThinkPHP.php';

      

常量描述
THINK_PATH 框架目录
APP_PATH 应用目录
RUNTIME_PATH 应用运行时目录(可写)
APP_DEBUG 应用调试模式 (默认为false)
STORAGE_TYPE 存储类型(默认为File)
APP_MODE 应用模式(默认为common)

 

 

    在自动生成目录结构的同时,在各个目录下面我们还看到了index.html文件,这是ThinkPHP自动生成的目录安全文件。

    为了避免某些服务器开启了目录浏览权限后可以直接在浏览器输入URL地址查看目录,系统默认开启了目录安全文件机制,会在自动生成目录的时候生成空白的index.html文件,当然安全文件的名称可以设置,例如你想给安全文件定义为default.html可以在入口文件中添加:

    1.   define('DIR_SECURE_FILENAME', 'default.html');
    2.   define('APP_PATH','./Application/');
    3.   require './ThinkPHP/ThinkPHP.php';

    如果你的环境足够安全,不希望生成目录安全文件,可以在入口文件里面关闭目录安全文件的生成,例如:

    1.   define('BUILD_DIR_SECURE', false);

  五.  开发规范

  • 类文件都是以.class.php为后缀(这里是指的ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如 DbMysql.class.php
  • 类的命名空间地址和所在的路径地址一致,例如 Home\Controller\UserController类所在的路径应该是 Application/Home/Controller/UserController.class.php
  • 确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而ThinkPHP在调试模式下面,即使在Windows平台也会严格检查大小写);
  • 类名和文件名一致(包括上面说的大小写一致),例如 UserController类的文件命名是UserController.class.php, InfoModel类的文件名是InfoModel.class.php, 并且不同的类库的类命名有一定的规范;
  • 函数、配置文件等其他类库文件之外的一般是以.php为后缀(第三方引入的不做要求);
  • 函数的命名使用小写字母和下划线的方式,例如 get_client_ip
  • 方法的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 getUserName_parseType,通常下划线开头的方法属于私有方法;
  • 属性的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 tableName_instance,通常下划线开头的属性属于私有属性;
  • 以双下划线“__”打头的函数或方法作为魔法方法,例如 __call__autoload
  • 常量以大写字母和下划线命名,例如 HAS_ONEMANY_TO_MANY
  • 配置参数以大写字母和下划线命名,例如HTML_CACHE_ON
  • 语言变量以大写字母和下划线命名,例如MY_LANG,以下划线打头的语言变量通常用于系统语言变量,例如 _CLASS_NOT_EXIST_
  • 对变量的命名没有强制的规范,可以根据团队规范来进行;
  • ThinkPHP的模板文件默认是以.html 为后缀(可以通过配置修改);
  • 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段是正确写法,类似 _username 这样的数据表字段可能会被过滤。  

  六.  配置

      //项目配置文件

      return array(

        'DEFAULT_MODULE' => 'Index', //默认模块

        'URL_MODEL' => '2', //URL模式

        'SESSION_AUTO_START' => true, //是否开启session

        'USER_CONFIG' => array(

              'USER_AUTH' => true,

              'USER_TYPE' => 2,

            ),

        //更多配置参数

        //...

       );

      惯例配置->位于ThinkPHP/Conf/convention.php

      应用配置->Application/Common/Conf/config.php

      模式配置->Application/Common/Conf/config_应用模式名称.php(仅在运行该模式下面才会加载)。

      调试配置->位于ThinkPHP/Conf/debug.php   Application/Common/Conf/debug.php

      状态配置->define('APP_STATUS','office'); 位于Application/Common/Conf/office.php

      模块配置->位于Application/当前模块名/Conf/config.php

      扩展配置->'LOAD_EXT_CONFIG' => 'user,db'   自定义配置文件

      动态配置->C('参数名称','新的参数值');

      获取已经设置的参数值:C('参数名称')

      批量配置:$config = array('WEB_SITE_TITLE'=>'ThinkPHP','WEB_SITE_DESCRIPTION'=>'开源PHP框架');    C($config);

 

 

 

posted @ 2016-01-08 10:00  netRuby  阅读(468)  评论(0编辑  收藏  举报