[项目推荐] Corcel 让你在 WordPress 中使用 Laravel

翻译 Summer ⋅ 于 3个月前 ⋅ 最后回复由 ayauper 1个月前 ⋅ 1104 阅读 ⋅ 原文地址
这是一篇社区协同翻译的文章,已完成翻译,更多信息请点击 协同翻译介绍

file

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

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

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

科大大 翻译于 3个月前

Corcel

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

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

科大大 翻译于 3个月前

当然我们也可以在 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'));
}
// ...
科大大 翻译于 3个月前

文章类型与自定义字段

不知道你是否使用过高级自定义字段功能( 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';
}
科大大 翻译于 3个月前

关于更多的功能,你可以直接在 GitHub 仓库中查看。
你可以在任何 PHP 框架中使用 Corcel,甚至是像 Slim,Silex 这样的微型框架。它可以让你获得所有 WordPress 管理面板数据,并可以让你使用自定义路由、控制器、模型和视图来组织你的项目。
来给 Corcel 一个机会吧,也欢迎大家给一些建议或者直接贡献代码,谢谢!

科大大 翻译于 3个月前

原文地址:https://medium.com/@jgrossi/laravel-and-...

译文地址:https://laravel-china.org/topics/9829/pr...


本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

本帖已被设为精华帖!

文章译者

回复数量: 4
  • chenos 寻找靠谱的远程开发团队 3
    3个月前

    @Summer 标题的翻译有偏差,原文是 Laravel and WordPress together with Corcel。不逐字翻译,翻译成《Corcel 让你在 Laravel 中使用 WordPress》更准确,其实不仅是 Laravel 甚至可以是 any php application,但是关键的重点是在其他框架中使用 WordPress,而不是在 WordPress 中使用 Laravel。

  • Summer MOD A Life-long learner.
    3个月前

    @chenos 核心 是 Wordpress,数据结构和后台等都是 Wordpress,Corcel 只是扮演前端数据读取的角色。

    从使用场景上讲,一般是客户有一个 Wordpress 站点需要二次开发,招募你,而你更加喜欢使用 Laravel 开发,所以使用 Corcel 以便在 WordPress 中使用 Laravel 。

    没啥毛病。

  • chenos 寻找靠谱的远程开发团队
    3个月前

    @Summer 更准确来说,Corcel 是一个基于 Eloquent 实现的 WordPress ORM。Eloquent 能用在哪里,那作为 WordPress ORM 的 Corcel 就能用在哪里。

    Corcel 的好处是让项目脱离了笨重的 WordPress 代码, WordPress 只做后台数据管理,其他部分可以用任意 MVC 框架来做。不仅仅是 Laravel ,还可以是 Lumen 甚至是 Slim 或者其他框架。

    所以核心来说,使用 WordPress 数据,而不是使用 WordPress 框架,再准确点翻译可以叫 《Corcel 让你在 Laravel 中使用 WordPress(数据)》

    就个人体会来说,在 WordPress 项目中只使用 Eloquent 比较鸡肋,但是在 Laravel 项目中有调用 WordPress 数据的需求时,Corcel 就很方便了。

  • ayauper
    1个月前

    做外包,简单开发是可以的

暂无评论~~
您需要登陆以后才能留下评论!

Composer 中国全量镜像

Top 100 扩展包

Lumen 中文文档

Laravel 速查表

Laravel 中文文档

Laravel 项目开发规范

Laravel 开发环境部署

Elasticsearch-PHP 中文文档

Lumen 中文文档

GraphQL PHP 中文文档

社区文档撰写指南

TDD 构建 Laravel 论坛笔记

PHP PSR 标准规范

PHP 设计模式全集

Dingo API 中文文档