Heim >CMS-Tutorial >PHPCMS >Hat phpcms einen Controller?
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.
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=mytest
http://域名/index.php?m=test&c=mytest
默认加载init()方法
http://域名/index.php?m=test&c=mytest&a=mylist
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 hinzuinclude 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-ControllerErstellen 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 vorpc_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();
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(); }
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!