我正在将我的网站从 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 帖子的简洁一致的方式。
与以下有关的任何意见/考虑?
- 应用程序性能
- 安全
- 有什么我没有考虑过的吗?
- 集成 wordpress 和 laravel 的更好方法?