phpcms에는 컨트롤러가 있습니다. phpcms 컨트롤러는 "phpcms/modules"에 저장되는 모듈의 클래스 파일입니다. 각 모듈에는 독립적인 명명 방법이 있습니다. 클래스 이름은 컨트롤러 클래스가 상속하는 "파일 이름 + .php 명명" 형식입니다. 기본적으로 시스템의 함수 라이브러리를 직접 사용할 수 있습니다. 컨트롤러 클래스의 클래스 이름과 컨트롤러 파일 이름은 동일해야 합니다.
이 튜토리얼의 운영 환경: windows7 시스템, phpcms v9 버전, DELL G3 컴퓨터
phpcms에는 컨트롤러가 있습니다.
phpcms의 컨트롤러는 무엇인가요?
phpcms 컨트롤러는 phpcms/modules 아래에 저장되는 모듈의 클래스 파일입니다. 클래스 이름은 파일 이름 +입니다. .php 명명 형식, 컨트롤러 클래스는 기본적으로 시스템의 함수 라이브러리를 상속하며 직접 사용할 수 있습니다. 컨트롤러 클래스의 클래스 이름과 컨트롤러 파일 이름은 동일해야 합니다.
새 컨트롤러 추가
이제 phpcms/modules 아래에 새 테스트 폴더를 만들고, 테스트 폴더에 mytest.php라는 새 파일을 만들고, 파일에 다음 코드를 추가합니다.
defined('IN_PHPCMS') or exit('No permission resources.');class mytest { function __construct() { } public function init() { $myvar = '这是默认加载!'; echo $myvar; } public function mylist() { $myvar = '这是自定义list!'; echo $myvar; } }
그런 다음 브라우저에 다음 액세스 방법을 입력할 수 있습니다
http://domain name/index.php?m=test&c=mytest
http://域名/index.php?m=test&c=mytest
默认加载init()方法
http://域名/index.php?m=test&c=mytest&a=mylist
http: //Domain name/index.php?m=test&c=mytest&a=mylist
mylist 메소드가 로드되었습니다
템플릿 소개
프런트엔드 템플릿
위치 웹 사이트 프런트 엔드 템플릿은 phpcms/templates에 있습니다. /default/ 모듈 아래에 컨트롤러 mytest.php 파일의 init() 메서드에 로딩 템플릿 메서드를 추가합니다.include template('test', 'mytest', 'default');새 테스트 폴더와 mytest.html을 만듭니다. phpcms/templates/default/ 디렉토리 아래에 있는 파일입니다.
백엔드 템플릿
배경 템플릿 파일은 phpcms/modules/module name/templates 디렉터리에 있습니다.
권한이 있는 컨트롤러
백엔드 컨트롤러phpcms/modules/admin/ 아래에 새 mytest_admin을 만듭니다. 파일, 파일 코드는 다음과 같습니다:defined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_app_class('admin','admin',0); class mytest_admin extends admin{ function __construct() { } public function index(){ echo "后台控制器"; } }액세스 주소: http://domain name/index.php?m=admin&c=mytest_admin&a=index
phpcms 커스텀 모델
클래스에 모델을 소개합니다pc_base::load_sys_class('model', '', 0);그런 다음 클래스 확장은 모델을 상속합니다
__construct 메서드에 다음 코드를 추가합니다.
$this->db_config = pc_base::load_config('database'); $this->db_setting = 'default'; parent::__construct();
function init(){ $sql = 'select * from v9_news '; $data = $this->get_array_by_sql($sql); var_dump($data); } public function sql_query($sql) { if (!empty($this->db_tablepre)) $sql = str_replace('phpcms_', $this->db_tablepre, $sql); return parent::query($sql); } public function fetch_next() { return $this->db->fetch_next(); } //通过SQL语句查询一条结果 public function get_one_by_sql($sql){ $this->sql_query($sql); $res = $this->fetch_next(); $this->free_result(); return $res; } //通过sql语句查询数组 public function get_array_by_sql($sql){ $this->sql_query($sql); $res = $this->fetch_array(); $this->free_result(); return $res; } //释放数据库结果资源,调用底层完成 public function free_result() { $this->db->free_result(); }
위 내용은 phpcms에 컨트롤러가 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!