php 노트:초기 PHP cms 모듈 개발 안내

5100 단어 PHP cms 모듈
업무 관계 로 인해 몬 godb 에 대한 연 구 를 잠시 포기 할 수 밖 에 없 었 습 니 다.PHPcms 를 연구 하기 시 작 했 습 니 다.
지금까지 나 는 모듈 의 개발 을 거의 마 쳤 다.주말 을 틈 타 이곳 에 와 서 정 리 를 해 보 았 다.나 는 pc ms 가 잘 썼 다 는 것 을 알 았 다.그러나 문서 같은 것 은 확실히 많 지 않다.
쓸데없는 소리 하지 마 세 요.pc ms 모듈 개발 에 대해 서 는 모듈 의 디 렉 터 리 구 조 를 먼저 알 아야 합 니 다.
우리http://v9.help.phpcms.cn/html/2010/structure_0928/69.html
그의 디 렉 터 리 구 조 를 찾 았 다.   우리 가 개발 하고 자 하 는 동 동(즉 모듈)은/phpcms/modules/아래 에 있 습 니 다.
특별한 것 이 없 으 면 모듈 을 개발 하기 전에 디 렉 터 리 구조 에 따라 관련 디 렉 터 리 를 만 들 고 데이터 베이스 시트 구 조 를 설계 해 야 합 니 다.예 를 들 어 우리 가 모듈 을 만 드 는 것 을 나의 모듈 my 라 고 합 니 다.test
다음은 my test 의 디 렉 터 리 구조 일 것 입 니 다.
mytest
--class//이 건 mytest 모듈 에서 사용 할 클래스
--function//my test 모듈 에 사용 되 는 함수
--install//이 모듈 을 설치 하 는 데 필요 한 설정 파일 과 데이터 시트 를 만 드 는 my slq 문 구 는 여기에 있 습 니 다.
--language//다 국어 때 쓴다
--config.ini.php//이 프로필 은 전체 모듈 에 대한 정 보 를 설명 하 는 데 사 용 됩 니 다.
--extention.inc.php//이것 은 디 렉 터 리 구 조 를 만 드 는 것 이다  .이 파일 도 권한 을 제어 하 는 데 사 용 됩 니 다.
--model.php/모듈 은 어떤 데이터 모델 을 사 용 했 는 지.(어떤 표를 사 용 했 는 지 이해 할 수 있다.)
--model.sql//데이터베이스 에 모델 을 삽입 한 기록
    --my_test.sql//이 파일 은 설치 할 때 실 행 됩 니 다.데이터베이스 시트 를 만 든 sql 을 넣 습 니 다.
--templates/,my test 모듈 에 사용 되 는 템 플 릿 파일
--uninstall//모듈 을 마 운 트 해제 할 때 사용 하 는 설정 과 파일
이 안의 서 류 를 나 는 연구 하지 않 았 다.  나중에 연구 해서 보충 했다.
my_test.php//이것 은 my test 모듈 의 배경 컨트롤 러 파일 입 니 다.
index.php//이것 은 프론트 데스크 톱 컨트롤 러 입 니 다.이것 은 제 가 쓰 지 않 은 것 입 니 다.
 
 
이러한 구 조 를 만 든 후에 우 리 는/phpcms/model/아래 에 우리 의 데이터 모델 을 만들어 야 합 니 다.
예컨대  my_test_model.class.php  (이것 은 매우 전형 적 인 공장 모델 을 사용 했다)
구체 적 으로 모든 파일 에 뭐라고 쓰 여 있 는 지 하나씩 살 펴 보 겠 습 니 다.먼저 model 폴 더 아래 에 쓴 그 파일 을 살 펴 보 겠 습 니 다.

<?php
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_sys_class('model', '', 0);
class my_test_model extends model {
    public function __construct() {
        $this->db_config = pc_base::load_config('database');
        $this->db_setting = 'default';// .//
        $this->table_name = 'my_test';// ,
        parent::__construct();
    }
}
?>    
첫 번 째 줄 의 역할 은 phopcms 의 실행 프레임 워 크 에 있 는 지 확인 하 는 것 입 니 다.
두 번 째 줄 로 딩 시스템 의 model 류,뒤의 매개 변수 0 은 실례 화 되 지 않 는 다 는 뜻 입 니 다.
마지막 줄 은 부모 클래스 의 구조 방법 을 호출 했 습 니 다.phpcms/libs/classes/model.class.php 에서 찾 을 수 있 습 니 다.
이 model 류 에 서 는 데이터 에 대한 조작 방법 을 많이 정의 합 니 다.   가장 기본 적 인 첨삭 검사.나중에 모델 의 기본 적 인 방법 을 자세히 말씀 드 리 겠 습 니 다.
이어서 modules 를 보도 록 하 겠 습 니 다.   안쪽
우 리 는 하나씩 아래 를 본다.  첫번째 언어   다 중 언어 메뉴 를 지원 하 는 데 사 용 됩 니 다.
그리고 config.ini.php 입 니 다.이 안 에는 모듈 설치 에 대한 정보 가 적 혀 있 습 니 다.
파일 안에 이 구조

$module = 'mytest';// model
$modulename = ' ';
$introduce = ' ';
$author = ' ';
$authorsite = ' ';
$authoremail = ' email';
가 표시 되 어 있 습 니 다.
다음은 extention.inc.php 입 니 다.이 파일 은 배경 관리 메뉴 의 디 렉 터 리 구 조 를 만 드 는 데 사용 되 며 권한 을 제어 하 는 데 도 사 용 됩 니 다. 

$id= $menu_db->insert(array('name'=>' ',      'parentid'=> ID, 'm'=>' ', 'c'=>' ', 'a'=>' ',      'data'=>'', 'listorder'=> , 'display'=>' '),true);// true ID
파일 의 마지막 에 배열 이 있어 야 합 니 다.이 배열 은 시스템 의\language\zh-cn\system 을 삽입 하 는 데 사 용 됩 니 다.menu.lang.php 에 있 는 거.  형식 은 다음 과 같 습 니 다

$language = array(
    ' '=>' ',
    :'mytest_init'=>' '
    );
.그리고 model.phop.  이것 이 바로 당신 이 어떤 데이터 모델 을 사 용 했 는 지,어떤 표

return array('mytest','my_test_artcle');
를 사 용 했 는 지,그리고 model.sql 로 이해 할 수 있 습 니 다.   이것 은 시스템 의 모델 시트 에 데 이 터 를 삽입 하 는 데 사용 되 는

INSERT INTO `phpcms_module` (`module`, `name`, `url`, `iscore`, `version`, `description`, `setting`, `listorder`, `disabled`, `installdate`, `updatedate`) VALUES ();
입 니 다.그리고 my test.sql 에서 데이터 베 이 스 를 만 드 는 문 구 는 이 파일 에 써 야 합 니 다.
다음은 당신 이 사용 하 는 템 플 릿 입 니 다.  templates 에 넣 어야 될 것 같 아 요.  이름 을 짓 는 규칙 은   mytest_add.tpl.php
마지막 으로 컨트롤 러.   이것 은 어떤 연구 가 있 습 니 다.컨트롤 러 안에 당신 의 모든 url 을 대상 으로 전달 되 는 action 즉 a=?기본 동작 은 init

<?php
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_app_class('admin','admin',0);
class mytest extends admin(){
  public function __construct(){
    parent::__construct;//
  }
  public function init(){
    echo " ";
  }
  public function add(){
    include $this->admin_tpl('mytest_add');//
  }
}
컨트롤 러 에 적 혀 있 습 니 다.   우 리 는 위의 서 류 를 다 쓰 면 우리 의 모듈 을 설치 할 수 있다.

좋은 웹페이지 즐겨찾기