zoukankan      html  css  js  c++  java
  • 学习笔记(一)

     一. 获取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
    • 类的命名空间地址和所在的路径地址一致,例如 HomeControllerUserController类所在的路径应该是 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);

     

     

  • 相关阅读:
    LeetCode153 Find Minimum in Rotated Sorted Array. LeetCode162 Find Peak Element
    LeetCode208 Implement Trie (Prefix Tree). LeetCode211 Add and Search Word
    LeetCode172 Factorial Trailing Zeroes. LeetCode258 Add Digits. LeetCode268 Missing Number
    LeetCode191 Number of 1 Bits. LeetCode231 Power of Two. LeetCode342 Power of Four
    LeetCode225 Implement Stack using Queues
    LeetCode150 Evaluate Reverse Polish Notation
    LeetCode125 Valid Palindrome
    LeetCode128 Longest Consecutive Sequence
    LeetCode124 Binary Tree Maximum Path Sum
    LeetCode123 Best Time to Buy and Sell Stock III
  • 原文地址:https://www.cnblogs.com/netRob/p/5112180.html
Copyright © 2011-2022 走看看