当前位置:首页 > 教程 > 正文内容

从WordPress开发的角度历数WordPress的优势

2022-11-30 12:48:42教程13
WordPress 是一款非常流行的CMS,包含有用户管理和访问控制.世界上超过43%的网站都是基于WordPress搭建。很多人/团队都使用WordPress 来作为框架开发Web应用,今天就让我们从WordPress开发的角度历数一下WordPress的几大优势

0b40a9ef1fc549359115098b55660763

强大的用户管理能力User Management

正如同Yii,Yii有 Yii-User 同样CI框架也有 BackendPro .它们都提供了用户管理扩展来方便开发使用一样。WordPress 有一个非常优秀的用户管理模块,它包含了注册 登录 用户权限控制 权限的切换和创建。同时你还可以是使用Capability Manager这样的插件拓展你的用户管理特性,你无需为会话管理和安全问题而大伤脑筋.

管理面板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 Yii, Zend, CakePHP 都有十分强大的路由功能.  

缓存Caching

当你运营着一个百万用户的应用时,缓存将你是解决问题的重要手段. WordPress 拥有内置的 Transient API,它提供了数据库级别的缓存. 如果你在寻找更加高端的缓存项目,你可以尝试类似 W3 Total Cache 这样的插件. 通过这种方式管理缓存可以避免大量的开销 哦 当然大多数框架也有这个功能  Yii 和 Laravel, 都拥有比WordPress更加高效的缓存处理机制,在应用启动阶段就开始高效的运作过程.  

模板引擎WordPress Templates

WordPress Templates 是为你的内容服务的.如果你对MVC模式十分熟悉,你可以把模板近似理解为视图. 一个页面可以被定义为多个模板.也就是数据相同,样式不同. 对比其他框架, Laravel 和 Phalcon 都有非常卓越的模板引擎,其他一些框架也都有各自的实现  

MVC

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

社区, 支持和文档

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

结论

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

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/40867.html