圆般 2011-03-11 17:27:37 4432次浏览 5条回复 0 0 0
<?php
// change the following paths if necessary
$yii=dirname(__FILE__).'/../yii/framework/yii.php';
$config=dirname(__FILE__).'/protected/config/main.php';

// remove the following lines when in production mode
defined('YII_DEBUG') or define('YII_DEBUG',true);
// specify how many levels of call stack should be shown in each log message
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);
require_once($yii);
Yii::createWebApplication($config)->run();

以上代码是通过yiic自动生成webapp时候生成的。 问题一:dirname(FILE)应该 会返回当前的文件所在的目录吧。我通过软件跟踪参数,发现$yii会被赋值为D:\www\myweb/../yii/framework/yii.php 所得到的$yii可以表示yii目录的位置在www目录下,那么如果yii目录在D盘根目录下,路径的表达式应该是什么样的呢? 用dirname(FILE)写路径表达式时,'/../',/等表示什么意义? 问题二:此index.php文件结尾缺少 ?〉 不会影响程序运行么?

  • 回复于 2011-03-11 17:58 举报

    第一个问题:一般都把yii的核心文件放在www目录下,如果有特殊情况,向你那样的情况,以下是生成的代码

    // change the following paths if necessary
    $yii='D:\yii\framework\yii.php';
    $config=dirname(__FILE__).'/protected/config/main.php';
    

    第二个问题:如果使用

    <?php ... ?>
    

    这种代码块标记的话,如果全是PHP代码块的话,最后的?>可以省略。

  • 回复于 2011-03-11 18:22 举报

    第一个问题补充:D:\www\myweb/../yii/framework/yii.php 最终被定为到 D:\www\yii\framework\yii.php 是因为/../的作用么?指向上一级目录?

  • 回复于 2011-03-11 18:49 举报

    就是包含框架的yii.php引导文件啊!/../显然就是上一级目录!

  • 回复于 2011-03-11 20:31 举报

    如果是表示根目录呢?用表达式符号~不是写绝对路径~有时候用虚拟服务器,或者更换目录时,如果写绝对路径,会出错。

  • 回复于 2011-03-11 22:01 举报

    如果你用虚拟主机,估计你只有在WEB目录使用了,你用相对地址就行了!

您需要登录后才可以回复。登录 | 立即注册