Heim > CMS-Tutorial > PHPCMS > Hauptteil

Hat phpcms einen Controller?

青灯夜游
Freigeben: 2023-02-17 10:38:13
Original
1720 Leute haben es durchsucht

phpcms hat einen Controller. Der phpcms-Controller ist die Klassendatei des Moduls, die unter „phpcms/modules“ gespeichert ist. Der Klassenname hat das Format „Dateiname + .php-Benennung“. Standardmäßig ist die Funktionsbibliothek des Systems direkt nutzbar. Der Klassenname der Controller-Klasse und der Controller-Dateiname müssen identisch sein.

Hat phpcms einen Controller?

Die Betriebsumgebung dieses Tutorials: Windows7-System, phpcms v9-Version, DELL G3-Computer

phpcms verfügt über einen Controller.

Was ist ein Controller in phpcms?

phpcms-Controller ist die Klassendatei des Moduls, die unter phpcms/modules gespeichert ist. Der Klassenname ist der Dateiname + .php-Benennungsformat, die Controller-Klasse erbt standardmäßig die Funktionsbibliothek des Systems und kann direkt verwendet werden. Der Klassenname der Controller-Klasse und der Controller-Dateiname müssen identisch sein.

Neuen Controller hinzufügen

Jetzt erstellen wir einen neuen Testordner unter phpcms/modules, erstellen eine neue Datei mit dem Namen mytest.php im Testordner und fügen den folgenden Code in die Datei ein:

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;
    }
}
Nach dem Login kopieren

Dann tun wir Sie können die folgende Zugriffsmethode im Browser eingeben

http://domain name/index.php?m=test&c=mytesthttp://域名/index.php?m=test&c=mytest

默认加载init()方法

http://域名/index.php?m=test&c=mytest&a=mylist

Die init()-Methode wird standardmäßig geladen

http: //Domainname/index.php?m=test&c=mytest&a=mylist

Die Mylist-Methode wird geladen

Vorlageneinführung

Front-End-Vorlage

Der Speicherort von Die Website-Frontend-Vorlage befindet sich in phpcms/templates. Unter dem /default/-Modul

fügen wir die Ladevorlagenmethode in der init()-Methode der Controller-Datei mytest.php hinzu

include template('test', 'mytest', 'default');
Nach dem Login kopieren
Erstellen Sie einen neuen Testordner und mytest.html Datei im Verzeichnis phpcms/templates/default/.

Backend-Vorlage

Die Hintergrundvorlagendatei befindet sich im Verzeichnis phpcms/modules/module name/templates

Controller mit Berechtigungen

Backend-Controller

Erstellen Sie einen neuen mytest_admin unter phpcms/modules/admin/.php Datei, der Dateicode lautet wie folgt:

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 "后台控制器";
    }
 
}
Nach dem Login kopieren
Zugriffsadresse: http://domain name/index.php?m=admin&c=mytest_admin&a=index

phpcms benutzerdefiniertes Modell

Stellen Sie das Modell in der Klasse vor

pc_base::load_sys_class('model', '', 0);
Nach dem Login kopieren

Dann erweitert die Klasse das Modell.

Fügen Sie den folgenden Code in die __construct-Methode ein:

$this->db_config = pc_base::load_config('database');
$this->db_setting = 'default';
parent::__construct();
Nach dem Login kopieren

Abfrageanweisung

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();
}
Nach dem Login kopieren

PHP-chinesische Website, eine große Anzahl kostenloser PHPCMS-Tutorials🎜, willkommen zum Online-Lernen! 🎜🎜

Das obige ist der detaillierte Inhalt vonHat phpcms einen Controller?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!