你有想過可以在 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(https://github.com/corcel/corcel) 倉庫中查看。
你可以在任何 PHP 框架中使用 Corcel,甚至是像 Slim,Silex 這樣的微型框架。它可以讓你獲得所有 WordPress 管理面板數據,並可以讓你使用自訂路由、控制器、模型和視圖來組織你的專案。
來給 Corcel 一個機會吧,也歡迎大家給一些建議或直接貢獻程式碼,謝謝!