技巧: 其实安装Doctrine不是那么难,就像安装插件一样。然后一旦安装成功,你的model类将需要继承Doctrine基类,而不是继承ci的model类。这将会完全改变model层的工作方式。你建立的对象将会有持久的数据库连接并且也将能有其他对象的数据库关系。 按照以下几步: 1. 建立文件夹:application/plugins 2. 创建文件夹:application/plugins/doctrine 3. 下载文件(1.2版本的) 4. 从Doctrine复制“lib”文件夹到“application/plugins/doctrine” 5. 创建“application/plugins/doctrine_pi.php” // system/application/plugins/doctrine_pi.php // load Doctrine library require_once APPPATH.‘/plugins/doctrine/lib/Doctrine.php‘; // load database configuration from CodeIgniter require_once APPPATH.‘/config/database.php‘; // this will allow Doctrine to load Model classes automatically spl_autoload_register(array(‘Doctrine‘, ‘autoload‘)); // we load our database connections into Doctrine_Manager // this loop allows us to use multiple connections later on foreach ($db as $connection_name => $db_values) { // first we must convert to dsn format $dsn = $db[$connection_name][‘dbdriver‘] . ‘://‘ . $db[$connection_name][‘username‘] . ‘:‘ . $db[$connection_name][‘password‘]. ‘@‘ . $db[$connection_name][‘hostname‘] . ‘/‘ . $db[$connection_name][‘database‘]; Doctrine_Manager::connection($dsn,$connection_name); } // CodeIgniter‘s Model class needs to be loaded require_once BASEPATH.‘/libraries/Model.php‘; // telling Doctrine where our models are located Doctrine::loadModels(APPPATH.‘/models‘); 然后,编辑‘application/config/autoload.php’自动加载Doctrine插件 $autoload[‘plugin‘] = array(‘doctrine‘); 你也要确定在“application/config/database.php的数据库配置好了,” 就这样,现在你就能使用ci应用程序创建Doctrine模型了。阅读更多的资源在这里。 (6)运行多个站点 目标: 这个技巧将会使安装一个codeigniter就能运行多个站点成为可能,每个站点有它自己的application文件夹,但是他们共享这相同的系统文件夹。