使用WordPress程序搭建Web 应用开发框架有哪些优势?
WordPress 不是基于框架开发的,和通常的 Web 开发框架也不太一样,在本文中,我们将总结一下在常用 Web 开发框架中的常见功能,同时和 WordPress 做一个对比,找出这些功能在 WordPress 中的实现方法。那么使用WordPress程序搭建Web 应用开发框架有哪些优势?
PHP 是一门广泛使用的程序语言,同时也是一门广受争议的语言。PHP 学习曲线比较平缓,可以快速入门、上手使用,这通常造就了很多水平很初级的PHP 程序员,这些程序员开发出了安全性较低的程序。使用框架可以帮助我们解决一些常见的安全性错误。
每个程序员都有自己的代码风格,使用框架可以帮助团队成员保持相同的代码风格,遵循相同的标准和约定,使团队协作更加顺畅。
在一个 Web 开发框架中,我们通常会见到以下一些功能组件:
1.用户管理
2.模板引擎
3.错误日志
4.本地化
5.表单和数据验证
6.文件上传和媒体管理
7.图像处理
8.对搜索引擎友好的 URL 处理
9.Session 管理
10.Trackback, XML-RPC 和 APIs
11.通过 hook 和 类扩展框架
12.定时任务
13.缓存
WordPress 内置了上面的大多数功能,那么问题来了:为什么不能把 WordPress 作为一个 Web 开发框架来使用呢?下面是把 WordPress 作为一个 Web 开发框架使用的一些优势。即便你不打算使用 WordPress 开发应用程序,也可以稍微了解一下。
WordPress 作为框架使用的一些功能特性
1. 管理后台和仪表盘
WordPress 无疑拥有最方便易用的管理后台,这可能也是 WordPress 发展如此之快的原因吧,组织合理的菜单、仪表盘小工具、自适应设计等诸多特性使 WordPress 在后台用着体验上相比其他框架占有绝对优势。同时,我们可以很方便地添加自定义菜单,在后台为不同的数据创建相互分离的数据管理界面(基于自定义文章类型)。
仪表盘默认提供了一些使用小工具帮助我们概览网站的内容,根据需要,我们也可以创建自定义的仪表盘小工具,只需要几行代码就可以实现,如下:
// 输出内容到仪表盘小工具
function dashboard_widget_function() {
echo “你好世界,这是我的第一个自定义仪表盘小工具。”;
}
// 在 hook 中使用的功能
function add_dashboard_widgets() {
wp_add_dashboard_widget(‘dashboard_widget’, ‘Example Dashboard Widget’, ‘dashboard_widget_function’);
}
// 注册新仪表盘小工具到 ‘wp_dashboard_setup’ 动作
add_action(‘wp_dashboard_setup’, ‘add_dashboard_widgets’ );
2. 用户管理和访问控制
用户管理是每一个应用程序必不可少的一部分,WordPress 提供了基于角色和权限的用户管理和访问控制系统,并提供了很方便的 API 帮助我们扩展用户角色和权限。默认情况下,WordPress 提供了几个不同的角色:管理员(可以完全访问), 编辑, 贡献者和订阅者,通过给用户指定不同的角色,我们可以很方便的控制用户访问网站的不同部分。
3. 模板引擎
除了后端功能,前端样式也是一个项目的重要组成部分,WordPress 提供了大量调用数据和逻辑判断的函数,让我们可以直接使用 PHP 处理模板,开发者可以直接使用 PHP 函数展示数据,除了易上手之外,速度也不会受影响。这种方式不是标准的MVC 开发模式,却和 MVC 有异曲同工之妙。
4. 本地化
WordPress 内置了多语言的支持,同时也提供了动态的 CSS 类来帮助主题开发者很方便的设置网站语言阅读方向。对于有多语言站点需求的用户,有不少多语言插件来帮助我们把 WordPress 开发为多语言站点。
5. 插件
目前,WordPress 官方插件目录中有两万多个免费插件,同时也有数千个付费高级插件供有需要的开发者选用,插件扩展了 WordPress 的默认功能,这些功能包括缓存处理、sitemap 生成、集成第三方服务、多语言网站等等。
6. 缓存
缓存是任何一个基于 Web 的应用必不可少的一个重要组成部分,适当的缓存可以帮助我们减少服务器负载,加快网站访问速度。WordPress 默认提供了基于数据库的缓存方案,我们可以通过简单的设置开启,如果默认的缓存不够用,还有很多缓存插件来帮助我们实现更高级的缓存控制功能,甚至可以通过CDN 插件帮助我们部署静态文件到 CDN 网络上。
7. 对搜索引擎友好的 URL 处理
WordPress 默认支持基于 URL Rewite 的静态 URL 生成,我们只需要做后台简单的设置一下,就可以开启这个功能,把我们的 URL 转换成对 SEO 友好的 URL。
8. 文件上传和媒体管理
WordPress 的文件上传功能可能是所有开源 Web 程序中最好用并且是功能最强大的了,她并没有提供花哨的图片效果处理功能,而是提供了Web 开发中最常用的如:拖拽上传、缩略图生成、附加到文章、自动生成相册等等,同时还有管理所有已上传图片的功能。
9. Hooks, Actions 和 Filters
WordPress 提供了很多hooks 帮助开发者在适当的时机调用自定义功能,比如插入 CSS 和 JavaScript 文件到页面 head 标签中,添加 Banner 广告到文章底部等。
10. 错误日志
PHP 有一个标准的错误日志系统,我们可以在 wp-config.php 中加入以下几行配置来激活:
@ini_set(‘log_errors’,’On’);
@ini_set(‘display_errors’,’Off’);
@ini_set(‘error_log’,’/home/example.com/logs/php_error.log’);
11. XML-RPC 和 API
WordPress 支持 XML-RPC,可以让我们使用其他客户端远程发布网站数据,比如我们可以通过 Windows Live Write 或其他博客客户端发布或更新文章到 WordPress 站点。
12. 多实例
WordPress 还为我们提供了多站点模式,可以让我们在一个 WordPress 核心的基础上建立多个站点,我们可以使用这个功能建设多语言站点、基于国家的站点、或者开设之前站点的子站点。
虽然 WordPress 是作为一个博客程序诞生的,但是经过几年的快速发展,越来越多的功能被添加到 WordPress 核心,越来越多的用户开始使用 WordPress 建设杂志站点、企业网站、论坛、问答网站等各种类型的站点,从事实上,WordPress 已经被作为一个应用开发框架使用了。