ProcessWire - 重新定义CMS

ProcessWire - 重新定义CMS
文章目录
  1. 环境要求
  2. 版本选择
  3. 开始安装

ProcessWire(PW)是一款基于PHP和MySql开发的CMS/CMF,完美兼容PHP5.3至PHP7,官方的Slogan是:

  • Build Bigger, Faster, Stronger, Easier.(让构建变得更大,更快,更强,更简单)
  • A friendly and powerful open source CMS with an exceptionally strong API.(一款友好、强大的开源CMS,还带了异常牛X的Api哦)

主要特性:

  1. 开发效率非常之高,得益于牛X的Api,正像官方宣传的那样
  2. 文档非常之全面,社区非常友好
  3. 学习成本非常低
  4. 多国语言支持
  5. 会员系统及权限控制

PW适合哪些人使用?

虽说是CMS,它更像是一款全栈式框架,要驾驭PW你需要有一定基础php知识,知道foreach/if else等基础语法的使用,理解$page->title这样的对象含义,PW的Api非常强大,强大到你不需要自己写一句sql语句就能实现无比复杂繁琐的SQL查询过程,一旦你驾驭了PW你会发现所向披靡,它真的可以做你想做的任何事情。

官方网站: https://processwire.com/
Github: https://github.com/processwire/processwire

服务器环境要求

PW对服务器配置要求非常低,一般虚拟主机都能胜任,服务端环境的要求:

  • Linux或Window系统,最好是Apache
  • PHP5.3.8以上,支持PDO模块(PHP 5.5+ 推荐,个人推荐PHP7)
  • MySQL或MariaDB, 5.0.15+ (5.5+ 推荐)
  • Apache开启mod_rewrite模块
  • Apache支持.htaccess文件
  • PHP GD2库(ImageMagick也支持)

当然,除了官方建议使用Apache外,还可以运行在Nginx和IIS上,社区中有人已经提供了Nginx的rewrite规则。

版本选择

从Github上或官方下载页下载文件PW安装包,需要注意的是根据官方提供了三个版本/Github分支:

  • 3.0.42 MASTER (稳定版)The newest version of ProcessWire.
  • 3.0.46 DEV (开发版)The newest development of ProcessWire (soon to be master).
  • 2.8.35 LEGACY (经典版)Just like the master version but without namespace.

需指出的是:开发版比较激进一些,最新的功能都会在这个版本上发布,最后经过测试迭代成稳定版,了解Github的朋友们应该对这个版本控制比较了解,而经典版(2.X)则是PW上一个版本的最终版,由于3.X开始PW已经开始使用namespace ProcessWire这样的命名空间了,所以在使用经典版开发不需要使用写namespace命名空间。

开始安装

已移步至:https://towait.com/blog/how-to-intall-processwire/

ProcessWire使用Hook创建页面初始化数据

默认ProcessWire在创建一个页面的时候会新建一个title和name还有template选项,点击保存后进入页面更多内容的数据保存页面。那么如何跳过这一步直接进入页面数据保存呢,按照下面的方法在ready.php中使用hook即可。

ProcessWire Hook的使用及常用的重要API

ProcessWire如何输出未格式化的数据?

ProcessWire验证用户名密码的方法

ProcessWire模板引擎中连接MySQL执行原生SQL查询的方法

使用ProcessWire连接任意数据库并执行原生SQL语句实现增删改查的方法。

ProcessWire图像上传的两种实现方法

用ProcessWire的Api实现图片的普通上传和Ajax方式上传。

ProcessWire使用API上传多个文件

ProcessWire使用API上传多个文件的实现方法。

ProcessWire Hanna code的使用

ProcessWire如何防御CSRF攻击?

CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,不做过多说明。本文以ProcessWire为例用token验证实现表单提交防CSRF攻击的方法。

ProcessWire:移除CKEditor中的style属性

在由word文档中的内容复制到CKEditor的时候会带了很多无效属性,要移除这些html无效属性只需要修改文件/site/modules/InputfieldCKEditor/config-body.js

Post Comment