zoukankan      html  css  js  c++  java
  • ThinkPHP -- 开发初体验及其几个配置文件的介绍

    • ThinkPHP是一款不错的轻量级的PHP+MVC框架,它吸取了Ruby On Rails的特性,不仅将Model、View、Controller分开,而且实现了ORM、模板标签等高级特性。

        开发工具: 

    • 个人推荐调试工具用phpstorm,这款工具和RubyMine是同种风格的,相对其他开发工具更方便调试。
    • 刚开始体验php开发的时候,是用wampserver这款集成工具,因为比较简单入手,但是其实最好还是不要用集成的,这样会更安全些。

      ThinkPHP框架初体验  

    • 下载地址:http://www.thinkphp.cn/down.html
    •  下载完,拷贝到wampserver的www目录中,这个时候ThinkPHP还是不可以使用的。
    • 我们需要在WWW根目录新建一个文件夹app,在这个文件夹下新建一个index.php,插入下面代码:
    <?php
        require '/ThinkPHP框架所在目录/ThinkPHP.php';
    ?>

            注意:默认端口号是80,如果是已修改端口号,如8080,请输入http://localhost:8080/app/

    • 接下来就可以看到这个图片,证明项目可运行啦~~

           

           很简单,对不对!@_@!!

        下面再介绍几个文件配置:

    • (一)根目录下的index.php:(根据项目需要进行修改配置)
    define('APP_NAME','Home');            // 定义项目名称
    define('APP_PATH','./Home/');        //  定义项目目录
    define('APP_DEBUG',true);            // 开启调试模式
    //define('HTML_PATH',APP_PATH.'Runtime/Html/'); //静态缓存目录配置,默认是APP_PATH.'Html/'
    require('ThinkPHP/ThinkPHP.php');   // 加载入口文件

           如果你想关闭反斜杠设置,可以在修改如下:

    <?php
    define('APP_NAME','Admin');                // 定义项目名称
    define('APP_PATH','./Admin/');            // 定义项目目录
    define('APP_DEBUG',true);                //开启调试模式
    //关闭反斜杠设置
    if( !ini_set ('magic_quotes_gpc', 0) ){ if ( get_magic_quotes_gpc() ) { function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : (isset($value) ? stripslashes($value) : null); return $value; } $_POST = stripslashes_deep($_POST); $_GET = stripslashes_deep($_GET); $_COOKIE = stripslashes_deep($_COOKIE); $_REQUEST = stripslashes_deep($_REQUEST); } } require('ThinkPHP/ThinkPHP.php'); // 加载入口文件

         如果想了解更多关于反斜杠设置,请链接:http://www.cnblogs.com/lmei/p/3373864.html

    • (二)ThinkPHP的惯例配置文件convention.php

           该文件的存放目录为ThinkPHP/Conf/convention.php,下面为该配置文件的一些注释说明:

    <?php
    /**
     * ThinkPHP惯例配置文件
     * 该文件请不要修改,如果要覆盖惯例配置的值,可在项目配置文件中设定和惯例不符的配置项
     * 配置名称大小写任意,系统会统一转换成小写
     * 所有配置参数都可以在生效前动态改变
     * @category Think
     * @package  Common
     * @author   liu21st <liu21st@gmail.com>
     * @version  $Id: convention.php 3088 2012-07-29 09:12:19Z luofei614@gmail.com $
     */
    defined('THINK_PATH') or exit();
    return  array(
        /* 项目设定 */
        'APP_STATUS'            => 'debug',  // 应用调试模式状态 调试模式开启后有效 默认为debug 可扩展 并自动加载对应的配置文件
        'APP_FILE_CASE'         => false,   // 是否检查文件的大小写 对Windows平台有效
        'APP_AUTOLOAD_PATH'     => '',// 自动加载机制的自动搜索路径,注意搜索顺序
        'APP_TAGS_ON'           => true, // 系统标签扩展开关
        'APP_SUB_DOMAIN_DEPLOY' => false,   // 是否开启子域名部署
        'APP_SUB_DOMAIN_RULES'  => array(), // 子域名部署规则
        'APP_SUB_DOMAIN_DENY'   => array(), //  子域名禁用列表
        'APP_GROUP_LIST'        => '',      // 项目分组设定,多个组之间用逗号分隔,例如'Home,Admin'
        'APP_GROUP_MODE'        =>  0,  // 分组模式 0 普通分组 1 独立分组
        'APP_GROUP_PATH'        =>  'Modules', // 分组目录 独立分组模式下面有效
        'ACTION_SUFFIX'         =>  '', // 操作方法后缀
    
        /* Cookie设置 */
        'COOKIE_EXPIRE'         => 0,    // Coodie有效期
        'COOKIE_DOMAIN'         => '',      // Cookie有效域名
        'COOKIE_PATH'           => '/',     // Cookie路径
        'COOKIE_PREFIX'         => '',      // Cookie前缀 避免冲突
    
        /* 默认设定 */
        'DEFAULT_M_LAYER'       =>  'Model', // 默认的模型层名称
        'DEFAULT_C_LAYER'       =>  'Action', // 默认的控制器层名称
        'DEFAULT_APP'           => '@',     // 默认项目名称,@表示当前项目
        'DEFAULT_LANG'          => 'zh-cn', // 默认语言
        'DEFAULT_THEME'         => '',    // 默认模板主题名称
        'DEFAULT_GROUP'         => 'Home',  // 默认分组
        'DEFAULT_MODULE'        => 'Index', // 默认模块名称
        'DEFAULT_ACTION'        => 'index', // 默认操作名称
        'DEFAULT_CHARSET'       => 'utf-8', // 默认输出编码
        'DEFAULT_TIMEZONE'      => 'PRC',    // 默认时区
        'DEFAULT_AJAX_RETURN'   => 'JSON',  // 默认AJAX 数据返回格式,可选JSON XML ...
        'DEFAULT_JSONP_HANDLER' => 'jsonpReturn', // 默认JSONP格式返回的处理方法
        'DEFAULT_FILTER'        => 'htmlspecialchars', // 默认参数过滤方法 用于 $this->_get('变量名');$this->_post('变量名')...
    
        /* 数据库设置 */
        'DB_TYPE'               => 'mysql',     // 数据库类型
        'DB_HOST'               => 'localhost', // 服务器地址
        'DB_NAME'               => '',          // 数据库名
        'DB_USER'               => 'root',      // 用户名
        'DB_PWD'                => '',          // 密码
        'DB_PORT'               => '',        // 端口
        'DB_PREFIX'             => 'think_',    // 数据库表前缀
        'DB_FIELDTYPE_CHECK'    => false,       // 是否进行字段类型检查
        'DB_FIELDS_CACHE'       => true,        // 启用字段缓存
        'DB_CHARSET'            => 'utf8',      // 数据库编码默认采用utf8
        'DB_DEPLOY_TYPE'        => 0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
        'DB_RW_SEPARATE'        => false,       // 数据库读写是否分离 主从式有效
        'DB_MASTER_NUM'         => 1, // 读写分离后 主服务器数量
        'DB_SLAVE_NO'           => '', // 指定从服务器序号
        'DB_SQL_BUILD_CACHE'    => false, // 数据库查询的SQL创建缓存
        'DB_SQL_BUILD_QUEUE'    => 'file',   // SQL缓存队列的缓存方式 支持 file xcache和apc
        'DB_SQL_BUILD_LENGTH'   => 20, // SQL缓存的队列长度
        'DB_SQL_LOG'            => false, // SQL执行日志记录
    
        /* 数据缓存设置 */
        'DATA_CACHE_TIME'       => 0,      // 数据缓存有效期 0表示永久缓存
        'DATA_CACHE_COMPRESS'   => false,   // 数据缓存是否压缩缓存
        'DATA_CACHE_CHECK'      => false,   // 数据缓存是否校验缓存
        'DATA_CACHE_PREFIX'     => '',     // 缓存前缀
        'DATA_CACHE_TYPE'       => 'File',  // 数据缓存类型,支持:File|Db|Apc|Memcache|Shmop|Sqlite|Xcache|Apachenote|Eaccelerator
        'DATA_CACHE_PATH'       => TEMP_PATH,// 缓存路径设置 (仅对File方式缓存有效)
        'DATA_CACHE_SUBDIR'     => false,    // 使用子目录缓存 (自动根据缓存标识的哈希创建子目录)
        'DATA_PATH_LEVEL'       => 1,        // 子目录缓存级别
    
        /* 错误设置 */
        'ERROR_MESSAGE'         => '页面错误!请稍后再试~',//错误显示信息,非调试模式有效
        'ERROR_PAGE'            => '',    // 错误定向页面
        'SHOW_ERROR_MSG'        => false,    // 显示错误信息
        'TRACE_EXCEPTION'       => false,   // TRACE错误信息是否抛异常 针对trace方法 
    
        /* 日志设置 */
        'LOG_RECORD'            => false,   // 默认不记录日志
        'LOG_TYPE'              => 3, // 日志记录类型 0 系统 1 邮件 3 文件 4 SAPI 默认为文件方式
        'LOG_DEST'              => '', // 日志记录目标
        'LOG_EXTRA'             => '', // 日志记录额外信息
        'LOG_LEVEL'             => 'EMERG,ALERT,CRIT,ERR',// 允许记录的日志级别
        'LOG_FILE_SIZE'         => 2097152,    // 日志文件大小限制
        'LOG_EXCEPTION_RECORD'  => false,    // 是否记录异常信息日志
    
        /* SESSION设置 */
        'SESSION_AUTO_START'    => true,    // 是否自动开启Session
        'SESSION_OPTIONS'       => array(), // session 配置数组 支持type name id path expire domain 等参数
        'SESSION_TYPE'          => '', // session hander类型 默认无需设置 除非扩展了session hander驱动
        'SESSION_PREFIX'        => '', // session 前缀
        //'VAR_SESSION_ID'      => 'session_id',     //sessionID的提交变量
    
        /* 模板引擎设置 */
        'TMPL_CONTENT_TYPE'     => 'text/html', // 默认模板输出类型
        'TMPL_ACTION_ERROR'     => THINK_PATH.'Tpl/dispatch_jump.tpl', // 默认错误跳转对应的模板文件
        'TMPL_ACTION_SUCCESS'   => THINK_PATH.'Tpl/dispatch_jump.tpl', // 默认成功跳转对应的模板文件
        'TMPL_EXCEPTION_FILE'   => THINK_PATH.'Tpl/think_exception.tpl',// 异常页面的模板文件
        'TMPL_DETECT_THEME'     => false,       // 自动侦测模板主题
        'TMPL_TEMPLATE_SUFFIX'  => '.html',     // 默认模板文件后缀
        'TMPL_FILE_DEPR'        =>  '/', //模板文件MODULE_NAME与ACTION_NAME之间的分割符
    
        /* URL设置 */
        'URL_CASE_INSENSITIVE'  => false,   // 默认false 表示URL区分大小写 true则表示不区分大小写
        'URL_MODEL'             => 1,       // URL访问模式,可选参数0、1、2、3,代表以下四种模式:
        // 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE  模式); 3 (兼容模式)  默认为PATHINFO 模式,提供最好的用户体验和SEO支持
        'URL_PATHINFO_DEPR'     => '/',    // PATHINFO模式下,各参数之间的分割符号
        'URL_PATHINFO_FETCH'    =>   'ORIG_PATH_INFO,REDIRECT_PATH_INFO,REDIRECT_URL', // 用于兼容判断PATH_INFO 参数的SERVER替代变量列表
        'URL_HTML_SUFFIX'       => '',  // URL伪静态后缀设置
        'URL_PARAMS_BIND'       =>  true, // URL变量绑定到Action方法参数
        'URL_404_REDIRECT'      =>  '', // 404 跳转页面 部署模式有效
    
        /* 系统变量名称设置 */
        'VAR_GROUP'             => 'g',     // 默认分组获取变量
        'VAR_MODULE'            => 'm',        // 默认模块获取变量
        'VAR_ACTION'            => 'a',        // 默认操作获取变量
        'VAR_AJAX_SUBMIT'       => 'ajax',  // 默认的AJAX提交变量
        'VAR_JSONP_HANDLER'     => 'callback',
        'VAR_PATHINFO'          => 's',    // PATHINFO 兼容模式获取变量例如 ?s=/module/action/id/1 后面的参数取决于URL_PATHINFO_DEPR
        'VAR_URL_PARAMS'        => '_URL_', // PATHINFO URL参数变量
        'VAR_TEMPLATE'          => 't',        // 默认模板切换变量
        'VAR_FILTERS'           =>  'filter_exp',     // 全局系统变量的默认过滤方法 多个用逗号分割
    
        'OUTPUT_ENCODE'         =>  true, // 页面压缩输出
        'HTTP_CACHE_CONTROL'    =>  'private', // 网页缓存控制
    
    );

        (1)如果你想开启分组功能,可以修改上面配置文件,比如分组:Index、Admin,配置成下面所示,

    'APP_GROUP_MODE'  =>  0,           //0:普通分组;1为独立分组
    'APP_GROUP_LIST'=>'Index, Admin',  //假设Index为前端,Admin为后端
    'DEFAULT_GROUP'=>'Index'          //默认分组

      这样就实现了分组了,分组中目录基本都是公用的。

      如果后台单独定义的话,需要再目录下新建一个Admin目录之后在新建一个文件来存放eg(Common/Admin/function.php:这就是专属于后台的函数文件)。

       (2)或者你想让网站结构简单点,可以配置成独立分组

    'APP_GROUP_MODE'  =>  1,     //0:为普通分组;1:独立分组
    'APP_GROUP_LIST'=>'''APP_GROUP_PATH'=>'Moudles', //独立文件夹名称
  • 相关阅读:
    bottle support gb2312
    solr 1.4.0 multi core deploy
    view file encoding on ubuntu
    bottle support gb2312
    multicore solr deploy process(not complete)
    SOLR Performance Benchmarks – Single vs. Multicore Index Shards
    ubuntu查看进程占用端口命令
    seo
    ubuntu不能更新包
    bdb虽好,不要忘了monetDB哦
  • 原文地址:https://www.cnblogs.com/lmei/p/3375860.html
Copyright © 2011-2022 走看看