2

我正在将我的网站从 Wordpress 迁移到 Laravel 4,因为该网站已经不再是博客,并且需要更多的企业和自定义功能。

Wordpress 的博客功能非常棒,我想继续使用 Wordpress 来实现这个功能,让它做它本机最擅长的事情。

理由

我已经构建了 wp-plugins 以实现所需定制的基本级别,但是我觉得该网站已经超出了 wordpress。我真的需要一个 MVC 解决方案和一个清晰的 webapp 关注点分离,而不需要将 OOP MVC 代码与 wp/过程代码混合。

我不介意有 2 个登录名 - wordpress 后端和 laravel 后端...

显然,我希望网站的博客部分看起来与网站的主要部分相同。

我希望通过将 Wordpress 的安装保留在主应用程序 Laravel 的单独文件夹中来实现这一点。

从这里,我有两个选择,从 laravel 中加载 wordpress 并使用 wordpress api,或者公开一个 json-api 或类似的博客。

这将提供额外的好处,允许我创建 Android / IOS 应用程序并在主站点和移动设备之间共享内容。

通过 wordpress api 访问 WP

config/app.php - 示例

...
define('WP_USE_THEMES', false);
require_once(Config::get('app.wp_path') . '/wp-load.php');
wp();
....

这将使我能够通过 wordpress api 访问帖子。

通过 json-api 插件访问 WP

使用这个插件,我将能够创建一个博客模型并通过 curl 和 json 请求查询 wordpress 帖子。

控制器/BlogController.php - 示例

class BlogController extends BaseController {
    public $restful = true;
    public function getIndex() {
        $data['posts'] = Blog::getPosts(1);
        $data['page'] = 1;

        return View::make('blog.index')->with($data);
    }
}

模型/Blog.php - 示例

public static function getPosts($page = 1)
{
    // get data from specified url via curl
    $url = "http://domain.com/api/get_posts/?page=" . $page;
    $posts = self::curl($url);   
    return $posts;
}  

问题

目前,由于未来的可扩展性等原因,我喜欢公开 json-api 的想法。此外,wordpress 只会在需要时加载。

我也喜欢在 Laravel 应用程序中访问和显示我的 wp 帖子的简洁一致的方式。

与以下有关的任何意见/考虑?

  1. 应用程序性能
  2. 安全
  3. 有什么我没有考虑过的吗?
  4. 集成 wordpress 和 laravel 的更好方法?
4

2 回答 2

1

您应该尝试将 WordPress 的博客功能与您的 web 应用程序的其余部分分开。除非确实有充分的理由将 WordPress API 集成到您的 web 应用程序中(我猜您只想要博客/评论功能?)否则您将付出很多努力。

让你的博客皮肤看起来像网站的其他部分,只是将 WordPress 安装到一个单独的子域中,或者只是将它放入public/Laravel 应用程序内的文件夹中,这有什么问题?

如果你需要一个 json-api,你可以在你的 Laravel 应用程序中围绕现有的 WordPress API 创建一个包装器(每个版本的 WordPress 都会变得更好)。

正如您所说,WordPress 的博客功能令人惊叹。那么,您为什么要尝试通过创建新界面来复制它们呢?这似乎是在浪费宝贵的时间。

无需包含 WordPress 即可访问 API,WordPress 附带了一个很棒的XML-RPC API。文档有时会有些欠缺,但是一点Googlefu或阅读XML服务器的源代码都解决不了!

于 2013-11-21T07:43:48.900 回答
0

这个话题可能有点过时了。但我最近遇到了这个 repo

这家伙使用 Wordpress 的后端和前端(主要是)Laravel。它真的很容易设置,并且有用于基本内容(帖子、页面等)的模型。通过这种方式,您可以轻松地从 Wordpress 重新创建博客功能。

我会说试试看。我还没有尝试过,但当我有时间的时候肯定会。

于 2014-08-09T10:35:46.290 回答