dongxue163536 2013-12-14 16:33
浏览 28
已采纳

使用__autoload加载类

I'm trying to write my site in Controller-Model-View convention without using any framework but I have a problem with __autoload function.
Here's my source_folder/model/database.class.php file:

<?php
function __autoload($sName) {
    $aName = explode('_',$sName);
    if($aName[0] == 'Model')
        include '/model/' . strtolower($aName[1]) . '.class.php';
    else if($aName[0] == 'View')
        include '/view/' . strtolower($aName[1]) . 'class.php';
    else if($aName[0] == 'Controller')
        include '/controller' . strtolower($aName[1]) . 'class.php';
}
/**
 * Description of database
 *
 * @author Lysy
 */
class Model_Database {
   private $oConfig = new Model_Config();

   $this->oConfig->getConfigArray('database');

}

?>

And here's my source_folder/model/config.class.php file:

<?php
include_once '../config.php';

/**
 * Description of config
 *
 * @author Lysy
 */
class Model_Config {

    static function GetConfigArray($name) {
        return $config[$name];
    }
}

?>

The problem appears in line

private $oConfig = new Model_Config();

and it says syntax error, unexpected T_NEW.
I don't understand where lies the problem, because I'm using Netbeans IDE and when I type in private $oConfig = new M the program gives me a hint with Model_Config.
I'd be very glad to read some advices and probable solution to this problem, regards :)

EDIT: I rewrited the class Model_Config to look like this:

class Model_Database {

   private $oConfig;

   __construct() {
        $oConfig = new Model_Config();
    };

   $this->oConfig->getConfigArray('database');

}

But now there is a problem in line

__construct() {

Netbeans says that __construct() is unexpected, the error on the site stays the same, unexpected T_NEW

EDIT2: Oh sorry, too much C++, I keep forgeting about function word

  • 写回答

2条回答 默认 最新

  • douhang5493 2013-12-14 16:36
    关注

    You can't assign values to member variables using expressions. You have to do that in your constructor or inside of a method.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错
  • ¥20 @microsoft/fetch-event-source 流式响应问题
  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?