PHP skymvc 간단한 PHP

高洛峰
풀어 주다: 2023-03-01 09:58:01
원래의
1362명이 탐색했습니다.

수정된 프레임워크는 주로 여러 프로그래머 간의 공동 개발을 위해 사용되며, mvc 개발 모델의 구현은 skymvc가 mvc 개발 방식을 채택하고 있으며 프레임워크 자체의 확장이 용이합니다. Skynet 프로젝트의 기본 프레임워크로서 skymvc는 사용 편의성, 학습 용이성 및 공동 개발이라는 훌륭한 전통을 고수하며 우수한 PHP
mvc 프레임워크를 만들기 위해 최선을 다하고 있습니다. 누구나 제안을 할 수 있습니다.
1. 구성 파일 만들기 skyMVC는 웹 사이트 디렉터리 자동 생성을 지원합니다. http://locahost/skymvc/install.php를 입력하면
파일 디렉터리가 자동으로 생성됩니다. 생성 후 다시 생성하려면 install.lock 파일을 삭제하면 됩니다.
자동 생성을 권장합니다.
수동으로 생성할 수도 있습니다. 디렉터리를 사용자 정의할 수 있습니다.
디렉토리를 사용자 정의할 때 그에 맞게 프로그램을 구성해야 합니다.
관리 백엔드 디렉터리
admin/model
admin/ctrl
attach
업로드된 첨부 파일 디렉터리
ctrl 제어 파일 디렉터리
data 디렉터리
data/config.php
구성 파일
data/cache 캐시 디렉터리
data/cache/css
CSS 캐시
데이터/캐시/파일 파일 캐시
데이터/캐시/tpl 템플릿 캐시
data/cache/js
js 캐시
모델 모델 파일 디렉터리
tpl 템플릿 디렉터리
tpl/admin 백엔드 템플릿
tpl/default
기본 템플릿
js 디렉토리
플러그인 플러그인 디렉토리
admin.php 백엔드 항목 파일
index.php 프론트엔드 항목 파일
2 .Entry 파일


skymvc는 단일 항목 모드를 사용하지만 유일한 항목은 아닙니다. 하나는 정문이고 다른 하나는 뒷문입니다.
1. 프런트엔드 항목 파일 예: index.php 파일 이름을 사용자 정의하여 인덱스를 권장하거나
기본값
코드 복사 코드는 다음과 같습니다.
필수
"data/ config.php";//구성 파일 로드
require("skymvc/skymvc.php");//프레임워크 파일 참조
//컨트롤러가 적법한지 확인
$_GET['m']= isset($_GET['m'])
&&
in_array($_GET['m'],array('index'))?$_GET['m' ]:'index';
//판단 종료
require_once(CTRL_DIR."/{$_GET['m']}.ctrl.php")
$classname
= $_GET ['m'].'Control';
$control = new
$classname();
//Pseudo-static 구성
$control->tpl->rewrite=false;
$control->tpl- >rewrite_rule=array(array("/index.php/i"),array("index.html"))
//가정적 구성 끝
$method=isset($_GET['a '])
&& method_exists($control,'on'.$_GET['a'])
'on'.$_GET['a' ]:"onDefault";
$control- >$method();

2. 백엔드 항목 파일: admin.php 파일 이름은 사용자 정의할 수 있습니다.
복사 코드 코드는 다음과 같습니다:
require
"data/config.php"
require("skymvc/skymvc.php")
$_GET[' m']=isset($_GET['m'])
&&
in_array($_GET['m'],array('index','article'))?$_GET['m'] :'index';
require_once(ADMIN_DIR."/".CTRL_DIR."/{$_GET['m']}.ctrl.php")
$classname
= $_GET['m '].'Control'; $control = new
$classname()
//가정적 구성
$control->tpl->tplid="admin"; 🎜>$control->tpl->currdir="admin" ;
$control->tpl->rewrite_on=true;
$control->tpl->rewrite_rule=array(배열 ("/index.php/","index.html"))
$method=isset($_GET['a'])
&& method_exists($control,'on'.$_GET[' a'])?
'on'.$_GET[' a']:"onDefault";
$control->$method()
?> 주로 모델과 제어 파일 폴더의 위치에서 앞부분과 뒷부분 항목 파일 사이에는 큰 차이가 없습니다.
3. 컨트롤러 파일
코드 복사 코드는 다음과 같습니다.
class indexControl extends skymvc
{
function
__construct()
{
$this->indexControl();
}

함수
indexControl()
{
parent::__construct();//부모 클래스 초기화
$ this->loadModel("index");
//백엔드

//$this->loadAdminModel("index")
}
함수
onDefault( )
{

$this->tpl->sign("welcome","skymvc에 오신 것을 환영합니다. 함께 일합시다!");$this->tpl->할당("who",$_ENV['indexModel']->test())
//백엔드
//$this->tpl-> 할당("who",$_ENV['admin_indexModel']->test())
$this->tpl->display("index");
}
?>

4. 모델 파일
모델 파일은 주로 데이터를 처리하는 데 사용됩니다. 물론 다른 로직도 처리할 수 있지만 권장되지는 않습니다. 파일 명명 규칙: class.model.php
예: index.model.php
모델 파일은 모델 디렉터리와 같은 모델 디렉터리에 있습니다.
예: index.model.php
코드 복사 코드는 다음과 같습니다.
class
indexModel
{
public $base
function
__construct(&$base)
{
$this- >indexModel($base);
}
함수
indexModel(&$base)
{
$this->base=$base;
$this-> db=$base->db;
}
function
test()
{
echo "모델 테스트입니다"; }

}
?>

모델 파일 : 앞면과 뒷면은 동일하지만 저장 위치가 다릅니다
5.hello world
kymvc의 안녕하세요 단어
디렉토리가 자동으로 생성된다면.
데이터베이스 구성
index.php
항목 파일을 작성합니다.
index.php 콘텐츠
코드 복사 코드는 다음과 같습니다.
require
"data/config.php";//구성 파일 로드
require( "skymvc/ skymvc.php");//프레임워크 파일 참조
//컨트롤러가 합법적인지 확인
$_GET['m']=isset($_GET['m'])
&&
in_array ($_GET['m'],array('index','article'))?$_GET['m']:'index';//index.php에 나타나는 모든 모듈을 넣습니다.
내부 배열( ) 입력//판단 끝
require_once(CTRL_DIR."/{$_GET['m']}.ctrl.php")
$classname
= $_GET ['m'] .'Control';
$control = new
$classname()
$method=isset($_GET['a']) &&
method_exists($control, 'on'.$ _GET['a'])
'on'.$_GET['a']:"onDefault"
$control->$method();?> >
at ctrl 디렉터리에
hello.ctrl.php 파일을 생성합니다.
코드 복사 코드는 다음과 같습니다.
class
helloControl은 skymvc를 확장합니다
{

function __construct()
{
$this->helloControl()
function
helloControl; ()
{
parent ::__construct()
$this->loadModel("hello");//모델 로드
모든 모델을 로드할 수 있지만 동일한 모델은 로드할 수 없습니다. class
}
// 함수 이름
function
onDefault()
{
echo "hello world
"에 대한 기본 작업 명명 규칙 $this->smarty- >display("hello.html ");
}
//m=hello, a=test
다음 함수 실행
function
onTest(){
$ this->tpl-> 할당("test",$_ENV['helloModel']->gettest())

$this->tpl->display("hello.html ");

}
}?>

모델 디렉터리에 hello.model.php를 생성합니다.

코드 복사 코드는 다음과 같습니다.
class helloModel
{
public
$base
function
__construct(&$base)
{
$this->helloModel; ($base);

함수
helloModel(&$base)
{
$this->base=$base; db=$base->$db;
}
//위의 내용을 변경할 필요가 없습니다.
function gettest(){
return $this->db->getRow("select * 테스트
limit 1");/ /데이터 읽기
}
}
?>

tpl 디렉토리에 hello.html 생성
코드 복사 코드
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- Transitional.dtd">


content="text/html; charset =gb2312"
/>
제목 없는 문서

첫 번째 예: Hello World
다음은 테스트 예입니다. {loop $test $t} {$t}
{/loop}

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿