你想过可以在 WordPress 中使用 Laravel 或者任意一种 PHP 框架吗? Corcel 可以帮你实现!

开发网站应用就应该是快捷并有趣的。当然了,每个应用都会有它自己的需求和生命周期。

WordPress 是基于 PHP 编写的功能强大的 CMS,你可以使用它非常快的创建你的产品。然而,它并没有遵循最近 PHP 的变化和约定,但是你可以将它与其他类似 Laravel 这样的框架一起使用来平衡这一点。

Corcel

我认为 WordPress 的后台管理面板很棒。它有一堆插件,可以让你快速地生成字段,文章类型,图片,作物等等。这真的很棒!

这就是为什么有了 Corcel ,它可以轻松让你从 WordPress 数据库中获取数据。你只需要使用 Composer 在你的 PHP 应用程序框架( Laravel 或其他框架)中安装 WordPress 和 Corcel 就可以了。

当然我们也可以在 WordPress 中使用 MVC !

你可以为你的 WordPress 搭建控制器、模型和视图。Corcel 为你创建了一个模型集合来检索文章、页面和菜单等,甚至还可以连接不同的数据库,一个用于 Laravel ,另一个用于 WordPress 。

<?php // File: /config/database.php
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'app',
'username' => 'admin'
'password' => 'secret',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
'wordpress' => [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'corcel',
'username' => 'admin',
'password' => 'secret',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => 'wp_',
'strict' => false,
'engine' => null,
], ],

下面开始从 WordPress 数据库中获取你所需要的东西:

<?php // File: /app/Http/Controllers/AnyController.php
// ...
public function index()
{
$posts = Post::published()->take(10)->get();
$page = Page::where('post_name', 'about')->first();
return view('posts.index', compact('posts', 'page'));
}
// ...

文章类型与自定义字段

不知道你是否使用过高级自定义字段功能( ACF )?在这里你也可以得到所有的自定义字段:

<?php
$post = Post::find(1);
$avatar = $post->meta->avatar;
$phone = $post->meta->phone;

你可以创建与自定义文章类型相关的自定义模型:


<?php
use Corcel\Post as Corcel;
class Service extends Corcel
{
protected $postType = 'service';
}

关于更多的功能,你可以直接在 GitHub 仓库中查看。

你可以在任何 PHP 框架中使用 Corcel,甚至是像 Slim,Silex 这样的微型框架。它可以让你获得所有 WordPress 管理面板数据,并可以让你使用自定义路由、控制器、模型和视图来组织你的项目。

来给 Corcel 一个机会吧,也欢迎大家给一些建议或者直接贡献代码,谢谢!

更多现代化 PHP 知识,请前往 Laravel / PHP 知识社区

[项目推荐] Corcel 让你在 WordPress 中使用 Laravel的更多相关文章

  1. Wordpress中文章的特色图像Featured Image究竟存在哪里?

    最近项目需要,分析了一下Wordpress的特色图像 Feature Image的上传.保存方式,这一分析觉得Wordpress的数据结构设计还真是有想法. 先简单说一下结论: Wordpress中图 ...

  2. 什么是WebP以及如何在WordPress中使用WebP图像

    图像通常是缓慢加载网页的最大原因之一.它们不仅减慢了加载时间,而且还可以占用服务器上的大量空间和资源.仔细选择文件类型并压缩它们有助于降低加载速度,但它们只能在图像质量受损之前进行优化.另一种选择是使 ...

  3. GitHub Vue项目推荐|Vue+Element实现的电商后台管理系统功能丰富

    GitHub Vue项目推荐|mall-admin-web是一个电商后台管理系统的前端项目基于Vue+Element实现 主要包括商品管理.订单管理.会员管理.促销管理.运营管理.内容管理.统计报表. ...

  4. GitHub Python项目推荐|瓦力Devops开源项目代码部署平台持续部署

    GitHub Python项目推荐|walle - 瓦力 Devops开源项目代码部署平台 项目热度 标星(star):8418 (很不错的实用项目,大神作品,建议关注) 标星趋势 关注(watch) ...

  5. GitHub Java项目推荐|功能丰富的 Java 工具包|提高开发效率

    GitHub Java项目推荐|功能丰富的 Java 工具包|提高开发效率 功能丰富的 Java 工具包.它帮助我们实现了常用的工具方法,从而减少代码的体积,提高开发效率.该项目最初是作者工作项目中的 ...

  6. Go优秀开源项目推荐

    前言 本文主要是收集Go语言开发的一些优秀项目和框架,个人见识有限肯定还有很多优秀的项目没有收录的,假如大家有好的Go项目可以在文末留言. Go优秀项目收集仓库 GolangFamily​github ...

  7. Github点赞超多的Spring Boot学习教程+实战项目推荐!

    Github点赞接近 100k 的Spring Boot学习教程+实战项目推荐!   很明显的一个现象,除了一些老项目,现在 Java 后端项目基本都是基于 Spring Boot 进行开发,毕竟它这 ...

  8. 升级CUDA版本导致VS2010错误:未找到导入的项目XXX,请确认<Import>声明中的路径正确,且磁盘上存在该文件

    转自:http://www.cnblogs.com/yeahgis/p/3853420.html VS2010错误:未找到导入的项目XXX,请确认<Import>声明中的路径正确,且磁盘上 ...

  9. 如何在WordPress中使用七牛云存储

    序:七牛云存储可以方便的将网站的图片等数据镜像到七牛云存储的空间,直接从云端将数据返回给用户.这样可以大大节省网站的空间,提升网站的访问速度. 真正显示一键实现WordPress博客静态文件CDN加速 ...

随机推荐

  1. 彻底弄懂CommonJS和AMD/CMD!

    JS中的模块规范(CommonJS,AMD,CMD),如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已. 现在就看看吧, ...

  2. 【网络】 应用&传输层笔记

    应用层 应用层常用的协议和各自对应的TCP/UDP端口: DNS TCP/UDP 53 HTTP TCP 80 SMTP TCP 25 POP UDP 110 Telnet TCP 23 DHCP U ...

  3. Android Intent 基本使用及对象构成

    Intent基本使用 Intent可以理解为不同组件通信的媒介或者信使. Intent可以启动一个Activity,也可以启动一个Service,还可以发起一个广播Broadcast. 具体方法如下表 ...

  4. 使用Listview控件显示数据

    1.图像列表控件 ImageList是含有图像对象的集合,可以通过索引或关键字引用该集合中的每个对象. ImageList空间的属性 属性 说明 Images 存储在图像列表中的所有图像 ImageS ...

  5. js中的类型转换

    先介绍一下 typeof 的使用方法: typeof(mix)   或者  typeof  mix 其中 mix 可以是任何数据类型 typeof 的返回值有六种:number.string.bool ...

  6. fetch()函数使用的一些技巧

    最近项目用到了一些es6的知识,其中大篇幅在vue框架中使用了fetch()函数,总结了一些使用的技巧: 一, 1,POST带参数)fetch提交json格式的数据到服务器: //fetch替换vue ...

  7. C第九次博客作业--指针

    一.PTA实验作业 题目1:两个4位正整数的后两位互换 1. 本题PTA提交列 2. 设计思路 3.代码截图 本题调试过程碰到问题及PTA提交列表情况说明 刚开始想到的交换是令t=a;a=b;b=t这 ...

  8. 需求分析&原型设计

    需求分析&原型设计 需求分析 访问软件项目真实用户 首先本项目的用户是这个需要做简单四则运算的用户(我们团队通过对家里有三四年级小学生(需要做简单四则运算)的简单采访):反映了几个主要的问题: ...

  9. RadioButton的图标改变大小(TextView也适用)

    RadioButton的图标大小并没有相应的布局参数,本文通过自定义属性的方式自定义RadioButton,实现控制图片大小. 本文要点: 自定义属性的使用. 解决RadioButton文字上.下.左 ...

  10. LeetCode & Q1-Two Sum-Easy

    Array Hash Table Question Given an array of integers, return indices of the two numbers such that th ...