wordpress开发指南,使用wordpress作为开发框架,wordpress开发框架功能,wordpress对比主流开发框架


WordPress 是一款非常流行的CMS,包含有用户管理和访问控制.很多流行的网站都是建立在以WordPress为后台的基础之上  而及时的更新 优秀的社区 丰富的文档 以及很好的论坛支持,让WP继续向前快速发展.


说到WordPress,很多人都在第一时刻想到这是 博客或者 内容管理系统,这样的看法实在是有些片面了. 你知道吗 使用WordPress 作为框架 来开发web应用 同样十分优秀?


这里有一些非常棒的理由让你去为开发web而选择一款框架.那么让我们来见识一下WordPress作为一款开发框架,又有哪些特性?


社区, 支持和文档


WordPress 有非常好的社区和论坛支持. 无论是安装 设置 开发或者其他的问题,都能通过社区得到很好的解答. WordPress Codex 是一个会及时更新的wiki。 在你学习一门语言或者一个框架的时候,文档是你首先需要的,Codex 就是最好的文档 .当然其他的框架往往也会提供这些文档 这对于一款框架是十分必要的


用户管理User Management


WordPress 有一个非常优秀的用户管理模块,它包含了注册 登录 用户权限控制 权限的切换和创建.你还可以是使用 Capability Manager 这样的插件拓展你的用户管理特性,你无需为会话管理和安全问题而大伤脑筋.


如果我们来看一些其他的一些有用户管理的框架,那就举例看Yii,Yii有 Yii-User 同样CI框架也有 BackendPro .它们都提供了用户管理扩展来方便开发使用


管理面板Admin Dashboard


谁不希望拥有一个有强大的后台管理面板,能够轻松的控制前端的内容? WP 提供了你在后台管理时可能用到的大多数功能项,你为了更开发的需求,可以创建自定义配置的页面 。一个额外的优势就是 你不用担心后台的样式设计,WP 可以在后台设置样式.


管理面板在其他的框架中也是很重要的一部分。Symfony 和Yii 都提供了相应的扩展,你可以生成管理UI,但是你需要做更多的事情来完善.


CRUD (Create Read Update Delete) 数据库操作


很多人都希望一个框架能够帮助他们完成基础的工作,为开发者准备好需要的功能.


让我们从现实世界中的应用,来探索WordPress的优点, 所有的事物都是 post. 一本书是 post, 一个人是post, 一个被抽象的实体也是 post. WordPress 将它们都视为 Custom Post Types.


先看一个书的例子。你告知WordPress你希望创建一个名称为“书”的内容类型 ,你会自然的操作CRUD去完成你想做的事



  • Add / Update Book – This will be the default WordPress post edit screen for adding / updating books.

  • View / Delete Books – This will be the book listing page with delete option as well.



add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type
( 'book',
array
(
'labels' => array(
'name' => __( 'Books' ),
'singular_name' => __( 'Book' )
),
'public' => true,
'has_archive' => true,
)
);
}

上面的代码片段实现了内容的创建,你不用写SQL语句就能实现这一切.


那么其他框架呢?Considering other frameworks, Yii 有一个非常好用的模块 CRUD Generator 但是对于这些框架,你还需要做为数据和操作做更多的考虑和工作.


上传和资源管理Uploads and Media Management


文件上传和资源管理是框架必须有的,同样也是一款应用必备的。 WordPress 提供了资源管理库,能够方面的完成文件上传和资源管理 .


WordPress image 函数运行用户在前端使用和再定义上传好的图片.你还可以在后台控制图片在前端的展示.


再对比其他的框架没有一个像WordPress 这样提供功能强大的文件管理,除非你研究大篇幅的文档,然后再自己编写相应的功能


可扩展性 Extensibility and scalability


从开发者的角度来看 扩展性是每个框架最重要的部分. Hooks 和 Filters 是让WordPress的开发功能强大的重要元素.


过滤 Filters


如果你想要改变函数默认的输出,显示按照自定义的过滤条件过滤 只展示你希望展示的内容. 

假设你管理这一个卖书的网站,你想让每本书的价格都涨10块钱,那么你可以写下面的一点代码.



add_filter('book_price','custom_book_price');
function custom_book_price($book_price){
$book_price
= $book_price + 10;
return $book_price;
}

这样在视图展示中 每一个书都会加10 块钱. Filters 是框架和模板引擎重要的部分.


钩子 Hooks


钩子函数独立存在往往意义不大,主要用于在特殊的节点来被WordPress调用. 你可以认为它们是触发器.假设你想在应用中有新内容加入的时候得到邮件通知.你就可以在publish_post 钩子上加一个自定义的函数.


add_action('publish_post','custom_mail_admin');


现在你就可以定义 custom_mail_admin 这个函数,它会在内容发表时被自动调用


Hooks and Filters 是强大组合,这是为什么那么多公司使用WordPress作为开发框架的原因.


路由和SEO URL Routing and SEO Friendly URLs


大家都知道URL规则对于SEO是多么的重要, WordPress 用于Permalink 功能,让你根据自己的需要为内容设置想要的URL.


URL 重写在web应用中也扮演这很重要的角色,它解决了URL过长和不易读的问题. 像其他框架一样, WordPress 提供了 Rewrite API ,你可以调整URL结构和自定义想要的URL.


绝大多数框架都提供了URL路由,比如 Laravel YiiZendCakePHP 都有十分强大的路由功能.


缓存Caching


当你运营着一个百万用户的应用时,缓存将你是解决问题的重要手段. WordPress 拥有内置的 Transient API,它提供了数据库级别的缓存. 如果你在寻找更加高端的缓存项目,你可以尝试类似 W3 Total Cache 这样的插件. 通过这种方式管理缓存可以避免大量的开销


哦 当然大多数框架也有这个功能  Yii 和 Laravel, 都拥有比WordPress更加高效的缓存处理机制,在应用启动阶段就开始高效的运作过程.


模板Templates


WordPress Templates 是为你的内容服务的.如果你对MVC模式十分熟悉,你可以把模板近似理解为视图. 一个页面可以被定义为多个模板.也就是数据相同,样式不同.


对比其他框架, Laravel 和 Phalcon 都有非常卓越的模板引擎,其他一些框架也都有各自的实现


MVC


 

对比其他的框架 WordPress 已经占有绝大多数的功能特性,那么MVC呢?  在今天大多数的框架都是遵循MVC的模式开发的。的确, WordPress 并没有完全遵照这个规则去设计后端功能。假如你想让WP也按照这个模式你需要研究一下 WP MVC 和 Tina MVC.

 

结论


WordPress 并不是说就是其他框架的替代方案,但是它提供了更多的选择,包含了其他框架中没有的一些功能.当然有一件事是不能忽视的那就是性能和开销,由于你不可能完全需要重新设计特定的应用程序,你只是想在某个点开发一个功能,那么WordPress 就不光是一个“CMS”,它一样可以媲美一些最好的框架