使用Wordpress开发Web应用程序?

时间:2011-01-01 22:16:30

标签: php wordpress cakephp frameworks

我打算开发一个Web应用程序,它将为应用程序提供许多静态页面(关于,帮助,联系等)和其他动态页面。

大多数时候我使用CakePHP来开发我的任何应用程序但是对于这个项目我一直在考虑使用Wordpress作为我的应用程序的框架,原因是因为wordpress将很容易创建静态页面(易于写静态页面内容),因为wordpress中的用户注册已经存在(我不需要构建它)

但另一方面,cakephp对我来说很容易,我将专注于构建我的应用程序而不是学习新的框架。

让我知道您的想法?我应该使用wordpress作为我的应用程序的核心还是使用cakephp?

PS:我的应用程序主要是一个搜索引擎,使用Sphinx在数据库中查找大数据,并显示用户和其他一些简单的php(动态)页面的结果。

10 个答案:

答案 0 :(得分:13)

我阅读了很多关于为我的下一个项目决定基础框架的分析。以下是结论;

(ps:我从1年开始在Wordpress中大量编写代码,而且我是一名经验丰富的Web开发人员和软件架构师+ 18年)

参数1 - 'Wordpress是CMS /博客引擎,但不是应用程序框架'

就像说'微软是一家科技公司'。

这根本不是真的。 (是的,微软创造了良好的技术,但它是一家营销公司。例如:它的竞争优势不在于创造世界上最好的技术,而是将它成功地推向商业决策者。)

Wordpress是一个可靠的应用程序平台,CMS / Blog功能是包装盒中的默认应用程序。我认为Wordpress作为开发平台估计的主要原因1)自定义帖子类型/自定义字段功能是如此新鲜;我们还没有看到足够的应用程序对这些功能有2)与其他“低级平台”(例如Cake,Code Igniter等)相比,Wordpress社区中很大一部分是非技术人员(设计师,博主等)。因此非WP开发者社区不了解WP真的可以做什么。

参数2 - Wordpress不是基于MVC所以它不是一个可靠的开发平台。

抱歉,但这不是正确的。

MVC并不是每个人都应该遵循的新时代宗教。是的,它通过编码的结构方法简化了调试和开发。在一天结束时,这是一种方法(在许多其他方面),使您作为程序员的生活更轻松,并节省您公司的代码中嵌入的宝贵投资。

WP中的插件架构和基于主题的UI逻辑隔离对于许多目的而言已足够......

如果您仍坚持使用MVC方法,您可以这样做; WP MVC就像插件一样。

参数3 - Wordpress速度很慢,而且对于高流量网站而言,它无法扩展。

不正确。

是的,与硬编码的PHP代码相比,wordpress渲染页面的速度较慢(由于额外的流程执行过度)。但是,如果您依赖代码呈现性能以实现高可伸缩性,那么对不起,您对可伸缩性一无所知。

Wordpress附带了大量的缓存和性能插件,可以提供更好的网站性能,让您无法与自己的努力相匹配。

最后的结论;

我不想成为3.434.533开发人员为他的网站构建登录/密码恢复功能。这就是我选择WP的原因。

在一天结束时,我们的时间在这个世界上是有限的。

答案 1 :(得分:3)

要考虑的一个选项是设置WordPress来为您的静态页面提供服务(以避免花时间重新实现此内容的CMS)并使用CakePHP开发动态应用程序,这是您正在构建的内核

然后您可以在同一个域下托管它们,如果您为WordPress和CakPHP设置相同的页面结构/ CSS,那么它应该对用户无缝。

我的一个类似示例是运行WordPress进行内容管理的网站,以及一个论坛的PHPBB,两者的样式都看起来相同:

  

这意味着您必须维护2个主题主题(CSS和HTML)并使它们保持一致,但确实具有播放WordPress管理静态内容(关于页面)和基于时间的优势的优势内容(新闻文章)投入时间/投入少,让您有更多时间专注于为您的动态应用程序播放CakePHP优势,这是您正在构建的核心。

如果您主要使用WordPress,而不需要进行太多的自定义/开发,那么您应该能够以较低的学习时间让它快速运行,让您有时间专注于核心应用程序。

答案 2 :(得分:1)

如果您已经构建了数据库,我可能会使用CakePHP,因为您已经熟练使用CakePHP。

但是如果您正在创建数据库,可能需要考虑使用名为PODS CMS的Wordpress插件,该插件在Wordpress数据库中创建自己内容的自定义表(称为“pods”)。 / p>

PODS CMS插件受到大力支持,还有一个名为PODS UI的插件,可在内置的Wordpress Admin中工作(为表格/“pods”内容创建管理界面)。

如果您了解一些PHP(数组,对象,循环),PODS CMS易于使用,并且与使用Wordpress Codex时相比,您最终编写的代码更少。还有一些帮助程序可以让你编写与现有的Wordpress表结构(页面,帖子,类别,标签等)交互的SQL,除非你真的研究数据库,否则它会有点复杂。

Wordpress还提供了一种称为“自定义字段”的功能,但这通常并不理想,因为它只是将内容添加到现有的wordpress表中。但是如果您真的喜欢使用这些插件,自定义字段可以更好地使用大量Wordpress插件(如功能滑块和小部件等)。

所有这一切都说,Wordpress并不是最快的,根据你的设置(托管,wordpress缓存插件),你最终会得到一个非常慢的网站。如果您决定使用Wordpress,我会尝试获得推荐用于Wordpress的托管服务,并使用缓存插件加快速度(如WP Super Cache)。

答案 3 :(得分:1)

在管理端使用Wordpress来编辑文本内容(甚至是菜单)。但是使用自定义CakePHP应用程序输出该内容。

CakePHP可以直接从Wordpress database tables(或自定义视图)读取格式化内容。您需要定义新的数据库连接和新模型(例如Post)。

以下是一个示例实现:

/app/database.php 中的新数据库连接:

class DATABASE_CONFIG {
    // ...
    var $wp = array(
            'driver' => 'mysql',
            'persistent' => false,
            'host' => 'localhost',
            'login' => '<wp username>',
            'password' => '<wp password>',
            'database' => '<wp database>',
            'prefix' => 'wp_',
    );
}

/app/models/post.php 中的新模型:

class Post extends AppModel {
    var $primaryKey = 'ID';
    // could define relations
}

任何控制器现在都可以获取内容,例如:

class XxxController extends AppController {

    function index($postName) {
        $this->set('post', $this->Post->findByPostName($postName));
    }

}

视图可以简单地输出帖子的HTML内容:

<?php echo $post; ?>

这是一个更详细的例子http://code.google.com/p/cakephp-wordpress/

答案 4 :(得分:0)

也许这必须在webapps StackExchange上?反正。

Wordpress不是一个框架,而是一个CMS,它为您提供了一个管理内容的系统(内容管理系统)。如果您对应用程序没有特殊需求,Wordpress可能是正确的选择。

如果你需要php页面来显示动态加载的内容,我认为Wordpress不适合你。我想您已经知道如何使用CakePhp构建Web应用程序,那么为什么不使用它呢?如果你认为你需要一个不那么复杂的框架,我建议Toro(它与Kohana或CakePHP等框架无关;它非常非常简单)。

答案 5 :(得分:0)

我认为对于这个项目来说,CakePHP是最好的选择,因为你已经知道如何处理它,如果你用它开发了另一个web应用程序,你可以从那里获取一些代码来帮助你进行用户注册。其他部分,所以你不需要构建太多,你将能够专注于新应用程序的主要功能。

如果您想学习WordPress而不是开发新应用,请转到WordPress。学习新事物总是好的。

答案 6 :(得分:0)

使用Wordpress制作您的应用程序,并联系WP专家博主,让您成为使用Wordpress的“勇敢”之一。你可能会得到一些好的反向链接和一些宣传。

许多为任何类型的网站支持Wordpress的人都是这样做的,因为他们高度投资(当你花费大量时间学习技术时会发生这种情况)。这就是为什么你会对这样的问题得到很多强烈的意见。我看到它的方式,Wordpress只是一个很多PHP文件的汇编,如果你了解PHP,你知道如何使用它有利于你。如果它增加了价值(就像你说的那样,它具有会员功能),而不添加太多那么无关紧要,那么就使用它。否则,使用CakePHP保持简单。

答案 7 :(得分:0)

我知道这是一个老问题,但我想我会为那些希望在Wordpress页面中嵌入PHP应用程序的人发布一个替代解决方案(因此利用WP的所有CMS好东西而不必保留多个框架/主题)。基本上,您只需将应用转换为page template

即可
  1. 为您编写应用程序sans支持内容(页眉/页脚)
  2. 将以下代码添加到您的应用中:<?php /* Template Name: WhateverYouWant */ ?>
  3. 将其上传到您的/wp-content/themes文件夹
  4. 在Wordpress中创建新页面并将页面模板设置为WhateverYouWant
  5. 希望这有帮助!

答案 8 :(得分:0)

使用cakePHP作为框架,使用wordpress作为主干

答案 9 :(得分:0)

对我来说,最好的方法以及对我有用的方法已在WordPress官方文档here

中给出。

我只是在应用程序的所有PHP页面上添加以下这段代码

<?php
require('/the/path/to/your/wp-blog-header.php');
get_header(); 
?>

它可以正常工作。

此外,如果您想要WordPress页脚,只需追加

<?php
get_footer();
?>

访问这些文件。

感谢@Jesse展示了方式