图片 1

  就是结构大家的DSN(数据源),看看里面的音信包括:数据库类型是mysql,主机地址是localhost,数据库名称是test,就如此多少个新闻。不同数据库的多寡源构造格局是不等同的。

SQL编辑器:强大的SQL编辑器,扶助编辑语句复杂查询语句,生成动态报表,可导出excel

 官网 http://www.fhadmin.org/

食谱权限:分配给每个角色不同的菜系权限,
每个角色看到的食谱不同,无限级别菜单
按钮权限:独立分配不同的角色不同的坚守权限,增删改查权限分配具体到不同的菜谱,自定义按钮管理
支撑多用户分权限管理后台,  权限具体到不同的食谱不同的按钮(
一个用户可以五个角色**)

音讯管理:消息的保安、发布、权重排序等
采取百度ueditor富文本框
通告管理:公告的维护、发表
广告管理:广告的掩护、揭橥,状态维护,上传广告图片
友情链接:友情链接的保安、状态维护
特别推荐:特别推荐、状态维护

**

技术点

**1. 导出 导入 excel
文件

2  导出word文件
3. IO
流上传下载文件

4.
群发邮件,可以发html、纯文本格式,可以发给任意邮箱(实现批量殡葬广告邮件)

5. 群发or单独
发送短信,帮忙二种第三方短信商接口

6. spring 
 aop  事务处理

7. 代码生成器 (freemarker), 代码 zip
压缩打包

8. MD5加密
SHA加密(登录密码用此加密)接口加密身价校验

9. 数据库连接池  阿里的
druid。Druid在监督、可扩充性、稳定性和性质方面都有醒目标优势,协理并发

10.投入安全框架 shiro
(登录授权)(session管理)

11.基于汉字
解析汉字的全拼(拼音)和首字母(导入excel到用户表,按照用户的汉字姓名生成拼音的用户名)

12.app接口@ResponseBody(匡助与任何语言数据交互)
13.极光推送
(推送给APP及时信息,APP不启动也能接过)

14.微信接口(身份验证,文本、图文回复等)
微信远程控打败务器重启、锁定、其余应用程序

15.java Quartz2.2 任务调度

16.java websocket
即时通讯技术,点对点,群聊,单聊

17.Lucene**全文检索(在赠送的类型中) 18.Base64传输图片 19.图形加水印(图片水印,文字水印) 20.生成 or  解析
二维码 21.HTML5 + JAVAEE  WebSocket
通信技术,**WebSocket
验证用户登录,强制某用户下线

22.批量异步上传图片,可预览,有进度条,襄助拖拽上传(百度webuploader
)。列表动态滑动放大呈现。

23.ehcache 自定义二级缓存
,接纳缓存存放目录,处理并发,扩大系统特性

24.服务器内部GET POST
请求

25.uploadify
上传插件,单条、批量上传多线程,带进度条,异步,图片、录像,
此外文件格式均可上传

26.地形图选点获取经纬度坐标,依据俩经纬度总计距离
27.tab标签页面效果,标签自由切换,不重复操作数据库
28.站内信语音指示,js控制音频播放
29.百度富文本编辑器,可上传图片
30.网页爬虫技术,可依照网页地址爬取图片和网页标题等信息(爬取某商城图片保存本服务器)
31.redis
技术

32.大部分据源技术
33.springmvc
下拉多级联动技术

34.调用录像头拍照技术,图片裁剪技术
35.快递接口查询技术,输入快递单号查询物流消息
36.在线编辑器,仿开发工具
37.pdf文本在线预览,在线预览文本文件,转码预览
38.视频播放技术,几人在线弹幕聊天

图片 2**

 

图片 3

图片 4

图片 5

图片 6

图片 7

图片 8

图片 9

图片 10

图片 11

图片 12

图片 13

图片 14

图片 15

图片 16

图片 17

图片 18

 

图片 19

图片 20

图片 21

 

图片 22

 

<?php
$db->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
$rs = $db->query("SELECT * FROM foo");
$rs->setFetchMode(PDO::FETCH_ASSOC);
$result_arr = $rs->fetchAll();
print_r($result_arr);
?>

1
 权限管理:点开二级菜单进入三级菜单突显角色(基础权限)和按钮权限
    
 角色(基础权限):
分角色组和角色,独立分配菜单权限和增删改查权限。
      按钮权限:
给角色分配按钮权限。
2
 按钮管理:自定义按钮管理,维护按钮权限标识等
3
 菜单管理:无限级别自定义菜单,自定义菜单图标,业务菜单和系统菜单分离,菜单状态呈现隐藏(递归处理)
4
 数据字典:无限级别,帮助多级别无限分类。内设编号,排序等
5
 日志管理:记录用户登录退出和部分根本操作记录
6
 在线管理:websocket技术,实时检测在线用户列表,总括在线人数,可强制用户下线
同一用户只可以在一个客户端登录
7
 系统用户:对各样基本的用户增删改查,单发、群发站内信邮件短信,导入导出excel表格,批量去除
8
 会员管理:对前台用户管理,分配会员级别,到期时间,状态,联系信息等资料
9.   代码生成:生成完整的模块代码,并保留生成记录模版,可复用
(超强悍开发利器)
       
 正向生成:  生成完全的模块,页面、处理类、service层、myabaits的xml
建表的sql脚本等
       
 反向变化:  任意连接其他数据库(mysql、oracle、sqlserver),依照表反射生成本系统的模块
10.
性能监控:监控所有类其它性质,SQL监控,SQL防火墙,URL监控,SPRING监控,SESSION监控等
11. 接口测试:POST or GET
格局检测系列接口,参数加密,json重临结果,总结服务器响应时间
12. 发送邮件:单发,群发邮件  
13.
置二维码:生成二维码图表保存到服务器 or  解析读取二维码内音信
14.
图表报表:柱状图、饼状图、折线图、各类图片大全
15. 地图工具:打开地图,
鼠标点击地图某地方获取经纬度坐标,依照经纬度统计两点离开
16. 打印测试:页面打印预览测试
17.
图片管理:对批量上传的图纸统一管理
,点击放大,可打开三个,自由切换,绚丽预览效果
18.
图片爬虫:输入某网址,爬出其图片展现在页面上,能够推广预览。可保留到服务器上,到图片管理之中
19. 站内信:收信箱和发邮箱,
websocket技术通讯技术做的立时收信指示,可配备语音指示来信
20. 下拉联动:四级下拉联动demo
21.
系统装置:修改系统名称,邮件服务器配置,短信账号设置,图片水印配置,微信配置
22.
及时聊天:打开聊天窗口,可群聊、一对一聊天
23.
表单构建:拖拽式快速自定义构建表单,组建元素丰裕,有富文本、上传控件、下拉框等等
24.
主附结构:提供一个主表和明细表模块的例证(用本代码生成器生成的)
25.
社团单位:无限级别,公司or部门管理
26.
员工管理:和公司机构部门管理,可以绑定登录系统用户,授权数据权限
27.
文件管理:上传文件,修改删除文件,统计文件大小
28.
快递查询:输入快递单号,查询物流跟踪音信。不需要选拔物流集团,遵照单号自动识别
  ————————————————————————————————————————-数据库管理
29. 数据库备份:可备份单表、整库,协助当地和长途数据库备份(java界面编程技术,socket编程技术)
30.
备份定时器:quartz 2.2
强大的任务调度,多线程备份数据库,任务启动关闭异步操作
31. 数据库还原:历史备份记录,还原数据库 or 单表
,总括备份时间和文件大小
32.

  查询操作紧即便PDO::query()、PDO::exec()、PDO::prepare()。PDO::query()首尽管用于有记录结果再次来到的操作,特别是SELECT操作,PDO::exec()重要是对准没有结果集合再次来到的操作,比如INSERT、UPDATE、DELETE等操作,它
重回的结果是现阶段操作影响的列数。PDO::prepare()重假如预处理操作,需要经过$rs->execute()来执行预处理其中的SQL语句,
这些主意可以绑定参数,功用相比较强硬,不是本文可以简单表达白的,我们能够参考手册和任何文档。
获取结果集操作紧如若:PDOStatement::fetchColumn()、PDOStatement::fetch()、
PDOStatement::fetchALL()。PDOStatement::fetchColumn()是获取结果指定第一条记下的某部字段,缺省是第一个字段。PDOStatement::fetch()是用来赢得一条记下,PDOStatement::fetchAll()是得到具有记录集到一个中,获取结果可以透过
PDOStatement::setFetchMode来设置需要结果集合的花色。

A代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码
B 集成代码生成器
[正反双向](单表、主表、明细表、树形表,急忙支付利器)+飞速表单**
构建器
freemaker模版技术
,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本,处理类,service等总体模块
C 集成Alibaba数据库连接池druid  数据库连接池  Alibaba的
druid。Druid在督查、可扩展性、稳定性和属性方面都有显然的优势
D 集成安全权限框架shiro
  Shiro 是一个用 Java
语言实现的框架,通过一个简易易用的 API
提供身份验证和授权,更安全,更可靠
E 集成ehcache分布式缓存
  是一个纯Java的经过内缓存框架,具有便捷、精干等特色,广泛采用的开源Java分布式缓存。
F **集成微信接口开发,微信自定义菜单(匡助两个公众号)
G 图片爬虫技术:输入有图表的网址,能把此网页的图样爬取并下载到本地服务器
H SQL 编辑器,
襄助复杂sql语句(写入语句,查询语句),生成报表,能够导出excel

I  websocket 真正及时通讯技术
  即时闲聊、及时站内信并声音提示、实时在线管理、websocket及时刷新页面(完胜ajax技术)
J  redis 工具类接口,方便调用,并发能力强
K 多数据源(协助同时连接众几个数据库,可以不同的模块连接不同数的据库)扶助N个数据源
L  快递单号物流查询接口(不需要接纳物流公司,依照单号自动识别)
M 调用录像头拍照,自定义裁剪编辑头像,头像图片色度调节
N  **视频播放技术,视频弹幕技术,六个人即时通讯弹幕聊天**

  先看看假设老是错误等的拍卖,使用面向对象的点子来拍卖:

  2. 应用面向过程的法门

  【简单总计】

  简单的下结论一下上边的操作:

  大家也可以采用这种获取情势:

  我们拔取setFetchMode方法来安装获取结果集的重返值的体系,同样类型还有:

  假如程序中相遇错误如何是好?大家这里描述PDO类的错误新闻和非凡处理。


<?php
 $dsn = "mysql:host=localhost;dbname=test";
 $db = new PDO($dsn, ‘root’, ”);
 $count = $db->exec("INSERT INTO foo SET name = ‘heiyeluren’,gender=’男’,time=NOW()");
 echo $count;
 $db = null;
?>

  相应的,在代码中得以确切的调用 getFile() 和 getLine()来举办不当定位,更利于的进展调剂。

$db = new PDO($dsn, ‘root’, ”, array(PDO::ATTR_PERSISTENT => true));
<?
$db = new PDO(‘mysql:host=localhost;dbname=test’, $user, $pass);
$rs = $db->query("SELECT aa,bb,cc FROM foo");
if ($db->errorCode() != ‘00000’){
 print_r($db->errorInfo());
 exit;
}
$arr = $rs->fetchAll();
print_r($arr);
$db = null;
?>

**  如若大家想提取数据来说,那么就应当使用数据得到效率。(下边用到的$db都是地点已经连续好的目的)

  每回执行查询之后,errorCode()的结果都是流行的,所以大家可以很容易自己控制错误音讯突显。

  四回操作就这样简单,也许跟原先的远非太大分别,跟ADOdb倒是有几分相似。
**继续刺探】

<?php
$rs = $db->query("SELECT * FROM foo");
$result_arr = $rs->fetchAll();
print_r($result_arr);
?>

Array
([0] => Array(
 [id] => 1
 [0] => 1
 [name] => heiyeluren
 [1] => heiyeluren
 [gender] => 男
 [2] => 男
 [time] => 2006-10-28 23:14:23
 [3] => 2006-10-28 23:14:23
)
}

  1. 面向对象的不二法门

$count = $db->exec("INSERT INTO foo SET name = ‘heiyeluren’,gender=’男’,time=NOW()");
echo $count;
$db = new PDO($dsn, ‘root’, ”);
<?php
try {
 $db = new PDO(‘mysql:host=localhost;dbname=test’, $user, $pass);
 $db = null;
} catch (PDOException $e) {
 print "Error: " . $e->getMessage() . "<br/>";
 die();
}
?>
<?php
class PDOException extends Exception
{
 public $errorInfo = null; // 错误信息,可以调用 PDO::errorInfo() 或 PDOStatement::errorInfo()来访问
 protected $message; // 异常信息,可以试用 Exception::getMessage() 来访问
 protected $code; // SQL状态错误代码,可以使用 Exception::getCode() 来访问
}
?>

  不晓得啥意思,俺们来日趋讲讲。这行:

Array
(
 [0] => 42S22
 [1] => 1054
 [2] => Unknown column ‘aaa’ in ‘field list’
)

http://www.osedu.net/article/php/2011-05-16/223.html

<?php
$rs = $db->prepare("SELECT * FROM foo");
$rs->execute();
while($row = $rs->fetch()){
 print_r($row);
}
?>

  先看代码:

  当然,一般境况下我们是选取PDO::FETCH_ASSOC,具体应用什么,遵照你自己的急需,其他获取项目参考手册。

<?php
 foreach($db->query("SELECT * FROM foo")){
  print_r($row);
 }
?>

  先导化一个PDO对象,构造函数的参数第一个就是我们的数据源,第二个是连连数据库服务器的用户,第两个参数是密码。大家不可能确保连接成功,前边我们会讲到分外境况,这里咱们姑且认为它是接连成功的。

  PDO::CASE_LOWER — 强制列名是小写
  PDO::CASE_NATURAL — 列名按照原来的格局
  PDO::CASE_UPPER — 强制列名为大写

  假如想五回把数据都获拿到数组里可以如此:

  PDOException非常类的性质结构:

  从地点的应用看出,PDO效能确实强大,此外还有局部内容本身从不讲到,比如绑定参数、预处理、存储过程、事务处理等等效能。其余还有不同数额扩
DSN的构造,Oracle数据库自己许多卓绝的事物,都急需深远去上学精通,这篇著作就只是简短的描述了有的入门知识,算是对PDO一个简易的问询呢。

<?php
 $rs = $db->query("SELECT * FROM foo");
 while($row = $rs->fetch()){
  print_r($row);
 }
?>
$dsn = "mysql:host=localhost;dbname=test";

  【错误处理】

<?php
$rs = $db->query("SELECT COUNT(*) FROM foo");
$col = $rs->fetchColumn();
echo $col;
?>

  其余有六个广大的操作,一个是PDO::lastInsertId()和PDOStatement::rowCount()。
PDO::lastInsertId()是回去上次安插操作,主键列类型是自增的结尾的自增ID。PDOStatement::rowCount()重如果用于PDO::query()和PDO::prepare()举行DELETE、INSERT、UPDATE操作影响的结果集,对
PDO::exec()方法和SELECT操作无效。

  除了下边那种获取数据的法子,还有这种:

咱俩初叶布局第一个PDO应用,建立一个pdo.php文件在Web文档目录下:

  调用我们连年成功的PDO对象来执行一个询问,这一个查询是一个安插一条记下的操作,使用PDO::exec()方法会重临一个震慑记录的结果,所以我们输出那些结果。最终仍然需要收尾对象资源:

PHP中PDO快速入门教程

时间:2011-05-16 11:24:35  来源:  作者:

  默认这多少个不是长连接,假设急需多少库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT
=> true) 变成这样:

  这里运用我们PHP
5面向对象的非常处理特征,即使内部有分外的话就开始化调用PDOException来开首化一个特别类。

  我们看里面的笔录,数字索引和关联索引都有,浪费资源,我们只需要关联索引的:

  看下面的代码,setAttribute()方法是安装有些属性,首要性能有:PDO::ATTR_CASE、PDO::ATTR_ERRMODE等等,大家这边需要设置的是
PDO::ATTR_CASE,就是我们运用关联索引获取数据集的时候,关联索引是大写如故小写,有几个选项:

$db = null;
<?php
class Exception
{
 // 属性
 protected $message = ‘Unknown exception’; // 异常信息
 protected $code = 0; // 用户自定义异常代码
 protected $file; // 发生异常的文件名
 protected $line; // 发生异常的代码行号

 // 方法
 final function getMessage(); // 返回异常信息
 final function getCode(); // 返回异常代码
 final function getFile(); // 返回发生异常的文件名
 final function getLine(); // 返回发生异常的代码行号
 final function getTrace(); // backtrace() 数组
 final function getTraceAsString(); // 已格成化成字符串的 getTrace() 信息
}
?>

  一般采取fetchColumn()来举办count总括或者某些只需要单字段的笔录很好操作。

  那个这些处理类是集成PHP 5内置的要命处理类,大家简要的看一下PHP
5内置的不行处理类社团:

  其实差不多啦。假设你想赢得指定记录里一个字段结果的话,可以运用
PDOStatement::fetchColumn():

用 pdo
插入一条记下老是失误,又不象另外函数这样自动的会输出错误,查了刹那间才领会它的错误处理确实比较特别.

  PDO::FETCH_ASSOC — 关联数组情势
  PDO::FETCH_NUM — 数字索引数组情势
  PDO::FETCH_BOTH — 两者数组情势都有,这是缺省的
  PDO::FETCH_OBJ — 遵照目标的花样,类似于此前的
mysql_fetch_object()

  PDO和PDOStatement对象有errorCode() 和 errorInfo()方法,如果没有此外不当, errorCode() 再次回到的是: 00000
,否则就会回到一些错误代码。errorInfo()重临的一个数组,包括PHP定义的错误代码和MySQL的错误代码和错误信息,数组结构如下: