|
本帖最后由 snllll 于 2013年4月12日 14:50 编辑
1、没有任何示例说明,数据库的配置一笔带过——开源项目的通病,作者认为很简单没必要,但是后来者实践过来中总是遇到莫名其妙的问题——但是你按照SAE常量配置后,居然是"Fatal_error: Call to a member function result() on a non-object in application/models/post_model.php on line 16" ,也就是说$this->db未被初始化 ,,检查autoload.php,把database加进去,问题照样无法解决; 2、http://codeigniter.org.cn/user_guide/general/models.html 中: 这里有个控制器的例子,加载一个模型,然后通过视图显示出来 class Blog_controller extends CI_Controller {function blog() { $this->load->model('Blog'); 这里是不是有问题?应该是Blog_model吧? $data['query'] = $this->Blog->get_last_ten_entries(); $this->load->view('blog', $data); } } 3、还是上面这个页面里面有如下内容: 模型是专门用来和数据库打交道的PHP类。例如,假设你想用CodeIgniter来做一个Blog。你可以写一个模型类,里面包含插入、更新、删除Blog数据的方法。下面的例子将向你展示一个普通的模型类: 译者注:Blogmodel 这样的命名不符合CodeIgniter的开发规范。规范的类名命名:Blog_model class Blogmodel extends CI_Model {既然译者发现了,我觉得是不是改正了更好一些? 4、返回到第一个问题,$this->db的初始化? database.php配置如下,应该没问题吧? <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); $active_group = "www"; $active_record = TRUE; $db['www']['hostname'] = SAE_MYSQL_HOST_M; $db['www']['username'] = SAE_MYSQL_USER; $db['www']['password'] = SAE_MYSQL_PASS; $db['www']['database'] = SAE_MYSQL_DB; $db['www']['dbdriver'] = "mysql"; $db['www']['dbprefix'] = ""; $db['www']['pconnect'] = TRUE; $db['www']['db_debug'] = FALSE; $db['www']['cache_on'] = FALSE; $db['www']['cachedir'] = ""; $db['www']['char_set'] = "utf8"; $db['www']['dbcollat'] = "utf8_general_ci"; 5、最前面试用了早起的1.7.2的SAE版本,WSS贡献了(作者辛苦了),但是load出问题,后来试了官方的SAE CI,发现config.php和database.php一片空白——我觉得应该把配置内容写一个示例,注释掉,以后大家实践的时候更好看。 弄了一上午,有点郁闷了 | |
|
1. ci for sae 不需要再配置,已经为SAE适应。 config下的database没有空白 见https://github.com/CodeIgniter-C ... config/database.php
2. $this->load->model('Blog') 这样加载没有问题 对应application\models下面的blog.php即可, $this->load->model('Blog_model ')则对应 blog_model.php 。 所以没有强制要求的。 3. "既然译者发现了,我觉得是不是改正了更好一些?" 你也说译者了,有译者去修改原文的吗?那也太不尊重原作者了吧 4和5 参考回答1,不需要自己重新配置! | |
月夜风 发表于 2013年4月12日 15:09 很奇怪,为什么我从http://sae.sina.com.cn/?m=apps&a=detail&aid=161 安装的里面是空白的? | |