你想過可以在 WordPress 中使用 Laravel 或者任意一種 PHP 框架嗎??Corcel?可以幫你實(shí)現(xiàn)!
開發(fā)網(wǎng)站應(yīng)用就應(yīng)該是快捷并有趣的。當(dāng)然了,每個(gè)應(yīng)用都會(huì)有它自己的需求和生命周期。
WordPress 是基于 PHP 編寫的功能強(qiáng)大的 CMS,你可以使用它非常快的創(chuàng)建你的產(chǎn)品。然而,它并沒有遵循最近 PHP 的變化和約定,但是你可以將它與其他類似 Laravel 這樣的框架一起使用來平衡這一點(diǎn)。
Corcel
我認(rèn)為 WordPress 的后臺(tái)管理面板很棒。它有一堆插件,可以讓你快速地生成字段,文章類型,圖片,作物等等。這真的很棒!
這就是為什么有了?Corcel?,它可以輕松讓你從 WordPress 數(shù)據(jù)庫中獲取數(shù)據(jù)。你只需要使用 Composer 在你的 PHP 應(yīng)用程序框架( Laravel 或其他框架)中安裝 WordPress 和 Corcel 就可以了。
當(dāng)然我們也可以在 WordPress 中使用 MVC !
你可以為你的 WordPress 搭建控制器、模型和視圖。Corcel 為你創(chuàng)建了一個(gè)模型集合來檢索文章、頁面和菜單等,甚至還可以連接不同的數(shù)據(jù)庫,一個(gè)用于 Laravel ,另一個(gè)用于 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 數(shù)據(jù)庫中獲取你所需要的東西:
<?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')); } //?...
文章類型與自定義字段
不知道你是否使用過高級(jí)自定義字段功能( ACF )?在這里你也可以得到所有的自定義字段:
<?php $post = Post::find(1); $avatar = $post->meta->avatar; $phone?=?$post->meta->phone;
你可以創(chuàng)建與自定義文章類型相關(guān)的自定義模型:
<?php? use?Corcel\Post?as?Corcel; class?Service?extends?Corcel { ????protected?$postType?=?'service'; }
關(guān)于更多的功能,你可以直接在 GitHub(https://github.com/corcel/corcel) 倉庫中查看。
你可以在任何 PHP 框架中使用 Corcel,甚至是像 Slim,Silex 這樣的微型框架。它可以讓你獲得所有 WordPress 管理面板數(shù)據(jù),并可以讓你使用自定義路由、控制器、模型和視圖來組織你的項(xiàng)目。
來給 Corcel 一個(gè)機(jī)會(huì)吧,也歡迎大家給一些建議或者直接貢獻(xiàn)代碼,謝謝!