Das modifizierte Framework wird hauptsächlich verwendet, um eine gemeinsame Entwicklung zwischen mehreren Programmierern zu erreichen. Die Implementierung des MVC-Entwicklungsmodells übernimmt die MVC-Entwicklungsmethode, und das Framework selbst ist einfach zu erweitern. Als Grundgerüst des Skynet-Projekts hält skymvc an der guten Tradition der Benutzerfreundlichkeit, des einfachen Lernens und der gemeinsamen Entwicklung fest. Wir sind bestrebt, ein hervorragendes PHP
mvc-Framework zu schaffen. Jeder ist willkommen, Vorschläge zu machen.
1. Konfigurationsdatei erstellen skyMVC unterstützt die automatische Erstellung eines Website-Verzeichnisses: Geben Sie http://locahost/skymvc/install.php ein, um das Dateiverzeichnis
automatisch zu erstellen. Wenn Sie es nach der Erstellung neu erstellen möchten, löschen Sie die Datei install.lock und Sie können es tun.
Automatische Erstellung wird empfohlen.
Sie können es auch manuell erstellen: Die Verzeichnisse können angepasst werden
Beim Anpassen des Verzeichnisses müssen Sie das Programm entsprechend konfigurieren
Admin-Backend-Verzeichnis
admin/model
admin/ctrl
attach
Verzeichnis für hochgeladene Anhänge
Strg-Steuerungsdateiverzeichnis
Datenverzeichnis
data/config.php
Konfigurationsdatei
data/cache-Cache-Verzeichnis
data/cache/css
CSS-Cache
Daten/Cache/Dateidatei-Cache
Daten/Cache/TPL-Vorlagen-Cache
Daten/Cache/js
JS-Cache
Modellmodelldateiverzeichnis
TPL-Vorlagenverzeichnis
tpl/admin Backend-Vorlage
tpl/default
Standardvorlage
js-Verzeichnis
Plugin-Plug-in-Verzeichnis
admin.php Backend-Eintragsdatei
index.php Frontend-Eintragsdatei
2 .Eintragsdatei
skymvc verwendet einen Einzeleintragsmodus, es ist jedoch nicht der einzige Eintrag. Es wird empfohlen, zwei Einträge zu verwenden. Einer ist der Vordereingang und der andere ist der Hintereingang.
1. Beispiel für eine Front-End-Eintragsdatei: Der Dateiname index.php kann angepasst werden, um den Index zu empfehlen oder
Standard
Code zu kopieren. Der Code lautet wie folgt:
erforderlich
"data/config.php";//Laden Sie die Konfigurationsdatei
require("skymvc/skymvc.php");//Referenzieren Sie die Framework-Datei
//Bestimmen Sie, ob der Controller legal ist
$_GET['m']= isset($_GET['m'])
&&
in_array($_GET['m'],array('index'))?$_GET['m' ]:'index';
//Ende des Urteils
require_once(CTRL_DIR."/{$_GET['m']}.ctrl.php");
$classname
= $_GET ['m'].'Control';
$control = new
$classname();
//Konfiguriere pseudostatisch
$control->tpl->rewrite=false;
$control->tpl- >rewrite_rule=array(array("/index.php/i"),array("index.html"));
//Ende der Konfiguration pseudostatisch
$method=isset($_GET['a'])
&& method_exists($control,'on'.$_GET['a'])
'on'.$_GET['a' ]:"onDefault";
$control- >$method();
2. Der Dateiname kann angepasst werden
Code Der Code lautet wie folgt:
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();
//Konfiguriere pseudostatisch
$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"; Es gibt keinen großen Unterschied zwischen den vorderen und hinteren Eingabedateien, hauptsächlich im Speicherort des Modell- und Steuerdateiordners.
3. Controller-Datei
Code kopieren Der Code lautet wie folgt:
class indexControl erweitert skymvc
{
function
__construct()
{
$this->indexControl();
}
function
indexControl()
{
parent::__construct();//parent class initialization
$ this->loadModel("index");
//Backend
//$this->loadAdminModel("index"}
function
onDefault( )
{
$this->tpl->assign("Willkommen", "Willkommen bei skymvc, lass uns zusammenarbeiten!");$this->tpl->assign("who",$_ENV['indexModel']->test());
//Backend
//$this->tpl-> Assign("who",$_ENV['admin_indexModel']->test());
$this->tpl->display("index"}
?>
4. Modelldatei
Modelldateien werden hauptsächlich zur Verarbeitung von Daten verwendet. Natürlich können sie auch andere Logik verarbeiten, dies wird jedoch nicht empfohlen. Dateinamenskonvention: class.model.php
Zum Beispiel: index.model.php
Die Modelldatei befindet sich im Modellverzeichnis: z. B. Modellverzeichnis
Beispiel: index.model.php
Code kopieren Der Code lautet wie folgt:
class
indexModel
{
public $base
function
__construct(&$base)
{
$this- >indexModel($base);
}
function
indexModel(&$base)
{
$this->base=$base;
$this-> db=$base->db
}
function
test()
{
echo „Dies ist ein Modelltest“; }
}
?>
Modelldateien: Die Vorder- und Rückseite sind gleich, aber die Speicherorte sind unterschiedlich
5.Hallo Welt
Hallo Wort von kymvc Framework!
Wenn das Verzeichnis automatisch erstellt wird.
Konfigurieren Sie die Datenbank
index.php
Schreiben Sie die Eintragsdatei.
index.php-Inhalt
Code kopieren Der Code lautet wie folgt:
require
"data/config.php";//Konfigurationsdatei laden
require( "skymvc/ skymvc.php");//Referenzieren Sie die Framework-Datei
//Bestimmen Sie, ob der Controller legal ist
$_GET['m']=isset($_GET['m'])
&&
in_array ($_GET['m'],array('index','article'))?$_GET['m']:'index';//Alle Module einfügen, die in der index.php erscheinen Eintrag in array( ) innerhalb
//Ende des Urteils
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 Erstellen Sie die Datei
hello.ctrl.php im ctrl-Verzeichnis
Kopieren Sie den Code. Der Code lautet wie folgt:
class
helloControl erweitert skymvc
{
function __construct()
{
$this->helloControl();
}
function
helloControl ()
{
parent ::__construct();
$this->loadModel("hello");//Modell laden
Sie können jedes Modell laden, jedoch kein Modell desselben class
}
// Standard-Aktionsnamenskonvention für Funktionsnamen
function
onDefault()
{
echo "hello world
" $this->smarty- >display("hello.html ");
}
//Wenn m=hello, a=test
Führen Sie die folgende Funktion aus
function
onTest(){
$ this->tpl-> attachment("test",$_ENV['helloModel']->gettest());
$this->tpl->display("hello.html ");
}
}?>
Hallo.model.php im Modellverzeichnis erstellen
Code kopieren Der Code lautet wie folgt:
class helloModel
{
public
$base
function
__construct(&$base)
{
$this->helloModel ($base);
}
function
helloModel(&$base)
{
$this->base=$base-> db=$base->$db;
}
//Keine Notwendigkeit, die obige
Funktion gettest(){
return $this->db->getRow("select * aus Test
Limit 1");/ /Daten lesen
}
}
?>
Hallo.html im TPL-Verzeichnis erstellen
Code kopieren Der Code lautet wie folgt:
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transital.dtd">