我想在另一个开源项目(moodle,joomla,...)中使用 Yii 功能,这样我就可以受益于 Yii 强大的模型。我将以下代码放入其中一个文件(ROOT/course/edit.php):
$yii = dirname(__FILE__) . '/../mws/framework/yii.php';
$config = dirname(__FILE__) . '/../mws/protected/config/main.php';
defined('YII_DEBUG') or define('YII_DEBUG', TRUE);
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL', 3);
require_once($yii);
Yii::createWebApplication($config);
但我收到以下错误:
PHP 警告
include(edit.php.php) [function.include]: 无法打开流: 没有这样的文件或目录
D:\WAMP\www\millms\mws\framework\YiiBase.php(427)
415
{
416 include( $类文件);
417
if(YII_DEBUG && basename(realpath($classFile))!==$className.'.php')
418 throw new CException(Yii::t('yii','Class name "{class}" 与类不匹配文件“{file}”。',数组(
419
'{class}'=>$className,
420
'{file}'=>$classFile,
421)));
422 中断;
425 }
426
否则
427 包括($className.'.php');
428
}
429 else // PHP 5.3 中带有命名空间的类名
430 {
431
$namespace=str_replace('\','.',ltrim($className,'\'));
第432
章如果(($path=self::getPathOfAlias($namespace))!==false)
433
include($path.'.php');
434 否则
435
返回假;
436}
437返回class_exists($className,假)|| interface_exists($className,false);
438 }
439 返回真;
D:\WAMP\www\millms\mws\framework\YiiBase.php(427): YiiBase::autoload()
#1
未知(0): YiiBase::autoload("edit.php")
#2
未知(0) : spl_autoload_call("edit.php")
#3
–
D:\WAMP\www\millms\lib\formslib.php(831): is_a("edit.php", "moodle_url")
826 static $formcounter = 1;
827
828 HTML_Common::HTML_Common($attributes);
第829
章 数组():数组('目标'=> $目标);
第830章
第831章,第
832章
第834章,第
835
章
836}
#4
-
D:\WAMP\www\millms\lib\formslib.php(115):MoodleQuickForm->MoodleQuickForm(“course_edit_form”,“post”,“edit.php”,“”,...)
110 $action = strip_querystring(qualified_me());
111 }
112
113 $this->_formname = get_class($this); // '_form' 后缀是为了防止表单 id 和其他元素冲突
114
$this->_customdata = $customdata;
115 $this->_form =& new MoodleQuickForm($this->_formname, $method, $action, $target, $attributes);
116 如果 (!
118 }
119
$this->set_upload_manager(新的upload_manager());
120
#5
-
D:\WAMP\www\millms\course\edit.php(448): moodleform->moodleform("edit.php", array("course" => null, "category" => stdClass))
443 }
444 }
445
446
447 /// 首先创建表单
448 $editform = new course_edit_form('edit.php', compact('course', 'category'));
449 // 如果课程已经存在,现在覆盖默认值
450 if (!empty($course)) {
451 $course->enrolpassword = $course->password; // 我们需要密码字段的其他名称 MDL-9929
452 $editform->set_data($course);
如何创建原始 Yii 应用程序对象?