简单的XiunioPHP

Xiuno BBS 4.0它是一款国产、小巧、稳定、支持在大数据量下仍然保持高负载能力的轻论坛,运行速度非常快。它是基于XiunoPHP4.0这个函数集合工具,没有高级特性,适合初学者学习,并且提高了开发效率。如今PHP已经进入依赖性、高级特性等复杂的框架,学习还是需要成本的。所以XiunoPHP4保持 PHP 原生味道。

简单的基于XiunoPHP的小站点

今天写个基于XiunoPHP的小站点,先看下思维图



1 是入口文件
2 是数据库、缓存等配置
3 是App所有的前台、后台和核心文件
4 是XiunoPHP的库文件
5 是公共目录
 

第一步 创建入口文件 index.php。
设置安全的常量BLOG_PHP、设置xiuno的调式模式为1、加载核心文件Framework.php。

//安全常量 
define('BLOG_PHP', TRUE); 
//开启调试模式 
define('DEBUG', 1); 
//硬路径 
define('APP_PATH', dirname(__FILE__).'/App/'); 
//加载配置文件 
$conf = include ('config.php'); 
if($conf == false){ echo "配置不存在!";} 
//加载核心文件 
include (APP_PATH.'/Framework.php'); 


第二步 创建配置文件 Config.php。
填写数据库账号密码连接信息,数据库缓存信息

if(!defined('BLOG_PHP')) exit('拒绝访问!'); 
return array ( 
        //数据库配置
        'db' => array (
		'type' => 'pdo_mysql',
		'pdo_mysql' => array (
			'master' => array (
				'host' => 'localhost',
				'user' => 'root',
				'password' => 'root',
				'name' => 'blog',
				'tablepre' => 'blog_',
				'charset' => 'utf8',
				'engine' => 'myisam',
			),
			'slaves' => array (),
		),
	),
    //数据缓存
	'cache' => array (
		'enable' => true,
		'type' => 'mysql',
		'mysql' => array (
			'cachepre' => 'blog_',
		),
	),
     //日志缓存文件
    'tmp_path' => 'App/Cacahe/',         
	'log_path' => 'App/Log/',
    //开启伪静态
	'url_rewrite_on'=>0
);


第三步 创建Lib文件夹,把XiunoPHP4.0所有函数放进里面。
具体下载地址:http://bbs.xiuno.com/down/xiunophp_4.0.zip,解压后会得到一个目录 xiunophp,里面包含一个合并后的文件:xiunophp.min.php,这个文件可以存放在任何地方。具体参考XiunoPHP手册说明。
缓存:

include XIUNOPHP_PATH.'db_mysql.class.php';
include XIUNOPHP_PATH.'db_pdo_mysql.class.php';
include XIUNOPHP_PATH.'db_pdo_sqlite.class.php';
include XIUNOPHP_PATH.'cache_apc.class.php';
include XIUNOPHP_PATH.'cache_memcached.class.php';
include XIUNOPHP_PATH.'cache_mysql.class.php';
include XIUNOPHP_PATH.'cache_redis.class.php';
include XIUNOPHP_PATH.'cache_xcache.class.php';
include XIUNOPHP_PATH.'cache_yac.class.php';

全局函数:

include XIUNOPHP_PATH.'db.func.php';
include XIUNOPHP_PATH.'cache.func.php';
include XIUNOPHP_PATH.'image.func.php';
include XIUNOPHP_PATH.'array.func.php';
include XIUNOPHP_PATH.'xn_encrypt.func.php';
include XIUNOPHP_PATH.'misc.func.php';


第四步 App文件夹下创建核心文件 Framework.php。

if(!defined('BLOG_PHP')) exit('拒绝访问!');
// 加载XiuPHP框架
include ('Lib/xiunophp.php');
// 加载路由
include ('Route/Route.php');


创建Route文件夹,再创建Route.php文件写简单的路由:

!defined('DEBUG') AND exit('Access Denied.');
//URL 格式获取参数 param(0)
$action = param(0);
//如果URL路径为空或者为index,默认返回index.php,并且加载首页模板
if($action == '' or $action == 'index'){
	include ('App/Template/Home.php');
}
//如果页面等于about 加载About模板
if($action == 'about.html') {
     include ('App/Template/About.php');
} 


创建Model文件夹,再创建User.php,写简单的CURD函数:

//增加
function user_create($arr) {
	$r = db_create('user', $arr);
	return $r;
}
//更新
function user_update($id, $arr) {
	$r = db_update('user', array('id'=>$id), $arr);
	return $r;
}
//查询
function user_read($id) {
	$user = db_find_one('user', array('id'=>$id));
	return $user;
}

//删除
function user_delete($id) {
	$r = db_delete('user', array('id'=>$id));
	return $r;
}


最后一步 创建Template模板目录后,再创建熟悉的模板文件

Include
   |- Head.php      //页头
   |- Menu.php      //导航
   |- Footer.php    //页脚
Home.php            //首页
About.php           //关于

Home.php文件几个简单的测试(注意<?php问号时必须要加的):

//加载页头
<php include "Include/Head.php"; >

//bootstarp框架
<div class="container mt-4">

    //加载导航
    <php include "Include/Menu.php"; >

    //bootstarp jumbotron 
	<div class="jumbotron jumbotron-fluid mt-2">
  	<div class="container">
    	<h1 class="display-4">Home</h1>
    	<p class="lead">基于XiunoPHP4孵生的简单框架。</p>
  	</div>
	</div>
	
	<php

	//测试数据库缓存 写入web 读取web
	$r = $cache->set('web', '测试数据库缓存',0);
	$v =  $cache->get('web');
	echo '<p>'.$v.'</p>';

	//测试数据库读取
	$user = db_find_one('user', array('id'=>1));
	print_r($user);
	
	//测试Model用户模型读取 注意在页头增加<?php include "App/Model/User.php"; ?>
	print_r(user_read(1));
	>
  
</div>

//加载页脚
<php include "Include/Footer.php"; >


PHP7.3以上运行速度非常快 ,执行0.0003左右毫秒,效果如下:


效果还不错!就这样简单的XiuPHP框架完成了!
想获取整个代码,请关注微信后输入XiuPHP得到下载地址。

 


© 2020 www.f-learn.cn All Rights Reserved