基于smarty+medoo手搭php简单的框架

1、首先看一下搭建好的smarty目录(箭头位置是后新建的文件夹,也是框架结构的最终目录结构)

2、首先在根目录下新建index.php文件即入口文件,内容如下

<?php
require_once("/Framework/autoloadPhp_requireSmarty.php"); // 用来自动引入需要的控制器类和引入smarty配置文件

define('__PUBLIC__','http://localhost/beerlottery_test/public/');
$smarty->assign('__PULIC__',__PUBLIC__); // 定义常量模板文件需要的public目录

require_once('/Framework/load_function.php'); // 进行生成动态方法执行


autoloadPhp_requireSmarty.php  代码如下
<?php
header("Content-type: text/html; charset=utf-8"); // 声明编码
function __autoload($classname){
$file_url = "./Controller/".$classname.".php"; // 设置目录
if(file_exists($file_url)) { // 判断文件是否存在
include($file_url);
} else {
header("Location: http://localhost/beerlottery_test/public/404.html");
echo "<h2 style='margin-left:30px;margin-top:30px'>未找到控制器'$classname'!</h2>";
}
}
require_once("/libs/config.php"); // 加载smarty配置文件

/Framework/load_function.php    代码如下

$url = $_SERVER['PHP_SELF'];                            // 获取url路径
$arr = explode("/",$url); // 按照/的方式拆分字符串放在一维数组中
$Controller = new $arr[3](); // 获取控制器名称,创建动态对象
if(method_exists($Controller,"$arr[4]")){ // 判断该类中是否有该方法
$Controller->$arr[4](); // 运行该方法
}else{
header("Location: http://localhost/beerlottery_test/public/404.html");
echo "<h2 style='margin-left:30px;margin-top:30px'>未定义该方法'$arr[4]()'!</h2>";
}

总的思路就是获取url然后按照/来进行拆分成一维的数组,然后进行new 该位置的数组元素,在执行url位置上的方法即可

以此种方式作为简单的路由访问。

3、接下来看一看控制器文件,即Controller.php文件,主要做了两件事,接收smarty对象,引入model控制器

 

<?php

class Controller{
var $smarty = null; // 定义全局变量
public function __construct(){ // 当被实例化即加载相关资源
require_once('/Model/Model.php'); // 引入Model层
// 在此次做向下扩展
global $smarty; // 拿到全局变量
$this->smarty = $smarty; // 赋值全局变量,传递对象参数
}
}

其余本分有空再补,本文仅供自己学习总结,如有需要源代码者联系我吧。

 

 

转载于:https://www.cnblogs.com/youligai/p/5711618.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值