메인서버만 띄우고 로컬 PC에서 사용.
호스트 전용 어댑터로 놔두고 192.168.56.102로 접속.
ci4.st.kr/news로 접속 가능하게 설정.
app/Config/Routes.php
$routes->match(['get', 'post'], 'news/create', 'News::create');
$routes->get('news/(:segment)', 'News::view/$1');
$routes->get('news', 'News::index');
추가.
News 컨트롤러 생성.
[app/Controllers/News.php]
<?php
namespace App\Controllers;
class News extends BaseController
{
public function index(): string
{
return view('news/list');
}
}
[app/Views]
news 디렉터리 생성, 755.
[app/Views/news/list.php] 생성
db 설정 & 연결
CREATE USER ci4@'192.168.56.1' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON ci4.* TO ci4@'192.168.56.1';
FLUSH PRIVILEGES;
CREATE TABLE news (
idx int(11) NOT NULL AUTO_INCREMENT,
title varchar(128) NOT NULL,
slug varchar(128) NOT NULL,
body text NOT NULL,
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (idx),
KEY slug (slug)
);
INSERT INTO news VALUES
(1,'네트워크 관리사','a','오랜만에 컴퓨터 자격증 취득', '2025-01-25'),
(2,'부안 지진','b','지진', '2025-01-25'),
(3,'산대특','c','3개월', '2025-01-25'),
(4,'윤석열 구속','d','파면해라', '2025-01-25'),
(5,'제주항공 사고','e','삼가 고인의 명복을 빕니다', '2025-01-25');
> pwd
/home/ci4/public_html
> nano .env
app/Config/Database.php
[app/Models
NewsModel.php] 생성
<?php
namespace App\Models;
use CodeIgniter\Model;
class NewsModel extends Model
{
protected $table = 'news';
protected $allowedFields = ['title', 'slug', 'body'];
public function getNews($slug = false)
{
if ($slug === false) {
return $this->findAll();
}
return $this->where(['slug' => $slug])->first();
}
}
DB에 있는 뉴스 데이터 출력하기.
링크 연결하기
[app/Controllers/News.php]
[app/Views/news/list.php]
[app/Views/news/view.php]
뉴스 등록하기.
[app/Controllers/News.php]
[app/Views/news/view.php]
[app/Viewss/news/success.php]