웹스쿨

욱보드 _library 파일 소스코드 구조 설명 본문

개인 프로젝트/PHP 욱보드

욱보드 _library 파일 소스코드 구조 설명

마스터욱 2023. 3. 30. 02:14
반응형
  1. <?php
  2.  
  3.     /*
  4.     개발자   : ralear501
  5.     작성일   : 2017-05-17
  6.     */
  7.  
  8.     //board controller
  9.     class board {
  10.         private $lib = null;
  11.         private $define = null;
  12.         private $data = array();
  13.  
  14.         public $table = array();
  15.  
  16.         function __construct() {
  17.             $this->table['board'] = PREFIX . "board";
  18.             $this->table['board_config'] = PREFIX . "board_config";
  19.             $this->table['board_comment'] = PREFIX . "board_comment";
  20.         }
  21.  
  22.         function construct() {
  23.             global $core$define;
  24.             $this->lib = $core;
  25.             $this->define = $define;
  26.  
  27.             //변수정의
  28.             $this->data['file_count'] = 1;
  29.             $this->data['FILE_LIMIT_SIZE'] = 100000000//100메가로 수정 2017-09-20
  30.             $this->data['fileLimitExt'] = array( //업로드 불가능한 확장자들
  31.                 'bin',  'class',    'dll',
  32.                 'dms',  'exe',      'img',
  33.                 'iso',  'lha',      'lzh',
  34.                 'so'
  35.             );
  36.             $this->data['fileLimitHeader'] = array( //업로드 불가능한 확장자들
  37.                 'application/octet-stream',
  38.                 'application/x-msdownload',
  39.                 'text/html'
  40.             );
  41.         }

각 모듈별로 파일들이 분리되어있습니다.

게시판을 담당하고 있는 _library_board.php 파일을 예로 설명을 드리도록 하겠습니다.

라이브러리는 하나의 클래스로 이루어져 있습니다.

 

__construct()

php의 기본 생성자입니다.

개발자분들에게 매우 생소한 함수일 것입니다.

board 클래스의 인스턴스를 호출하게 되면 바로 생성자가 실행이 됩니다.

생성자 안에는 기본 변수나 상수정의를 해두었습니다.

 

construct()

이건 제가 만든 생성자입니다.

해당 생성자는 호출이 되면 외부 라이브러리를 끌어다 쓸수 있게끔,

$this->lib = $core; 를 호출하며,

$this->define = $define; 을 통해 _config.php 에 정의된 상수배열을 가져옵니다.

위 두 호출로 인해 외부 라이브러리와 변수를 모두 해당 클래스에서 끌어다 사용할 수 있게 됩니다.

 

그밖에 자체 클래스 안에서 사용할 변수는 $data 변수에 담아뒀습니다.

private $data

클래스 밖에서 수정을 못하게 하기위해 private 로 지정해두었으며,

외부에서 사용하실 때는

  1. public function get_data($data_key$array_key = ""){
  2.     $data = $this->data[$data_key];
  3.     if($array_key){
  4.         return $data[$array_key];
  5.     }
  6.     else{
  7.         return $data;
  8.     }
  9. }

위 함수를 호출해서 data 를 가져옵니다.

 

대략적인 설명은 여기까지만 하겠습니다.

다음에는 실제로 사용하는 예시를 보여드리도록 하겠습니다.


이 게시글은
https://webschool.kr/?v=board_view&board_key=37&idx=556
에서 작성한 글입니다. 소스코드의 경우 해당 블로그에서 이뿌게 노출이 되지 않을 수 있사오니, 위 링크로 들어오셔서 보시길 바랍니다.

반응형