#20250125

메인서버만 띄우고 로컬 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]