Home  >  Article  >  Backend Development  >  thinkphp(3.2.1),写源代码出现的一点问题。关于绝对地址的。

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

WBOY
WBOYOriginal
2016-06-23 13:59:33775browse

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

<?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 <liu21st@gmail.com>// +----------------------------------------------------------------------//----------------------------------// 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').'/'); // 系统核心类库目录

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


回复讨论(解决方案)

没有足够的把握,不要修改框架的核心代码
使用框架时,不要改动允许你修改的文件外任何文件

没有足够的把握,不要修改框架的核心代码
使用框架时,不要改动允许你修改的文件外任何文件 没有修改。只是理解一下他的流程。想一想他的理论。我是单独捣鼓的,没有把他用于工作中

我也遇到这样的问题   

Statement:
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