php weize_docs.html

WeizePHP文档手册

html,body{height:100%}

body{max-width:800px;font-family:"Work Sans",sans-serif;margin:0 auto;line-height:1.7;font-size:20px;color:#333;padding:2em 1em;text-rendering:optimizeLegibility;height:100%}

@media screen and (max-width: 600px){body{max-width:100%;padding:1em}}

h1,h2,h3,h4,h5,h6{font-family:"Lato", "Helvetica Neue", Helvetica, sans-serif;font-weight:bold;line-height:1.8;margin:0;text-transform:capitalize}

a{color:#60c17d;text-decoration:none}

a:hover{color:#333}

p a{color:#333;text-decoration:none;background:-webkit-linear-gradient(transparent 90%, #85cf9b 10%);box-shadow:inset 0 0 0 0 #85cf9b;-webkit-transition:box-shadow ease 1s;-moz-transition:box-shadow ease 1s;transition:box-shadow ease 1s}

p a:hover{color:#fff;box-shadow:inset 0 -100px 0 0 #85cf9b}

figure{margin:0}

img{max-width:100%}

pre,code{overflow:auto;font-size:14px;border-radius:3px;border:1px solid #60c17d}

pre>code,code>code{border:none}

pre{padding:1em}

code{padding:0.1em}

blockquote{border-left:2px solid #60c17d;padding-left:1em;font-family:Georgia,Times,Times New Roman,serif;font-size:18px;font-style:italic}

.headline{font-size:4em}

@media screen and (max-width: 600px){.headline{font-size:2em}}

.post-headline{font-size:4em}

@media screen and (max-width: 600px){.post-headline{font-size:1.5em}}

.home{background-image:url(./public/images/left-arrow.svg);background-repeat:no-repeat;height:40px;width:40px;opacity:0.9;position:fixed;top:50px;left:50px}

.home:hover{opacity:1}

@media screen and (max-width: 1000px){.home{top:90%;left:90%;height:30px;width:30px;opacity:0.6}}

.video{width:100%;height:360px}

@media screen and (max-width: 1000px){.video{height:300px}}

@media screen and (max-width: 600px){.video{height:180px}}

#markdown-toc::before{content:"内容索引";font-weight:bold}

#markdown-toc ul{list-style:decimal}

#markdown-toc{border:1px solid #60c17d;padding:1.5em 2.2em;list-style:decimal;display:inline-block}

.red{color:#FF0000}

.tb_lib{width:100%;border-collapse:collapse;margin:0 auto}

.tb_lib th,.tb_lib td{padding:6px;border:1px solid #000}

.tb_lib th{background-color:#60c17d;text-align:left;color:#FFF}

.tb_lib tr.hover td{background-color:#C1FFC1}

.ft-p{font-size:12px;color:#ccc}

WeizePHP 文档

2017-04-20 19:42:00

概览

WeizePHP是一款超小的PHP框架,使用MIT协议,您可以免费自由的应用于商业。她有后台、有权限管理、有完整的开发手册。入门简单,只要会php语法,就可以快速的开发各种应用和网站^_^。

目前常用于开发各类 网站企业管理系统手机APP接口...

缺点

负责任的告诉你,WeizePHP框架有一定的局限性,特殊的需求,可能需要修改核心代码。核心代码就几行而已,想怎么改,就怎么改。

优点

简单、易用、好维护!!!

使用交流

QQ群:297634163(WeizePHP框架)

E-mail:weizesw@gmail.com / 310472156@qq.com

QQ:310472156

目录结构

./app                      // 应用目录

./app/admin // 后台应用

./app/admin/article // 文章管理

./app/admin/home // 后台首页

./app/admin/login // 后登陆模块

./app/admin/nav // 导航管理

./app/admin/singlepage // 单页管理

./app/admin/system // 系统管理

./app/admin/user // 用户管理

./app/appapi // APP接口应用

./app/appapi/login // APP登陆接口

./app/content // 内容应用(系统默认加载的应用)

./app/content/article // 内容文章模块

./app/content/home // 内容首页(系统默认首页)

./app/content/singlepage // 内容单页模块

./app/general // 通用应用

./app/general/captcha // 通用验证码模块

./app/general/ueditor // 通用ueditor服务端模块

./app/general/upload // 通用上传模块

./app/member // 会员应用

./data // 数据目录

./data/backup_* // 备份目录

./data/cache // 缓存目录

./data/log // 系统日志

./data/tmp // 临时目录

./install // 框架安装目录

./lang // 语言包目录

./lib // 常用函数、类库目录

./public // 公共目录

./public/css // 公用css目录

./public/fonts // 公用字体目录

./public/images // 公用图片目录

./public/js // 公用js目录

./public/theme // 主题css/js/image目录

./public/ueditor // UEditor富文本编辑器

./public/webuploader // WebUploader上传组件

./theme // 主题模板

./theme/default // 主题默认模板

./upload // 上传目录

./weize // 框架核心目录

./weize/framework.php // 框架核心文件

./weize/function.php // 框架核心函数库

./weize/w_mysqli.class.php // 框架MySQL连接/分页类

./weize/w_user.class.php // 框架用户类

index.php 框架默认入口

admin.php 后台入口

appapi.php APP接口入口

general.php 通用应用入口

member.php 会员中心入口

docs.html WeizePHP开发文档

快速入门(动手写自己的 Hello world!)

1、在 ./app/content 目录下创建 hello 文件夹,并在 hello 文件夹下建立 index.php 文件

<?php

if(!defined('IN_WEIZEPHP')) { exit('Access Denied'); } // 禁止直接访问

$str = 'Hello World!'; // 赋值

$sql = "SELECT * FROM `{$wconfig['db']['tablepre']}user`";

$user = $wdb->get_row($sql); // 获取一条用户信息

include $wconfig['theme_path'] . '/content/hello/index.html.php'; // 包含模板文件

2、在 ./theme/default/content 目录下创建 hello 文件夹, 并在 hello 下建立 index.html.php 模板文件

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">

<title>Hello world!</title>

</head>

<body>

<?php echo $str; ?> <!-- 输出 -->

<?php print_r($user); ?> <!-- 打印输出用户信息 -->

</body>

</html>

3、访问刚刚做好的 hello 模块。下面是个示例网址:

http://localhost/weizephp/index.php?m=hello&a=index

想要开发新的模块,开发模式都跟这个 hello 模块类似。如果想要了解复杂一点的开发,可以查看系统自带的 article 文章模块和 singlepage 单页模块。

4、如果想在 后台 添加 hello 管理菜单。需要打开 ./lang/zh_cn/w_menu.inc.php 文件,然后添加如下代码,

$wmenu['admin/hello']      = array('name'=>'hello管理', 'display'=>1);

$wmenu['admin/hello/edit'] = array('name'=>'hello编辑', 'display'=>1);

之后,刷新一下后台,即可看到新添加的 hello管理 菜单。

同时,也在后台也添加 ./app/admin/hello/edit.php 模块文件,最后写一下具体的控制逻辑。

单一入口说明

index.php   框架默认入口

admin.php 后台入口

appapi.php APP接口入口

general.php 通用应用入口

member.php 会员中心入口

当访问 index.php?m=home&a=index 时,

程序读取的是首页模块,即 ./app/content/home/index.php 文件;

当访问 index.php?m=article&a=view&aid=1 时,

程序读取的是文章模块 ./app/content/article/view.php 文件,且ID为 1 的文章;

m 表示模块(即英文module)

a 表示模块下的一个动作文件(即英文action)

常量、变量、函数、类库、JS

// === 常量 ===

W_PERMISSION // 是否启用权限控制(1开启,0关闭)

W_APPNAME // 当前应用名

IN_WEIZEPHP // 默认值是TRUE.主要用于避免其他程序被非法引用

W_ROOT_PATH // 根目录

// === 变量 ===

$m // 当前模块

$a // 当前动作

$isajax // 是否是AJAX访问。1为是,0为否

$wflag // 当前脚本访问标识。如:content/home/index

$wconfig['theme_path'] // 主题模板目录

$wconfig['theme_skin'] // 主题皮肤css/js/image目录

$wconfig['db']['tablepre'] // 表前缀

$wconfig['public_path'] // 公共目录(启用CDN时有用)

$wconfig['upload_path'] // 上传(启用CDN时有用)

$wmenu // 菜单数组

$wlang // 语言包数组

// === 函数 ===

w_stripslashes($string) // 去除反斜线

w_addslashes($string) // 添加反斜线

// 截取部分字符串

w_substr($str, $start = 0, $length = 30, $charset = "utf-8", $suffix = false)

w_sizecount($size) // 数据大小统计

w_get_client_ip() // 获取客户端IP

w_random($length) // 生产随机字符串,如:w_random(6);

w_sign($array) // 签名函数

// 语言替换函数

w_lang($lang, $array = array())

// 发送cookie到浏览器

w_setcookie($name, $value, $expire = 0, $httponly = false)

// 成功提示函数

w_success($message, $url = '')

// 错误提示函数

w_error($message, $url = '')

w_rewriteurl($url) // 伪静态函数

w_get_siteurl() // 获取站点网址函数。如:http://www.75hh.com/

// === 类库 ===

// 数据库类实例化

$wdb = new w_mysqli();

---------------------------------

// 获取一条数据

$sql = "SELECT * FROM `w_user`";

$row = $wdb->get_row($sql);

---------------------------------

// 获取多条数据

$sql = "SELECT * FROM `w_user`";

$lists = $wdb->get_all($sql);

---------------------------------

// 分页

$sql = "SELECT * FROM `w_user`";

$data = $wdb->pagination($sql, 1); // 1条一页

$output = $wdb->pagination_output();

foreach($data as $val) {} // 遍历分页数据

echo $output; // 输出分页HTML

---------------------------------

// 用户管理类实例化

$wuser = new w_user();

---------------------------------

$wuser->sid // Session ID

$wuser->session // Session 值

$wuser->aid // Access Token ID

$wuser->accesstoken // Access Token 值

$wuser->ip // 当前用户的IP地址

$wuser->uid // 当前用户的 uid

$wuser->lastvisit // 当前用户的上次访问时间

$wuser->formtoken // 当前用户表单令牌

$wuser->username // 当前用户名

$wuser->roleid // 当前用户角色ID

$wuser->point // 当前用户积分

$wuser->balance // 当前用户余额

$wuser->realname // 当前用户真名

$wuser->nickname // 当前用户昵称

---------------------------------

// 注册用户

$result = $wuser->register($username, $username_again, $password, $password_again, $email, $email_again, $roleid = 0, $mobile = '');

# $result 状态码 #

1 正确状态

0 未知错误

-1 用户名只允许使用字母、数字、下划线,且必须需以字母开头

-2 用户名不能小于3个字符

-3 用户名不能大于15个字符

-4 该用户名已经被注册

-5 两次输入的用户名不一致

-6 两次输入的密码不一致

-7 密码不能小于6个字符

-8 密码不能大于15个字符

-9 E-mail格式有误

-10 该E-mail已经被注册

-11 两次输入的邮箱不一致

-12 手机格式不正确

-13 手机已经被占用

-14 登录账号不正确

-15 IP登录错误次数过多,请N分钟后再试

-16 账号登录错误次数过多,请N分钟后再试

-17 用户不存在,或者已经被删除,您还可以尝试N次

-18 登陆密码错误,您还可以尝试N次

---------------------------------

$wuser->login($username, $password, $mode = "session") // 登录.如果登陆错误,这里限制15分钟锁定

$wuser->logout() // 登出

$wuser->check_access_permission() // 检查访问权限

$wuser->get_curapp_user_menu() // 获取“当前应用”的“用户菜单”

$wuser->actionlog($loginfo) // 记录用户操作日志

---------------------------------

// === JS ===

w_dialog_success(message, url) // 成功对话弹出框

w_dialog_error(message) // 错误对话弹出框

w_dialog_confirm(message, ok) // 确认对话弹出框

w_dialog_custom(title, message, ok) // 自定义对话弹出框

添加伪静态示例

// 1、打开 ./config/w_config.inc.php 文件,设置 $wconfig['rewrite']['on'] = true; 开启伪静态

// 2、添加内容伪静态

$wconfig['rewrite']['content'] = array();

$wconfig['rewrite']['content'] = array(

'/^index.php\?m=singlepage&a=view&spid=(\d+)$/' => 'singlepage-view-$1.html', // 单页伪静态示例

);

// 3、打开 .htaccess 文件,开启伪静态,并添加“单页”伪静态(这里是Apache伪静态示例)

RewriteEngine on

RewriteRule ^singlepage-view-(\d+).html$ index.php?m=singlepage&a=view&spid=$1

“单页伪静态” Nginx 示例

server {

listen 80;

root /data/www/***;

server_name www.***.com ***.com;

location / {

index index.html index.htm index.php;

rewrite ^([^\.]*)/singlepage-view-(\d+)\.html$ $1/index.php?m=singlepage&a=view&spid=$2 last;

if (!-e $request_filename) {

return 404;

}

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root /usr/share/nginx/html;

}

location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /data/www/***$fastcgi_script_name;

include fastcgi_params;

}

}

编码规范

本规范由编程原则组成,融合并提炼了开发人员长时间积累下来的成熟经验,意在帮助形成良好一致的编程风格。

// === 文件命名 ===

index.php // 普通文件

menu.inc.php // 包含文件

extend.func.php // 函数文件

mysqli.class.php // 类库文件

framework.lang.php // 语言包文件

// === 常量命名 ===

全部使用大写字母命名,少数特别必要的情况下,可使用下划线“_”来分隔单词;

define('W_APPNAME', 'front'); // 前台应用

define('W_ROOT_PATH', dirname(__FILE__)); // 根目录

// === 变量、类、函数、表、字段命名 ===

一律为小写格式,除非必要,单词之间一般不使用下划线“_”进行分割;

以标准计算机英文为蓝本,杜绝一切拼音、或拼音英文混杂的命名方式;

变量命名只能使用项目中有据可查的英文缩写方式,

例如可以使用$data而不可使用$data1、$data2这样容易产生混淆的形式,

应当使用$articledata、$postdata这样一目了然容易理解的形式;

可以合理的对过长的命名进行缩写,例如$bio($biography),$ccb($ChinaConstructionBank),

前提是英文中有这样既有的缩写形式,或字母符合英文缩写规范;

必须清楚所使用英文单词的词性,在权限相关的范围内,

大多使用$allow***或$is***的形式,前者后面接动词,后者后面接形容词。

// === SQL语句书写 ===

所有SQL语句中,除了表名、字段名称以外,全部语句和函数均需大写;

数据库SQL语句中,所有数据必须加单引号,无论数值还是字串,以避免可能的注入漏洞和SQL错误。

$sql = "SELECT `username` FROM `{$wconfig['db']['tablepre']}user` WHERE `uid`='{$uid}'";

// === CSS 写作注意事项 ===

1. 属性写在一行内,属性之间、属性名和值之间以及属性与“{}”之间须有空格,例如:.class { width: 400px; height: 300px; }

2. 属性的书写顺序:

2.1. 按照元素模型由外及内,由整体到细节书写,大致分为五组:

位置:position,left,right,float

盒模型属性:display,margin,padding,width,height

边框与背景:border,background

段落与文本:line-height,text-indent,font,color,text-decoration,...

其他属性:overflow,cursor,visibility,...

2.2. 针对特殊浏览器的属性,应写在标准属性之前,例如:-webkit-box-shadow:; -moz-box-shadow:; box-shaow:;

3. 谨慎添加新的选择符规则,尤其不可滥用 id,尽可能继承和复用已有样式

4. 选择符、属性、值均用小写(格式的颜色值除外),缩写的选择符名称须说明缩写前的全称,例如 .cl -> Clearfix

5. 尽量避免使用各种 CSS Hack,如确实有必要,可以使用

6. 勿使用冗余低效的 CSS 写法,例如:

ul li a span { ... }

7. 慎用 !important

8. 建议使用在 class / id 名称中的词语

8.1. 表示状态:a->active

8.2. 表示结构:h->header,c->content,f->footer

8.3. 表示区域:mn->main,sd->side,nv-navigation,mu->menu

8.4. 表示样式:l-list,tab,p_pop

9. 开发过程中的未定事项,须用 [!] 标出,以便于后续讨论整理

数据表字典

w_config(站点配置表)

字段名注释备注类型
ckey键名varchar(255)
cvalue键值 text

w_user(用户表)

字段名注释备注类型
uid用户IDmediumint(8)
email用户邮箱 char(40)
username用户名 char(15)
mobile手机号 char(11)
password密码char(32)
status状态0关闭,1启用tinyint(1)
roleid角色ID smallint(5)
regtime注册时间 int(11)
regip注册IPchar(15)
lastlogintime上次登录时间 int(11)
lastloginip上次登录ip char(15)
logincount登陆次数mediumint(8)
point积分 int(10)
balance余额 decimal(10,2)
salt盐值char(6)
realname真名varchar(32)
nickname昵称varchar(32)

w_role(角色表)

字段名注释备注类型
roleid角色IDsmallint(5)
status状态0关闭,1启用tinyint(1)
rolename角色名 varchar(32)
permission权限 text

w_loginfailed(登陆失败锁定表)

字段名注释备注类型
ipusernameIP地址或者用户名char(15)
logintime登陆时间 int(10)
count错误次数 tinyint(1)

框架所有表简单描述

w_accesstoken           // Access Token 表

w_actionlog // 用户操作日志表

w_adminlog // 管理员操作日志表

w_article // 文章表

w_article_attachment // 文章附件表

w_article_category // 文章分类表

w_article_content // 文章内容表

w_captcha // 验证码表

w_config // 配置表

w_loginfailed // 登陆失败锁定表

w_nav // 导航菜单表

w_role // 角色表

w_session // Session 表

w_singlepage // 单页表

w_singlepage_attachment // 单页附件表

w_singlepage_content // 单页内容表

w_upload // 上传表

w_user // 用户表

许可协议

MIT License

Copyright © 2013 - 2113 WeizePHP.

$(document).ready(function(e) {

// 返回按钮

$('#docs-back-btn').click(function() {

if( window.location.hash == '' ) {

return true;

} else {

window.history.back();

return false;

}

});

// 表格背景切换

$('.tb_lib tr').hover(

function(e) {

$(this).addClass("hover");

},

function(e) {

$(this).removeClass("hover");

}

);

});

一键复制

编辑

Web IDE

原始数据

按行查看

历史

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值