当前位置: 首页 > 后端技术 > PHP

charm_PHP,一个还有诸多问题的PHP MVC框架

时间:2023-03-29 18:42:51 PHP

charm_PHP,一个存在很多问题的PHPMVC框架框架中实现了C层和V层,M层使用了composer的PHP组件——Medoo,实现了一些简单的设计模式,单入口,自动加载。该框架遵循PSR规范,使用命名空间来规范类之间的相互协作;目录app->应用目录controller->controller目录core->public,core文件目录views->查看目录resource->资源目录(js,images,css等)systemconfig->framework配置文件目录core->框架核心文件目录Charm.php->核心文件Common.php->公共方法Cofig.php->配置类Core.php->核心文件Log.php->日志类Model.php->数据库类Page.php->分页类Route.php->路由类Security.php->验证类Session.php->会话类dirves->驱动文件目录vendor->PHP组件初始化本地下载项目:gitclonehttps://github.com/charm-v/ch...打开cmd,在项目下输入compoerinstall运行框架全局方法model()使用:$model=&model();post($key)使用:$postData=post();或者$name=post('name');get($key)使用:$getData=get();OR$name=get('name');request($key,$type='get')使用:$getName=request('name','get');$posttName=request('name','POST');`$requestName=请求('name','request');`ajaxReturn($status,$msg='')使用:1、`ajaxReturn(200,'ok');=>{'status':200,'msg':'ok'}`2、$returnData=['state'=>400,'message'=>'error','data'=>[]];ajaxReturn($返回数据);=>{'state':400,'error':'ok','data':[]}view($viewName,$data=[])Use:view('home');view('home',['content'=>'内容']);css($cssName,$cssPath='css',$resource='resource')Use:css('main.css');==>css('main.css','css/home')==>js($jsName,$jsPath='css',$resource='resource')使用:css('main.js');==>......base_url($uri='')使用:base_url();==>http://charm_PHP.combase_url('index/getUser列表');==>http://charm_PHP.com/index/getUserListredirect($uri,$flag=false)使用:redirect('index/editUserInfo');==>位置:http://charm_PHP.com/index/editUserInforedirect('baidu.com');==>位置:http://baidu.comredirect('https://google.com');==>位置:https://google.comclassuseConfigclassusesystem\core\Config;//PAGENUM配置项下标页面配置项文件名Config::get('PAGE_NUM','page');日志类使用system\core\Log;//PAGENUM配置项标准页面配置项文件名Log::log($data,$fileName);页面类使用system\core\Config;usesystem\core\Page;if(isset($_GET['page'])){$now_page=intval($_GET['page'])?intval($_GET['page']):1;}else{$now_page=1;}//获取每页的配置项数$pageNum=Config::get('PAGE_NUM','page');//计算偏移$offset=$pageNum*($now_page-1);$data['count']=parent::$model->count(table,$where);$where['LIMIT']=[$offset,$pageNum];$data['orderData']=parent::$model->select('table','*',$where);//分页句柄$objPage=newpage($data['count'],$pageNum,$now_page,'?page={page}'.$parameter);$data['pageNum']=$pageNum;//生成分页码$data['pageList']=$objPage->myde_write();依赖组件Medoovar-dumperwhoopsgitHub地址Charm_PHPEpilogue这个小框架我在一些小的外包项目中一直在使用,目前还没有发现严重的错误。估计黑客是厚道的。不忍心看到这个项目这么烂?嗯……如果有时间,我还是想补充和完善这个框架的。顺便说一句,这个小框架的原型是我在MOOC上的一门课程中学到的。我打出来后,拿给自己看。使用请注明课程地址,想学的朋友可以学习一下:从零开始搭建自己的PHP框架。嗯,先到这里吧。