这是一篇社区协同翻译的文章,已完成翻译,更多信息请点击 协同翻译介绍 。
你想过可以在 WordPress 中使用 Laravel 或者任意一种 PHP 框架吗? Corcel 可以帮你实现!
开发网站应用就应该是快捷并有趣的。当然了,每个应用都会有它自己的需求和生命周期。
WordPress 是基于 PHP 编写的功能强大的 CMS,你可以使用它非常快的创建你的产品。然而,它并没有遵循最近 PHP 的变化和约定,但是你可以将它与其他类似 Laravel 这样的框架一起使用来平衡这一点。
科大大 翻译于 4天前 0 重译 由 Summer 审阅Corcel
我认为 WordPress 的后台管理面板很棒。它有一堆插件,可以让你快速地生成字段,文章类型,图片,作物等等。这真的很棒!
这就是为什么有了 Corcel ,它可以轻松让你从 WordPress 数据库中获取数据。你只需要使用 Composer 在你的 PHP 应用程序框架( Laravel 或其他框架)中安装 WordPress 和 Corcel 就可以了。 科大大 翻译于 4天前 0 重译 由 Summer 审阅当然我们也可以在 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'));
}
// ...
科大大 翻译于 4天前
0
重译
由 Summer 审阅
文章类型与自定义字段
不知道你是否使用过高级自定义字段功能( 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';
}
科大大 翻译于 4天前
0
重译
由 Summer 审阅 关于更多的功能,你可以直接在 GitHub 仓库中查看。你可以在任何 PHP 框架中使用 Corcel,甚至是像 Slim,Silex 这样的微型框架。它可以让你获得所有 WordPress 管理面板数据,并可以让你使用自定义路由、控制器、模型和视图来组织你的项目。
来给 Corcel 一个机会吧,也欢迎大家给一些建议或者直接贡献代码,谢谢! 科大大 翻译于 4天前 0 重译 由 Summer 审阅
原文地址:medium.com/@jgrossi/la… 译文地址:laravel-china.org/topics/9829…
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。