>我正在将我的网站从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帖子的干净和一致的方式。
对以下内容有何意见/考虑?
- 应用程序性能
- 安全
- 有什么我没有考虑过的吗?
- 整合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重新创建博客功能。
我会说试一试。我还没有尝试过,但当我有时间时肯定会尝试。