디렉토리 구조 이해하기
- 해피정
- 4
- 8,235
- 글주소
- 08-17
씨아이보드의 폴더 구조를 정리했습니다.
오타가 있을수 있습니다.
CIBOARD 2.01
├ _system
│ 코드이그나이터에서 제공하는 소스파일의 core 파트입니다.
│ ├ core
│ │ └ compat
│ ├ database
│ │ └ drivers
│ │ ├ cubrid
│ │ ├ ibase
│ │ ├ mssql
│ │ ├ mysql
│ │ ├ mysqli
│ │ ├ oci8
│ │ ├ odbc
│ │ ├ pdo
│ │ ├ postgre
│ │ ├ sqlite
│ │ ├ sqlite3
│ │ └ sqlsrv
│ ├ fonts
│ ├ helpers
│ ├ language
│ │ └ english
│ └ libraries
│ ├ Cache
│ │ └ drivers
│ ├ Javascript
│ └ Session
│ └ drivers
├ application
│ 실제 MVC 중 V 를 제외한 M 과 C 및 다른 기타 부분을 이부분에서 담당하고 있습니다.
│ 원래 CodeIgniter 정식 배포판에서는 V 부분인 views 디렉토리도 application 디렉토리에 포함하여 배포하고 있으나,
│ view 부분을 application 디렉토리의 바깥으로 빼어 좀더 구별가게 하였습니다.
│ ├ cache
│ │ 파일 캐시를 사용하시는 경우 그 캐시 파일이 이 디렉토리에 저장되게 됩니다. 캐시파일은 주기적으로 삭제하시면 도움이 됩니다.
│ │ ├ board
│ │ ├ board_group
│ │ ├ board_group_meta
│ │ ├ board_meta
│ │ ├ cmall_item_meta
│ │ ├ faq_group
│ │ ├ latest
│ │ ├ latest_comment
│ │ ├ member_extra_vars
│ │ ├ member_group
│ │ ├ member_meta
│ │ ├ popup
│ │ ├ post_extra_vars
│ │ ├ post_meta
│ │ └ social_meta
│ ├ config
│ │ 환경설정을 담당하는 변수가 들어있는 디렉토리입니다.
│ │ 기본 배포버전에서 cb_admin_menu.php, cb_config.php 의 2개 파일이 추가되었습니다.
│ │ cb_admin_menu.php 는 관리자페이지 메뉴 구조를 저장하는 파일이며,
│ │ cb_config.php 에서는 메일 발송관련 아이디와 패스워드가 저장되는 곳입니다.
│ ├ controllers
│ │ 실제 각 페이지의 주소부분과 컨트롤러 부분이 매칭이 됩니다.
│ │ 예를 들면 마이페이지의 메인 주소는 http://mydomain/mypage 인데, 이는 application/Mypage.php 파일 안에 선언된 Mypage 클래스 안의 index 함수를 호출합니다.
│ │ 마이페이지의 포인트 페이지는 http://mydomain/mypage/point 인데, 이는 application/Mypage.php 파일 안에 선언된 Mypage 클래스 안의 ?point 함수를 호출합니다.
│ │ 그러나 항상 모든 주소와 컨트롤러명이 완벽하게 매칭되지는 않습니다.
│ │ application/config/routes.php 가 그런 역할을 담당하는데요.
│ │ routes.php 안에 특별한 몇개의 routes 를 선언하여 자주 사용하는 주소 (게시판목록, 게시판글열람, 글쓰기, 글수정, RSS, 일반문서, FAQ 등)
│ │ 페이지 등에 대하여 페이지 주소를 더 단축하여 깔끔하게 사용할 수 있게 도와주고 있습니다.
│ │ └ admin
│ │ ├ board
│ │ ├ cmall
│ │ ├ config
│ │ ├ deposit
│ │ ├ member
│ │ ├ page
│ │ ├ service
│ │ ├ sms
│ │ └ stat
│ ├ core
│ │ system/core 를 확장한 클래스들의 모음입니다.
│ ├ events
│ ├ helpers
│ │ helper 는 클래스가 아닌 일반 함수들의 모음입니다.
│ │ CB_ 로 시작하는 helper 들은 기존에 system 디렉토리에서 선언된 helper 들을 확장한 경우인 것이고, 그 외의 helper 들은 새롭게 선언된 함수들의 모음입니다.
│ ├ hooks
│ │ 페이지가 로드될 때마다 공통적으로 실행하고 싶은 로직을 이 디렉토리 안에 선언하고 application/config/hooks.php 에서 선언해주면 됩니다.
│ ├ language
│ │ 언어 패키지가 담겨있습니다.
│ │ 아직 다국어를 정상적으로 지원하지 않습니다.
│ │ ├ english
│ │ └ korean
│ ├ libraries
│ │ ├ Requests
│ │ └ Scheduler
│ ├ logs
│ │ 로그 테이터가 쌓이는 곳입니다. 개발할 때 용이하게 활용할 수 있습니다.
│ │ log 데이터를 쌓이게 설정하실려면, application/config/config.php 안의 $config['log_threshold'] 의 값을 변경해주시면 됩니다.
│ ├ migrations
│ │ 디비 테이블 스키마 변경이 있을 시에 이 디렉토리에 그 변경내용을 저장하여 배포합니다.
│ │ 차후에 디비 테이블 스키마 변경이 있을 경우, 이 디렉토리에 그 내용을 기록해 배포할 예정입니다.
│ ├ models
│ │ controller 와 디비테이블을 연결해주는 다리입니다.
│ │ 즉 디비 쿼리들의 모음이라고 생각하시면 됩니다.
│ │ model 을 설계하는 방법에는 여러가지가 있을 수가 있겠지만, 1테이블=1model 이라는 원칙을 가지고 배포하게 되었습니다.
│ │ 즉, 설치된 테이블수 = 모델수 입니다.
│ └ thirs_party
├ assets
│ │ 공통적으로 사용하는 css, js, images 를 이 디렉토리에 배포합니다.
│ ├ css
│ ├ fonts
│ ├ images
│ └ js
│ ├ bxslider
│ ├ colorpicker
│ └ syntaxhighligter
├ plugin
│ │ 플러그인들의 모음입니다.
│ ├ browscap
│ ├ editor
│ │ ├ ckeditor
│ │ └ smarteditor
│ ├ htmlpurifier
│ ├ jwplayer
│ ├ pg
│ │ ├ inicis
│ │ ├ kcp
│ │ └ lg
│ ├ selfcert
│ │ ├ kcb
│ │ ├ kcp
│ │ └ lg
│ ├ social
│ │ └ libraries
│ │ ├ Facebook
│ │ ├ google
│ │ └ twitter
│ ├ xmlrpc
│ └ xerolipboard
│ uploads
│ │ 사용자가 업로드한 모든 첨부파일은 이 디렉토리에 저장됩니다.
│ │ 아울러 자동으로 생성된 썸네일 이미지도 이 디렉토리 안에 cache 디렉토리에 저장이 됩니다.
│ ├ emoticon
│ ├ index.hmlt
│ └ noimage.gif
├ views
│ │ 스킨, 테마 등으로 불리우는 디렉토리입니다.
│ │ 즉 실제 사용자에게 보여지는 html 부분들이 들어있는 디렉토리입니다.
│ │ 관리자페이지에서 페이지별로 어떤 스킨을 사용할 것인지 쉽게 선택할 수 있게 하였습니다.
│ ├ _layout
│ │ ├ basic
│ │ │ ├ box
│ │ │ └ css
│ │ ├ cmall_basic
│ │ │ ├ box
│ │ │ └ css
│ │ ├ cmall_basic
│ │ │ ├ box
│ │ │ └ css
│ │ ├ cmall_bootstrap
│ │ │ ├ box
│ │ │ └ css
│ │ ├ cmall_mobile
│ │ │ ├ box
│ │ │ └ css
│ │ └ mobile
│ │ ├ box
│ │ └ css
│ │ 예를 들어 게시판 생성시 레이아웃, 스킨 을 선택할 수 있습니다.
│ │ 배포판에는 _layout 디렉토리 안에 3개의 디렉토리가 있습니다.
│ │ 즉 기본적으로 3개의 레이아웃 중에 하나를 선택하여 사용할 수 있다는 의미입니다.
│ ├ admin
│ │ └ basic
│ │ ├ board
│ │ │ ├ blame
│ │ │ ├ boardgroup
│ │ │ ├ boards
│ │ │ ├ comment
│ │ │ ├ editorimage
│ │ │ ├ filedownload
│ │ │ ├ fileupload
│ │ │ ├ like
│ │ │ ├ linkclick
│ │ │ ├ naversyndilog
│ │ │ ├ post
│ │ │ ├ posthistory
│ │ │ ├ tag
│ │ │ ├ trash
│ │ │ └ trash_comment
│ │ ├ cmall
│ │ │ ├ cmallcart
│ │ │ ├ cmallcategory
│ │ │ ├ cmallconfig
│ │ │ ├ cmallitem
│ │ │ ├ cmallorder
│ │ │ ├ cmallstat
│ │ │ ├ emailform
│ │ │ ├ itemdownload
│ │ │ ├ itemhistory
│ │ │ ├ linkclick
│ │ │ ├ orderlist
│ │ │ ├ pendingbank
│ │ │ ├ qna
│ │ │ ├ review
│ │ │ └ wishlist
│ │ ├ config
│ │ │ ├ browscpupdate
│ │ │ ├ cbonfigs
│ │ │ ├ cbversion
│ │ │ ├ cleanlog
│ │ │ ├ dbupgrade
│ │ │ ├ emailform
│ │ │ ├ layoutskin
│ │ │ ├ memberconfig
│ │ │ ├ optimize
│ │ │ ├ phpinfo
│ │ │ ├ preview
│ │ │ ├ rssconfig
│ │ │ ├ scheduler
│ │ │ └ testmail
│ │ ├ css
│ │ ├ deposit
│ │ │ ├ depositconfig
│ │ │ ├ depositlist
│ │ │ ├ depositstat
│ │ │ ├ emailform
│ │ │ └ pendingbank
│ │ ├ images
│ │ ├ member
│ │ │ ├ dormant
│ │ │ ├ loginlog
│ │ │ ├ memberfollow
│ │ │ ├ membergroup
│ │ │ ├ memberlevelhistory
│ │ │ ├ members
│ │ │ ├ nickname
│ │ │ └ points
│ │ ├ page
│ │ │ ├ banner
│ │ │ ├ bannerclick
│ │ │ ├ document
│ │ │ ├ faq
│ │ │ ├ faqgroup
│ │ │ ├ pagemenu
│ │ │ └ popup
│ │ ├ service
│ │ │ ├ attendanceconfig
│ │ │ ├ levelupconfig
│ │ │ ├ pointrankingconfig
│ │ │ └ pollconfig
│ │ ├ sms
│ │ │ ├ memberupdate
│ │ │ ├ phoegroup
│ │ │ ├ phonelist
│ │ │ ├ smsconfig
│ │ │ ├ smsfavorite
│ │ │ ├ smshistory
│ │ │ ├ smshistorynum
│ │ │ └ smssend
│ │ └ stat
│ │ ├ boardcounter
│ │ ├ currentvisitor
│ │ ├ registercounter
│ │ ├ registerlog
│ │ ├ searchkeyword
│ │ └ statcounter
│ ├ board
│ │ 게시판 스킨 파일 입니다.
│ │ views/board 안에 3개의 디렉토리가 있습니다.
│ │ 즉 3개의 게시판 스킨 중에 선택하여 사용할 수 있다는 의미입니다.
│ │ 스킨은 자유롭게 추가하여 사용 및 배포하실 수가 있습니다.
│ │ ├ basic
│ │ │ ├ css
│ │ │ └ images
│ │ ├ bootstrap
│ │ │ ├ css
│ │ │ └ images
│ │ └ mobile
│ │ ├ css
│ │ └ images
│ ├ cmall
│ │ ├ basic
│ │ │ ├ css
│ │ │ └ images
│ │ ├ bootstrap
│ │ │ ├ css
│ │ │ └ images
│ │ └ mobile
│ │ ├ css
│ │ └ images
│ ├ currentvisitor
│ │ ├ basic
│ │ ├ bootstrap
│ │ └ mobile
│ ├ deposit
│ │ ├ basic
│ │ │ └ css
│ │ ├ bootstrap
│ │ │ └ css
│ │ └ mobile
│ │ └ css
│ ├ document
│ │ ├ basic
│ │ ├ bootstrap
│ │ └ mobile
│ ├ emailform
│ │ └ cmall
│ ├ errors
│ │ ├ cli
│ │ └ html
│ ├ faq
│ │ ├ basic
│ │ │ └ css
│ │ ├ bootstrap
│ │ │ └ css
│ │ └ mobile
│ │ └ css
│ ├ findaccount
│ │ ├ basic
│ │ │ └ css
│ │ ├ bootstrap
│ │ │ └ css
│ │ └ mobile
│ │ └ css
│ ├ formmail
│ │ ├ basic
│ │ │ └ css
│ │ ├ bootstrap
│ │ │ └ css
│ │ └ mobile
│ │ └ css
│ ├ group
│ │ ├ basic
│ │ ├ bootstrap
│ │ └ mobile
│ ├ helptool
│ │ ├ basic
│ │ └ bootstrap
│ ├ install
│ │ ├ css
│ │ └ images
│ ├ latest
│ ├ levelup
│ │ ├ basic
│ │ │ └ css
│ │ ├ bootstrap
│ │ │ └ css
│ │ └ mobile
│ │ └ css
│ ├ login
│ │ ├ basic
│ │ │ └ css
│ │ ├ bootstrap
│ │ │ └ css
│ │ └ mobile
│ │ └ css
│ ├ main
│ │ ├ basic
│ │ │ └ css
│ │ ├ bootstrap
│ │ │ └ css
│ │ └ mobile
│ │ └ css
│ ├ mypage
│ │ ├ basic
│ │ │ └ css
│ │ ├ bootstrap
│ │ │ └ css
│ │ └ mobile
│ │ └ css
│ ├ note
│ │ ├ basic
│ │ │ └ css
│ │ ├ bootstrap
│ │ │ └ css
│ │ └ mobile
│ │ └ css
│ ├ notification
│ │ ├ basic
│ │ │ └ css
│ │ ├ bootstrap
│ │ │ └ css
│ │ └ mobile
│ │ └ css
│ ├ paymentlib
│ │ ├ images
│ │ ├ inicis
│ │ ├ kcp
│ │ └ lg
│ ├ pointranking
│ │ ├ basic
│ │ │ └ css
│ │ ├ bootstrap
│ │ │ └ css
│ │ └ mobile
│ │ └ css
│ ├ poll
│ │ ├ basic
│ │ ├ bootstrap
│ │ └ mobile
│ ├ popup
│ │ └ basic
│ │ └ css
│ ├ profile
│ │ ├ basic
│ │ │ └ css
│ │ ├ bootstrap
│ │ │ └ css
│ │ └ mobile
│ │ └ css
│ ├ register
│ │ ├ basic
│ │ │ └ css
│ │ ├ bootstrap
│ │ │ └ css
│ │ └ mobile
│ │ └ css
│ ├ search
│ │ ├ basic
│ │ │ └ css
│ │ ├ bootstrap
│ │ │ └ css
│ │ └ mobile
│ │ └ css
│ ├ selfcert
│ │ ├ kcb
│ │ ├ kcp
│ │ └ lg
│ └ tag
│ ├ basic
│ │ └ css
│ ├ bootstrap
│ │ └ css
│ └ mobile
│ └ css
├ CIBOARD_LICENSE
├ composer.json
├ contributing.md
├ index.php
├ pax_global_header
├ readme.rst
└ robots.txt
참고자료
http://www.ciboard.co.kr/tiptech/p/28