ホームページ >CMS チュートリアル >PHPCMS >phpcms にはコントローラーがありますか?
phpcms にはコントローラーがあります。 phpcms コントローラはモジュールのクラス ファイルであり、「phpcms/modules」に保存されます。各モジュールには独立した命名方法があります。クラス名は「filename.php 命名」の形式です。コントローラ クラスはシステムのクラスを継承します。デフォルトでは関数ライブラリが使用されます。直接使用できます。コントローラクラスのクラス名とコントローラファイル名は同じである必要があります。
このチュートリアルの動作環境: Windows7 システム、phpcms v9 バージョン、DELL G3 コンピューター
phpcms にはコントローラーがあります。
phpcms のコントローラーとは
phpcms コントローラーはモジュールのクラス ファイルであり、phpcms/modules の下に保存されます。 . 各モジュールには独立した命名方法があります. クラス名はファイル名.php の命名形式になります. コントローラ クラスはデフォルトでシステムの関数ライブラリを継承し、直接使用できます。コントローラクラスのクラス名とコントローラファイル名は同じである必要があります。
新しいコントローラーの追加
次に、phpcms/modules の下に新しいテスト フォルダーを作成し、テスト フォルダー ファイル内に mytest.php という名前の新しいテスト フォルダーを作成します。ファイルに次のコードを追加します。
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; } }
これで、ブラウザに次のアクセス方法を入力できます
http://domain name/index.php?m=test&c= mytest
init() メソッドはデフォルトでロードされます
http://domain name/index.php?m=test&c=mytest&a=mylist
読み込みは mylist メソッドです
テンプレートの紹介
フロントエンド テンプレート
Web サイトのフロントエンド テンプレートの場所 phpcms/templates/default/ module の下
##コントローラー mytest.php ファイルの init() メソッドに読み込みテンプレート メソッドを追加しますinclude template('test', 'mytest', 'default');Create phpcms/templates/default/ ディレクトリの下に新しいものを作成します。test フォルダーと mytest.html ファイルで十分です。
バックエンド テンプレート
バックグラウンド テンプレート ファイルは、phpcms/modules/モジュール名/templates ディレクトリにありますアクセス許可のあるコントローラー
バックエンド コントローラーphpcms/modules/admin/ に新しい mytest_admin.php ファイルを作成します。ファイル コードは次のとおりです: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 "后台控制器"; } }アクセス アドレス: http:/ /ドメイン名 /index.php?m=admin&c=mytest_admin&a=index
phpcms カスタム モデル
クラスにモデルを導入しますpc_base::load_sys_class('model', '', 0);次にこのクラスは継承モデルを拡張します。次のコードを __construct メソッドに追加します。
$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(); }PHP 中国の Web サイトには、多数の無料の
PHPCMS チュートリアル 、オンライン学習へようこそ!
以上がphpcms にはコントローラーがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。