만들면서 배우는 CodeIgniter Q&A

제목 ci 처음 시작했는데 시작부터 막히네요. 도움좀 부탁드립니다.
글쓴이 ci늦둥이 작성시각 2020/12/13 22:26:51
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 660   RSS

안녕하세요.

ci  첫 공부하는 ci 새내기 입니다.

ci 를 알게되고 '만들면서 배우는 CodeIgniter 프레임워크' 를 중고로 구입해서 이제서야 해보고 있습니다.

예제를 따라해보는 중인데 시작부터 안되서 질문글을 남기게 됩니다.

Todo 리스트를 나타내려고 하고 있습니다.

예제만 따라했고 오타가 있는지 한참을 살펴보았지만 잘못 따라한 부분은 찾질 못했습니다.

동작원리도 아직 파악 안되고... 단순 db select 해서 보여주는

책의 첫 예제인데도 안되니 참... 마음이 아픕니다..

 

버전은 CodeIgniter-3.1.11  입니다.

 

일단 에러는

 

An Error Was Encountered

------------------------------------------------------------

Unable to load the requested file: helpers/data_helper.php

 

라고 뜨는 상황입니다.

 

소스는 다음과 같습니다. (책 예제중 todo list 뿌리는 부분입니다. 쓰기도 진행 못햇어요 ㅠㅠ)

 

(application/config/routes.php)

$route['default_controller'] = 'main';

 

(application/controllers/main.php)

<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); 

class Main extends CI_Controller { 

    function __construct() {

        parent::__construct();

        $this->load->database();

        $this->load->model('todo_m'); 

        $this->load->helper(array('url', 'data')); 

    }

    public function index() { $this->lists();  }

    public function lists() {

        $data['list'] = $this->todo_m->get_list();

        $this->load->view('todo/list_v', $data);

    }

}

?>

 

(application/models/todo_m.php

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Todo_m extends CI_Model {

    function __construct() { parent::__construct(); }

    function get_list() {

        $sql  = "SELECT * FROM items";

        $query = $this->db->query($sql);

        $result = $query->result();

        return $result;

    }

}

?>

 

(application/views/todo/list_v.php)

<?php

foreach ($list as $lt) {

    echo $lt->id . ' | ' . $lt->content;

    echo '<hr>';

}

?>

 

(application/config/database.php)

...

$active_group = 'default';

$query_builder = TRUE;

$db['default'] = array(

    'dsn'   => '',

    'hostname' => 'localhost',

    'username' => 'ci_user',

    'password' => '****',

    'database' => 'cidb',

    'dbdriver' => 'mysqli',

    'dbprefix' => '',

    'pconnect' => FALSE,

    'db_debug' => (ENVIRONMENT !== 'production'),

    'cache_on' => FALSE,

    'cachedir' => '',

    'char_set' => 'utf8',

    'dbcollat' => 'utf8_general_ci',

    'swap_pre' => '',

    'encrypt' => FALSE,

    'compress' => FALSE,

    'stricton' => FALSE,

    'failover' => array(),

    'save_queries' => TRUE

);

 

참고로 DB 의 Table 은 아래와 같습니다.

items
int id
varchar content
date created_on
date due_date
int use

 

 

무엇을 잘못하였을까요?

도움좀 부탁드립니다...

 이전글 페이징 부분 학습 중입니다. (3)

댓글

ci늦둥이 / 2020/12/14 14:43:41 / 추천 0
ci늦둥이 / 2020/12/15 10:15:01 / 추천 0

main.php 의 생성자 중

class Main extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
        //$this->load->helper(array('url', 'data')); // 이부분이 문제??
    }
}

주석으로 표시한 저부분이 문제 같은데 책에선 저렇게 쓰여져 있는데

저렇게 쓰는게 아닌가요?

 

http://www.ciboard.co.kr/user_guide/kr/helpers/url_helper.html

여기서는
$this->load->helper('url');
이렇게 사용하라고 가이드 되어 있습니다.
 
여기 오탈자에서는
 
$this->load->helper('url'); 
-> 
$this->load->helper(array('url', 'date')); 
 
이렇게 되어 있는데.... 
 
혼돈의 카오스 상태입니다 ㅠㅠ
 
책은 CI v2.x 여서 그런가요?
변종원(웅파) / 2020/12/15 13:07:18 / 추천 0

오탈자에선 date 헬퍼가 없어서 에러가 나기때문에 추가를 해준겁니다.

헬퍼선언에 data 로 하니 에러가 났죠. 항상 에러메세지에 답이 있습니다.

Unable to load the requested file: helpers/data_helper.php

$this->load->helper(array('url', 'data')); 

ci늦둥이 / 2020/12/15 14:36:03 / 추천 0

답글 달아주셔서 감사합니다.

하지만 이해가 안가서요.

에러 메시지로는

data_helper.php 가 없어서 나는 에러인데

Main Conroller 의 생성자에서

$this->load->helper(array('url''date')); 

이렇게 해주는게 맞는건가요?

추가를 하면 application/helpers/date_helper.php 파일이 추가되어야 하는건가요?

아.. 저 위치가 아니군요

system/helpers/date_helper.php 파일이군요.

댓글쓰다가 이해했습니다! ㅋㅋ

감사합니다!!!