Laravel集成WordPress扩展包——Corcel

Corcel是一个可以适用于Laravel框架的集成Wordpress的扩展包,使用wordpress的后台发布文章,通过它的接口可以在Laravel中方便的调取文章等,试用了一下,安装和使用也非常简单。

Corcel的Github地址:https://github.com/jgrossi/corcel

这里讲一下大概的过程,具体的安装和使用见github主页上的说明。

一、数据库迁徙

需要把Wordpress的数据库迁徙到Laravel的服务器上,也就是新建一个数据库,放wordpress的数据表。

在laravel的config/database.php配置文件的connections数组中,添加wordpress数据库的定义。

在阿里云CentOS上通过wget方式下载sql文件,并使用source导入sql文件到数据库,请见:wget和source导入sql文件

二、新建model类

要使用Corcel扩展包的功能,需要使用model类,这个类继承Corcel的类,如在Models文件夹下新建了一个Wp.php的模型:

<?php
 
namespace App\Models;
 
use Corcel\Post as Corcel;
 
class Wp extends Corcel
{
    protected $connection = 'wordpress';
}

这里通过connection的属性定义了要连接的数据库,并且继承Corcel\Post类,实现Corcel提供的各种接口。

三、测试Laravel调取Wordpress文章

新建一个TestController的控制器,在控制器中写个测试方法:

PHP

//laravel查询wordpress文章
public function testWp()
{
    $post = Wp::find(9569);
    echo $post->post_title;
}
增加路由规则:

PHP

1
Route::get('/test/wp', ['uses'=>'TestController@testWp']);
在浏览器中打开,可以看到效果,读取到了wordpress数据库中的文章,并且输出文章标题。

更多用法请见Corcel扩展包Github主页。

补充:

重写getUrlAttribute方法:

为了方便获取博客文章的真实url,而不是形如http://www.111cn.net /?p=9562这样的url,真实的url是http://www.111cn.net /2016/03/laravel-wordpress-corcel/这样的,只需要在新建的Model中重写扩展包vendor/jgrossi/corcel/src/Post.php的getUrlAttribute方法即可,Like this:

<?php
 
namespace App\Models;
 
use Corcel\Post as Corcel;
 
class Wp extends Corcel
{
    protected $connection = 'wordpress';
    protected $domain = 'http://blog.tanteng.me/';
 
    //重写获取wordpress文章url方法
    public function getUrlAttribute()
    {
        return $this->domain.date('Y/m/',strtotime($this->post_date)).$this->slug.'/';
    }
}
在控制器中打印:

//laravel查询wordpress文章
public function testWp()
{
    $post = Wp::find(9569);
    //dd($post);
    echo $post->post_title;
    echo '<br>';
    echo $post->url;
}

时间: 2024-08-07 22:16:38

Laravel集成WordPress扩展包——Corcel的相关文章

Laravel 中通过 Artisan View 扩展包创建及删除应用视图文件

1.简介 本扩展包添加了两个视图相关的Artisan命令到Laravel应用,以便我们通过Artisan命令即可创建和管理视图文件,可谓是进一步解放了生产力. 2.安装 还是通过Composer安装: composer require sven/artisan-view 安装完成后到config/app.php中注册服务提供者ArtisanViewServiceProvider到providers数组: // config/app.php 'providers' => [     ...    

Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解

前言 Intervention/image 是为 Laravel 定制的图片处理工具, 它提供了一套易于表达的方式来创建.编辑图片. Demo 代码请见: Github:https://github.com/zhengjinghua/est-image-demo 本地下载:http://xiazai.jb51.net/201711/yuanma/est-image-demo(jb51.net).rar Demo Demo 截图 Demo 运行 请参照文档 如何利用 Homestead 快速运行一

Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法

本文实例讲述了Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法.分享给大家供大家参考,具体如下: 1.简介 本扩展包添加了两个视图相关的Artisan命令到Laravel应用,以便我们通过Artisan命令即可创建和管理视图文件,可谓是进一步解放了生产力. 2.安装 还是通过Composer安装: composer require sven/artisan-view 安装完成后到config/app.php中注册服务提供者ArtisanViewServiceProv

npm为安全性发布了企业版扩展包和许可证

npm发布了企业版扩展包,首次使开发者们直接集成第三方工具成为可能. npm企业版的总经理Ben Coe告诉InfoQ: 思考:一个安全厂商的绿色选择框证实代码是安全的:一个许可证审核工具提醒一个包的依赖基于GPL:一个CI工具监听着依赖的更新并警告什么应该中断-- 在npm的博客文章<为npm企业版引入扩展包>中,Coe说npm企业版会公布一个让第三方开发者能够直接在npm企业版产品上编译的API. 为了解释这背后的驱动因素,Coe说扩展包有"能力将你的开发工作流中分离的部分整合进

运用REST API集成及扩展IBM Rational Team Concert

简介:从 IBM Rational Team Concert 2.0 开始,REST API 得到了正式地支持(实验版发布在RTC 1.0.1).虽然目前 REST API 提供的功能还比较有局限,但对于一般的集成需求已经足够,而且对于 REST API 的增强在后续版本中会不断推出.本文将引领读者了解在 RTC 2.0.0.2 中 REST API 所提供的 功能以及相关概念.并且提供了一个 Java 实现的 RTC REST API 客户端程序供读者参考. IBM Rational Team

数据层扩展包EFCachingProvider 总结

  前不久学习了<EFCachingProvider>,该扩展包不但可以用于EntityFramework的扩展,所有与数据库连接相关的应用程序都可以使用类似的方案进行扩展.今天做个小的总结,以方便以后回顾.   总体描述     关于EFCachingProvider是什么及如何使用它,请看园子的这篇文章:< Entity Framework 缓存处理与日志监控 >.我主要说一下内部代码实现的原理机制.     园子文章的图中,画出了EFCachingProvider所扩展的位置

c++-用C++程序处理数据,并根据处理结果出动画,需要用什么配合的软件或者扩展包比较简单?

问题描述 用C++程序处理数据,并根据处理结果出动画,需要用什么配合的软件或者扩展包比较简单? 用C++程序处理数据,大概是些坐标啊什么的,然后根据处理后的结果,结合载入的open street map 地图,画出一段时间的移动轨迹,这个需要的基于时间线的二维动画技术,用什么配合VC好呢? 是软件?还是扩展程序包什么的? 能说的更详细点就好啦! 谢谢! 解决方案 如果是偏向数学,用matlab更好,偏向图形,那就用opengl,gdiplus 解决方案二: 推荐使用opencv吧,动画可以用op

VirtualBox 扩展包卸载或安装失败(VERR_ALREADY_EXISTS)

       最近在卸载VirtualBox出现了无法卸载的错误.提示为Failed to install the extension. The installer failed with exit code 1: VBoxExtPackHelperApp.exe: error: Failed to rename the extension pack directory: VERR_ALREADY_EXISTS.  而且也无法再次成功安装.本文是对此给出的描述及其解决办法.   1.故障描述  

【COCOS2DX-LUA 脚本开发之九】使用COCOS2DX-LUAPROXY便捷LUA项目快速使用COCOS2DX引擎EXTENSIONS扩展包

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/lua-game/1322.html 首先很多童鞋可能对于 cocos2dx-LuaProxy 不太熟悉,那么Himi简单的一句话进行叙述: cocos2dx-LuaProxy 的作用主要是让cocos2dx引擎的扩展包(extensions)binding到Lua,便于做cocos2dx-lua项目开发者们. 这里先附上cocos2dx-L