问下php require 的问题
下面这个代码是我学习 mvc 的时候看到的 示例程序
不太明白为何 要 使用 defined('ROOT_PATH')
<?php
/**
+----------------------------------------------------------
* 小恺教你写一个属于自己的MVC框架之程序初始化文件
+----------------------------------------------------------
* 文 件 名 Init.php
+----------------------------------------------------------
* 作 者 xiaokai
+----------------------------------------------------------
* 时 间 2009-08-17
+----------------------------------------------------------
*/
header("Content-type:text/html;charset=utf-8"); //设置字符集
!defined('ROOT_PATH') && define('ROOT_PATH', str_replace('\\', '/', dirname(__FILE__)));
//这句是判断如果没有定义 ROOT_PATH 常量, 那么就定义常量, 相当于
//if(!defined('ROOT_PATH'))
//{
// define('ROOT_PATH', str_replace('\\', '/', dirname(__FILE__)));
// 定义常量, __FILE__是什么不知道到的看手册, dirname获得不包含文件名的路径
// 然后将路径中的 \ 替换为 /
// 比如我现在的路径就是 E:/Web Server/www/Demo/
//}
require ROOT_PATH . '/Core/Config.php'; //引入配置文件
require ROOT_PATH . '/Core/Controller.class.php'; //引入控制器类文件
require ROOT_PATH . '/Core/View.class.php'; //视图类文件
require ROOT_PATH . '/Core/Model.class.php'; //模型类文件
直接 按照下面这样 require 不行么,作者为何要 那样写呢?
require '/Core/Config.php'; //引入配置文件
require '/Core/Controller.class.php'; //引入控制器类文件
require '/Core/View.class.php'; //视图类文件
require '/Core/Model.class.php'; //模型类文件
还有我发现 这个php 文件没有 ?> 标记,这个是怎么回事? php 不需要么?
不太明白为何 要 使用 defined('ROOT_PATH')
<?php
/**
+----------------------------------------------------------
* 小恺教你写一个属于自己的MVC框架之程序初始化文件
+----------------------------------------------------------
* 文 件 名 Init.php
+----------------------------------------------------------
* 作 者 xiaokai
+----------------------------------------------------------
* 时 间 2009-08-17
+----------------------------------------------------------
*/
header("Content-type:text/html;charset=utf-8"); //设置字符集
!defined('ROOT_PATH') && define('ROOT_PATH', str_replace('\\', '/', dirname(__FILE__)));
//这句是判断如果没有定义 ROOT_PATH 常量, 那么就定义常量, 相当于
//if(!defined('ROOT_PATH'))
//{
// define('ROOT_PATH', str_replace('\\', '/', dirname(__FILE__)));
// 定义常量, __FILE__是什么不知道到的看手册, dirname获得不包含文件名的路径
// 然后将路径中的 \ 替换为 /
// 比如我现在的路径就是 E:/Web Server/www/Demo/
//}
require ROOT_PATH . '/Core/Config.php'; //引入配置文件
require ROOT_PATH . '/Core/Controller.class.php'; //引入控制器类文件
require ROOT_PATH . '/Core/View.class.php'; //视图类文件
require ROOT_PATH . '/Core/Model.class.php'; //模型类文件
直接 按照下面这样 require 不行么,作者为何要 那样写呢?
require '/Core/Config.php'; //引入配置文件
require '/Core/Controller.class.php'; //引入控制器类文件
require '/Core/View.class.php'; //视图类文件
require '/Core/Model.class.php'; //模型类文件
还有我发现 这个php 文件没有 ?> 标记,这个是怎么回事? php 不需要么?
作者: foxidea 发布时间: 2011-10-08
1.加上常量是为了让项目的移植性性更好一点
2.如果一个页面里全是php代码可以不用闭合。
如
<?php
echo 'aaaaaaaaaa';//就不用闭合
2.如果一个页面里全是php代码可以不用闭合。
如
<?php
echo 'aaaaaaaaaa';//就不用闭合
作者: 白老师 发布时间: 2011-10-08