将 Wordpress 移植到 Laravel-Json API vs Wordpress API


Porting Wordpress to Laravel - Json API vs Wordpress apis

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

Wordpress

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

理由

我已经构建了 wp 插件来实现基本级别的所需自定义,但是我觉得该网站已经超出了 wordpress。我真的需要一个 MVC 解决方案和我的 Web 应用程序的明确关注点分离,而无需将 OOP MVC 代码与 wp/过程代码混合在一起。

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

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

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

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

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

通过wordpress api访问WP

配置/应用程序.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帖子。

控制器/博客控制器.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);
    }
}

模型/博客.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的更好方法?

您应该尝试将WordPress的博客功能与Web应用程序的其余部分分开。除非有很好的理由将WordPress API集成到您的Web应用程序中(我猜您只想要博客/评论功能?),否则您将重复大量工作。

将您的博客外观设置为看起来像网站的其他部分,而只是将WordPress安装到一个单独的子域中,或者只是将其放入Laravel应用程序中的public/文件夹中,这有什么问题?

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

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

没有必要包含WordPress来访问API,WordPress附带了一个很棒的XML-RPC API。文档有时可能有点不足,但这不是一点 Googlefu 或阅读 XML 服务器源代码无法解决的!

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

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

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