thinkphp(3.2.1),写源代码出现的一点有关问题。关于绝对地址的

WBOY
Release: 2016-06-13 11:52:42
Original
840 people have browsed it

thinkphp(3.2.1),写源代码出现的一点问题。关于绝对地址的。
我按照官方写的源码,自己对照的敲了一遍。刚刚开始敲。就发现了一点问题。
首先我先写的是thinkphp.php就是这个公共入口文件。

// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2013 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <[email protected]>
// +----------------------------------------------------------------------

//----------------------------------
// ThinkPHP公共入口文件
//----------------------------------

// 记录开始运行时间
$GLOBALS['_beginTime'] = microtime(TRUE);
// 记录内存初始使用
define('MEMORY_LIMIT_ON',function_exists('memory_get_usage'));
if(MEMORY_LIMIT_ON) $GLOBALS['_startUseMems'] = memory_get_usage();

// 版本信息
const THINK_VERSION = '3.2.1';

// URL 模式定义
const URL_COMMON = 0; //普通模式
const URL_PATHINFO = 1; //PATHINFO模式
const URL_REWRITE = 2; //REWRITE模式
const URL_COMPAT = 3; // 兼容模式

// 类文件后缀
const EXT = '.class.php';

// 系统常量定义
defined('THINK_PATH') or define('THINK_PATH', __DIR__.'/');
echo THINK_PATH;
defined('APP_PATH') or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/');
defined('APP_STATUS') or define('APP_STATUS', ''); // 应用状态 加载对应的配置文件
defined('APP_DEBUG') or define('APP_DEBUG', false); // 是否调试模式

if(function_exists('saeAutoLoader')){// 自动识别SAE环境
defined('APP_MODE') or define('APP_MODE', 'sae');
defined('STORAGE_TYPE') or define('STORAGE_TYPE', 'Sae');
}else{
defined('APP_MODE') or define('APP_MODE', 'common'); // 应用模式 默认为普通模式
defined('STORAGE_TYPE') or define('STORAGE_TYPE', 'File'); // 存储类型 默认为File
}

defined('RUNTIME_PATH') or define('RUNTIME_PATH', APP_PATH.'Runtime/'); // 系统运行时目录
defined('LIB_PATH') or define('LIB_PATH', realpath(THINK_PATH.'Library').'/'); // 系统核心类库目录
Copy after login

就是到了这一行。定义常量LIB_PATH。就出了问题了。我首先输出THINK_PATH(第35行定义),输出“D:\wamp\www\bbbb\ThinkPHP/”但是当常量后面加上Library,然后realpath函数进行解析的时候,就不能正常解析了,只能显示最后面的那个"/"。
然后我找到thinkphp的框架,不动源码,然后公共入口文件里面echo了一下,没有问题。
但是,当我直接把这个公共入口文件全部复制到一个新的文件的时候,出现了跟我一样的错误。请问这是为什么?
可能有说的有些乱,希望不要介意。
------解决方案--------------------
没有足够的把握,不要修改框架的核心代码
使用框架时,不要改动允许你修改的文件外任何文件

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!