基于 Laravel 的 WordPress MVC 主题应用开发框架 —— Themosis Framework
关于ThemosisFramework框架
我想和大家分享一个企业级的WordPress MVC开发框架,那就是ThemosisFramework框架。该框架使用了Laravel的一些组件,如Router、Container、Http、Event、View、FileSystem、Database等,来实现面向对象的WordPress应用开发,可以帮助我们大幅提高WordPress应用开发效率。如果我们需要为WordPress添加比较多的自定义功能,比如,在线购买、会员中心、推广返利,CRM应用等,可以尝试一下这个框架。
ThemosisFramework框架特性简介

首先来看一下 Themosis框架官方提供的架构图。从图中可以看出,Themosis库是整个框架的底层,然后在 Themosis库的基础上,把WordPress内核、ThemosisFramework框架、WordPress插件和通过Composer安装的第三方包有机的组合在了一起。然后,在这个组合的基础上进行WordPress主题开发,这些东西加在一起,就是一个基于Themosis框架的WordPress应用。
ThemosisMVC框架的实现原理
Themosis框架通过拦截WordPress默认页面路由或添加自定义路由,把用户请求转发到控制器。然后再结合模型和视图来构建基于WordPress主题或插件的应用程序。需要注意的是,如果我们没有通过自定义路由拦截WordPress默认的路由,WordPress默认路由还是按照自己默认的方式查找模版并显示。如果拦截了,WordPress页面则会按照我们指定的模版显示页面。这个特性兼顾了WordPress默认路由和模版,非常方便。
下面是一个代码片段,我们可以通过自定义路由来实现其中的自定义功能。
Route::get('users/{name}', function ($name) {
//获取用户名为$name的用户,$name变量是从URL中获取的
$user = Users::getByName($name);
//使用account/profile.blade.php模版文件渲染页面
return view('account.profile', ['user' => $user]);
});
Route::get('home', function ($post, $query) {
//使用pages/home.blade.php显示WordPress首页
return view('pages.home', ['posts' => $query->get_posts()]);
});
可以自由选择的模版系统
Themosis框架支持Laravel的Blade模版引擎和Twig模版引擎。我们在开发的时候可以自由选择,如果我们不想使用模版引擎,直接使用纯PHP来写模版也是可以的。下面的示例是Laravel Blade模版引擎的代码片段,使用方法和在Laravel中使用一样。
@extends('layouts.main')
@section('content')
<h1>账户</h1>
<p>欢迎{{$name}}</p>
@foreach($posts as $post)
<h2>{{$post->post_title}}</h2>
@endforeach
@endsection
面向对象的WordPress功能增强
Themosis框架可以通过内置的WordPress功能增强类,以面向对象的方式来快速设置自定义文章类型、自定义分类法、Metabox、自定义字段、管理页面、设置等等。相对于WordPress内置的函数,其使用起来更方便和清晰。虽然这种方法好用,但是学习成本有些高,如果不习惯,我们也可以使用WordPress的方式来实现上述自定义。
//添加文章类型
$books = PostType::make('books', 'Books', 'Book')->set();
//添加自定义Metabox
Metabox::make('Details', $slug)->set([
Field::text('isbn'),
Field::collection('gallery')
]);
//添加自定义分类法
Taxonomy::make('authors', $slug, 'Authors', 'Author')->set();
Packagist海量第三方库支持
因为可以使用Composer来安装PHP类库,我们可以添加Packagist中的任何第三方PHP库来为我们的应用添加功能支持。如通过下面的命令为框架添加Mailgun类。
$ composer require mailgun/mailgun-php
数据库ORM支持
Themosis框架目前虽然集成了Laravel的Database组件,但是并没有针对WordPress数据库添加对应的Model支持。虽然有些遗憾,但是因为可以很方便地使用Composer把第三方包加入框架中,我们可以使用Corcel来为框架添加完善的Eloquent ORM支持。
开始使用ThemosisFramework开发WordPress应用
Themosis官方网站提供了详细的使用文档,我们可以按照官方文档一步一步地开始使用Themosis框架开发WordPress应用。截止本文发布为止,我们已经使用这个框架开发了4个WordPress主题了,它确实可以在很大程度上提高WordPress应用开发的效率。

-
盘点2023年依然好用的4款WordPress轻社区主题 2023-05-29 08:00:54
-
盘点2023年最好用的三款wordpress知识库主题 2023-05-29 08:00:26
-
个人网站选择WordPress还是Typecho? 2023-05-28 23:33:13
-
wordpress建外贸B2C独立站的五大优势 2023-05-28 23:05:49
-
盘点2023年依然好用的3款wordpress文档主题 2023-05-28 23:02:19
-
盘点2023年依然好用的3款wordpress外贸网站主题 2023-05-28 22:59:41
-
盘点2023年依然好用的3款wordpress电商主题 2023-05-28 22:56:05
-
wordpress后台地址是多少(附:后台地址修改教程) 2023-05-28 22:54:15
-
盘点2023年依然好用的3款wordpress笔记主题 2023-05-28 22:51:13
-
开源wordpress主题:kratos 介绍 2023-05-28 22:47:46