您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
phpcmsv9开源开发框架基础mvc介绍
含烟2025-05-22phpcms教程已有人查阅
导读根据对mvc的了解简要写个mvc框架 也谈不上框架 希望对新手有帮助简单的解析下mvc你可以这样了解 m模型也就是数据库操作 v视图c控制器 通过url来判断调用m和v来完成请求
根据对mvc的了解简要写个mvc框架 也谈不上框架 希望对新手有帮助简单的解析下mvc你可以这样了解 m模型也就是数据库操作 v视图c控制器 通过url来判断调用m和v来完成请求,本身没数据库操作。
根目录(现在利用v9文件格式)
index.php 入口文件
|-api接口文件目录
|-caches 缓存文件目录
|- configs 系统配置文件目录
|- caches_* 系统缓存目录
|-phpcmsphpcms框架主目录
|- languages 框架语言包目录
|- libs 框架主类库、主函数库目录
|- model 框架数据库模型目录
|- modules 框架模块目录
|- templates 框架系统模板目录
|- base.php 框架主程序
首先根目录新建一个index.php 编码随意 我这里用utf-8
内容如下
内容如下
内容如下
下面看看他的内容怎么写
写一个连接数据库的类mysql
include 那个数据库类;
根目录(现在利用v9文件格式)
index.php 入口文件
|-api接口文件目录
|-caches 缓存文件目录
|- configs 系统配置文件目录
|- caches_* 系统缓存目录
|-phpcmsphpcms框架主目录
|- languages 框架语言包目录
|- libs 框架主类库、主函数库目录
|- model 框架数据库模型目录
|- modules 框架模块目录
|- templates 框架系统模板目录
|- base.php 框架主程序
首先根目录新建一个index.php 编码随意 我这里用utf-8
内容如下
define('root',dirname(__file__).directory.seprartor);//根目录
include root.'phpcms/base.php'; //包含根目录phpcms文件夹下面的base.php
base:run(); //默认加载base类下面的静态run方法。
下面是base.php //位于phpcms下面。内容如下
define('pc_path',dirname(__file__).directory.seprartor);//框架主目录
//其他定义省略
class base
{
//定义初始化方法
public static function run()
{
echo '默认加载我';
自动载入app类
base::load_sys_class('app'); app文件内容请看下面
}
//定义加载系统类的方法$classname类名称,$path地址,$new是否初始化
public static load_sys_class($classname,$path='',$new=1)
{
if($path=='') $path = 'libs/classes/'; //如果地址不存在 自动选择到系统类文件夹下
if(file_exists(pc_path.$path.$classname.'class.php')) //存在该文件
{
includepc_path.$path.$classname.'class.php'; //包含他
if($new)
{
return new $classname; //初始化
}
else
{
return true;
}
}
else
{
文件不存在,请建立;或者直接 return false;
}
}
}
app.class.php位于phpcms/lib/classes 系统类内容如下
class app
{
首先定义一个构造函数 让程序默认加载
public function __construct()
{
echo '默认加载到这里咯';//打开index。php就会看到这段话。
//初始化一些值
define('route_m',$_request['m'] ? $_request['m'] : 'content'); //如果有传递m就赋值 否则默认给个值
define('route_c',$_request['c'] ? $_request['c'] : 'index'); //如果有传递c就赋值 否则默认给个值
define('route_a',$_request['a'] ? $_request['a'] : 'init'); //如果有传递a就赋值 否则默认给个值
$this->init();//默认执行
}
//以下两个方法引用官方 自己写也就和那个意思一样 偷懒
/**
* 调用件事
*/
private function init() {
$controller = $this->load_controller();//这里已经是对象了
if (method_exists($controller, route_a)) {
if (preg_match('/^[_]/i', route_a)) {
exit('you are visiting the action is to protect the private action');
} else {
call_user_func(array($controller, route_a)); //?index.php?m=content&c=index&a=init 默认url 主要判断init是否存在index类里面的一个方法 是的话就调用 这个就是c做的事情根据url来操作对应的m和a
}
} else {
exit('action does not exist.');
}
}
/**
* 加载控制器
* @param string $filename
* @param string $m
* @return obj
*/
private function load_controller($filename = '', $m = '') {
if (empty($filename)) $filename = route_c;
if (empty($m)) $m = route_m;
$filepath = pc_path.'modules'.directory_separator.$m.directory_separator.$filename.'.php'; //地址就是phpcms/modules/content/index.php为什么是这个地址 因为是模块开发
if (file_exists($filepath)) {
$classname = $filename;
include $filepath;
return new $classname; //返回new过的对象
} else {
exit('controller does not exist.');
}
}
}
这样打开index。php默认就运行的 phpcms/modules/content/index.phpindex类下面的init方面下面看看他的内容怎么写
class index
{
设置一个连接数据库属性
private $db= null;
public function __construct()
{
初始化一些值写一个连接数据库的类mysql
include 那个数据库类;
$this->db= new mysql();
$this->db->connect('');连接数据库 具体自己写写
}
//默认加载
public function init()
{
echo '默认就加载到我这里了';
$result = $this->db->query('select * from v9_admin');
while($res=$this->db->fetch($result))
{
print_r($res);
}
然后
include 模板文件 //
以上就是简单的实现一些mvc。
}
本文标签:
很赞哦! ()
上一篇:phpcms模版源码分析
下一篇:PHPCMS后台框架实现思路介绍
相关教程
图文教程
phpcms安装后怎么进后台
在安装了phpcms之后,有的朋友遇到了一个很尴尬的问题,就是在第二次再次想要进入后台的时候,发现首页没有进入后台的链接,事实上,隐藏了进入后台的链接是一个比较考虑安全的做法
帝国cms、dedecms、phpcms等负载测试
希望能够帮助到一些朋友,认识到数据库索引正确设计的重要性。由于我比较懒,就简单用文字描述一下,就懒得切图片证明了,懂技术的朋友可以自己测试一下,可证实我的测试结果是否真实。
phpcms用的是什么数据库?
phpcms用mysql数据库。phpcms是一个PHP开源网站管理系统,采用PHP+MYSQL做为技术基础进行开发。PHPCMS V9采用OOP方式进行基础运行框架搭建
phpcms实现文章置顶的方法
调用分类ID为1的文章列表,并设置条件 posids 不等于 1 。这样就实现了置顶文章与文章列表的文章不重复的功能。
相关源码
-
(自适应)pbootcms模板五金元件气缸气动系统源码下载基于PbootCMS核心开发的气缸气动系统网站模板,为五金元件、气动设备制造企业设计。采用响应式布局技术,自动适配手机、平板等移动设备,确保各类终端用户获得良好浏览体验。查看源码 -
帝国CMS7.5二次元COS漫展网站模板源码免费下载本模板基于帝国CMS 7.5版本深度开发,为二次元文化分享领域设计。采用UTF-8编码,支持中文内容展示,特别适用于COSPLAY作品展示、漫展信息发布等二次元相关内容的网站建设。模板结构清晰,布局合理,充分考虑了二次元用户群体的浏览习惯和审美需求。查看源码 -
帝国cms7.5模板生活常识美食女性时尚综合资讯门户源码本模板为帝国cms7.5生活资讯类网站设计,以天奇生活网为参考原型,涵盖生活常识、美食烹饪、女性时尚等多元化内容板块。采用响应式布局设计,适配各种终端设备,为访客提供优质的阅读体验。模板结构清晰合理,内容展示层次分明,符合生活类网站的用户需求。查看源码 -
(自适应)高端集团跨国公司产业联盟机构网站模板免费下载基于PbootCMS内核开发的集团级企业网站模板,采用响应式设计架构,确保在各类移动设备上获得浏览体验。通过模块化布局与简约大气的视觉风格,帮助集团企业高效展示组织架构、发展历程和业务矩阵,建立专业的企业形象窗口。查看源码 -
(自适应)品牌创意设计作品工作室pbootcms模板下载该模板适用于品牌策划、艺术设计、广告创意公司官网,亦可通过替换图文快速适配其他行;高端创意设计公司工作室网站源码极简代码架构、艺术化视觉布局、企业级功能扩展性。查看源码 -
响应式pbootcms模板新闻资讯博客自媒体门户网站行业通用解决方案为新闻资讯、自媒体博客打造的响应式网站模板,同时支持企业门户、行业资讯等多场景快速适配。通过简单的图文替换即可实现跨行业转型,显著降低建站成本。查看源码
| 分享笔记 (共有 篇笔记) |
