Maison  >  Article  >  Tutoriel CMS  >  Est-ce que phpcms a un contrôleur ?

Est-ce que phpcms a un contrôleur ?

青灯夜游
青灯夜游original
2023-02-17 10:37:471721parcourir

phpcms a un contrôleur. Le contrôleur phpcms est le fichier de classe du module, qui est stocké sous « phpcms/modules ». Chaque module a une méthode de dénomination indépendante. Le nom de la classe est au format « nom de fichier + nom .php » ; la bibliothèque de fonctions du système par défaut, peut être utilisée directement. Le nom de classe de la classe du contrôleur et le nom du fichier du contrôleur doivent être identiques.

Est-ce que phpcms a un contrôleur ?

L'environnement d'exploitation de ce tutoriel : système windows7, version phpcms v9, ordinateur DELL G3

phpcms dispose d'un contrôleur.

Qu'est-ce qu'un contrôleur dans phpcms ?

Le contrôleur phpcms est le fichier de classe du module, qui est stocké sous phpcms/modules. Chaque module a une méthode de dénomination indépendante. Format de nommage .php, la classe du contrôleur hérite par défaut de la bibliothèque de fonctions du système et peut être utilisée directement. Le nom de classe de la classe du contrôleur et le nom du fichier du contrôleur doivent être identiques.

Ajouter un nouveau contrôleur

Maintenant, nous allons créer un nouveau dossier de test sous phpcms/modules, créer un nouveau fichier nommé mytest.php dans le dossier de test et ajouter le code suivant dans le fichier :

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

Ensuite, nous peut saisir la méthode d'accès suivante dans le navigateur

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

La méthode init() est chargée par défaut

http: //Nom de domaine/index.php?m=test&c=mytest&a=mylist

La méthode mylist est chargée

Introduction au modèle

Modèle frontal

L'emplacement de le modèle frontal du site Web est dans phpcms/templates Sous le module /default/

nous ajoutons la méthode de chargement du modèle dans la méthode init() du fichier mytest.php du contrôleur

include template('test', 'mytest', 'default');
Créez un nouveau dossier de test et mytest.html fichier dans le répertoire phpcms/templates/default/.

Modèle backend

Le fichier de modèle d'arrière-plan se trouve dans le répertoire phpcms/modules/nom du module/templates

Contrôleur avec autorisations

Contrôleur backend

Créez un nouveau mytest_admin sous phpcms/modules/admin php/. fichier, le code du fichier est le suivant :

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 "后台控制器";
    }
 
}
Adresse d'accès : http://domain name/index.php?m=admin&c=mytest_admin&a=index

phpcms custom model

Introduire le modèle sur la classe

pc_base::load_sys_class('model', '', 0);

Ensuite, la classe étend le modèle hérité

Ajoutez le code suivant dans la méthode __construct :

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

instruction de requête

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

Site Web PHP chinois, un grand nombre de

Tutoriels PHPCMS🎜 gratuits, bienvenue pour apprendre en ligne ! 🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn