| 제목 | ci4 DB인스턴스 초기화 관련해서 | ||
|---|---|---|---|
| 카테고리 | CI 4 관련 | ||
| 글쓴이 | 마로3 | 작성시각 | 2020/03/20 13:21:18 |
|
|
|||
|
안녕하세요 프로그램 작성하다 궁금한점 있어서 여쭤 봅니다. 아래에서 DB인스턴스 초기화를 2가지 방법으로 해 놓았습니다. 생성자에서 초기화, 메서드에서 초기화 .. 이렇게 두가지 방법에 대해.... 생성자 초기화시에는 딸린 메서드들이 전부 안나오는듯하여 혹시 둘의 차이가 있을까 하여 여쭙니다. 답변주시는 분들 항상 감사 드립니다.
class Book_model extends Model { protected $db; public function __construct(){ $this->db = \Config\Database::connect(); } public function insertTable() { $db = \Config\Database::connect(); } } |
|||
| 다음글 | password_verify 가 작동안하는데 도와주실 ... (5) | ||
| 이전글 | DB 문의 및 잡다한 문의 드립니다 ㅜㅜ (4) | ||
|
한대승(불의회상)
/
2020/03/20 13:39:47 /
추천
0
|
|
마로3
/
2020/03/20 13:46:54 /
추천
0
네 저도 그렇게 생각하는데요.. 실제 생성자에서 초기화시에 .. 예를들어 $this->db->affectedraws() , getError 등의 메서드가 안먹고 에러가 나더라구요..
|
|
변종원(웅파)
/
2020/03/20 14:10:57 /
추천
0
<?php namespace App\Models;
use CodeIgniter\Database\ConnectionInterface;
use CodeIgniter\Model;
use CodeIgniter\Validation\ValidationInterface;
class UserModel extends Model
{
protected $table = 'users';
function __construct(ConnectionInterface &$db = null, ValidationInterface $validation = null)
{
parent::__construct($db, $validation);
$this->db = \Config\Database::connect();
}
} 잘 작동됩니다.. |
에디터에서 인식하는 방법의 차이입니다.
객체 자체는 변함 없습니다.