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

原文是在我自己博客中,小伙伴也可以点阅读原文进行跳转查看,还有好听的背景音乐噢~

charm_PHP

介绍

一个简单的MVC框架,框架中实现了C和V层,M层使用composer的PHP组件——Medoo,实现了一些简单的设计模式,单一入口、自动加载。

本框架遵循PSR规范,使用命名空间来规范类于类之间的互相合作;

目录

app -> 应用目录
    controller -> 控制器目录
    core       -> 公共、核心文件目录
    views      -> 视图目录
resource  -> 资源目录(js、images、css等)
system
    config       -> 框架配置文件目录
    core       -> 框架核心文件目录
        Charm.php    -> 核心文件
        Common.php   -> 公共方法
        Cofig.php    -> 配置类
        Core.php     -> 核心文件
        Log.php      -> 日志类
        Model.php    -> 数据库类
        Page.php     -> 分页类
        Route.php    -> 路由类
        Security.php -> 验证类
        Session.php  -> session类
    dirves     -> 驱动文件目录
vendor  -> PHP组件

初始化

  1. 本地下载项目:git clone https://github.com/charm-v/ch...

  2. 打开cmd,在项目下输入 compoer install

  3. 运行框架

init

全局方法

model()

Use: $model =& model();

post($key)

Use: $postData = post(); OR $name = post('name');

get($key)

Use: $getData = get(); OR $name = get('name');

request($key, $type = 'get')

Use:

$getName     = request('name', 'get');
$posttName   = request('name', 'POST');`
$requestName = request('name', 'request');`

ajaxReturn($status, $msg = '')

Use:

1、`ajaxReturn(200, 'ok'); => {'status':200, 'msg':'ok'}`

2、$returnData = [
    'state'   => 400,
    'message' => 'error',
    'data'    => []
];
ajaxReturn($returnData); => {'state':400, 'error':'ok','data':[]}

view($viewName, $data = [])

Use:

view('home');
view('home', ['content' => '内容']);

css($cssName, $cssPath = 'css', $resource = 'resource')

Use:

css('main.css'); 
==> <link rel="stylesheet" type="text/css" href="http://charm_PHP.com/resource/css/main.css" media="all" />

css('main.css', 'css/home')
==> <link rel="stylesheet" type="text/css" href="http://charm_PHP.com/resource/css/home/main.css" media="all" />

js($jsName, $jsPath = 'css', $resource = 'resource')

Use:

css('main.js'); 
==> <script type="text/javascript" src="http://charm_PHP.com/resource/js/main.js"></script>

......

base_url($uri = '')

Use:

base_url(); 
==> http://charm_PHP.com

base_url('index/getUserList'); 
==> http://charm_PHP.com/index/getUserList

redirect($uri, $flag = false)

Use:

redirect('index/editUserInfo'); 
==> Location: http://charm_PHP.com/index/editUserInfo

redirect('baidu.com'); 
==> Location: http://baidu.com

redirect('https://google.com'); 
==> Location: https://google.com

类使用

Config类

use system\core\Config;

// PAGENUM 配置项下标 page配置项文件名
Config::get('PAGE_NUM', 'page');

Log类

use system\core\Log;

// PAGENUM 配置项下标 page配置项文件名
Log::log($data, $fileName);

Page类

use system\core\Config;
use system\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           = new page($data['count'], $pageNum, $now_page, '?page={page}' . $parameter);
$data['pageNum']   = $pageNum;

// 生成分页代码
$data['pageList']  = $objPage->myde_write();



依赖组件

gitHub地址

结语

这个小框架,被我一直用作一些小型的外包项目中,暂时还没有发现什么很严重的错误,估计是黑客好心,看到这个项目这么烂不忍心黑?嗯...有时间的话还是很想补充、完善一下这个框架的。
对了,这个小框架的原型是我在慕课网的一节课程中学习到的,自己敲出来后,然后就拿来自己用啦,注明一下课程的地址,想学习的小伙伴可以去学习一下:从零开始打造自己的PHP框架。,嗯,就先介绍到这里啦

要创建Python charm的第一个工程文件,请按照以下步骤操作: 1. 安装Juju和charm工具。Juju是一个自动化部署工具,而charm是Juju的一种扩展,用于打包和发布应用程序组件。使用以下命令在Ubuntu上安装它们: ``` sudo add-apt-repository ppa:juju/stable sudo apt-get update sudo apt-get install juju charm-tools ``` 2. 创建一个新的charm。使用以下命令创建一个新的Python charm: ``` charm create my-python-charm python ``` 这将在当前目录下创建一个名为“my-python-charm”的目录,其中包含一个基本的Python charm模板。 3. 编辑charm配置。进入“my-python-charm”目录,编辑“metadata.yaml”文件以包含有关charm的名称,作者,描述等信息。例如: ``` name: my-python-charm summary: My first Python charm maintainer: Your Name <your.email@example.com> description: This is my first Python charm. ``` 4. 编写Python代码。在“my-python-charm”目录中,打开“src”文件夹并编辑“charm.py”文件。这是charm的主要代码文件,包含与应用程序的交互逻辑。 5. 打包charm。使用以下命令将charm打包为一个文件: ``` charm build ``` 这将在“my-python-charm”目录中创建一个名为“my-python-charm.charm”的文件,其中包含完整的charm。 6. 部署charm。使用以下命令将charm部署到本地Juju环境: ``` juju deploy ./my-python-charm.charm ``` 这将在Juju环境中部署并启动charm,使其可用于其他应用程序组件。 这就是创建Python charm的第一个工程文件的基本步骤。可以根据需要编辑charm代码和配置文件,以实现所需的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值