Heim >CMS-Tutorial >PHPCMS >Hat phpcms einen Controller?

Hat phpcms einen Controller?

青灯夜游
青灯夜游Original
2023-02-17 10:37:471978Durchsuche

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;
    }
}

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');
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 "后台控制器";
    }
 
}
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);

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();

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();
}

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!

Stellungnahme:
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