首页 > CMS教程 > &#&按 > 首先查看Themosis,这是WordPress开发人员的框架

首先查看Themosis,这是WordPress开发人员的框架

Lisa Kudrow
发布: 2025-02-19 11:13:15
原创
956 人浏览过

themisos:一种现代的WordPress开发方法

>我对WordPress纠结的代码库的鄙视是众所周知的。我建议不要使用它,除非您在技术上熟练。但是,我的批评源于人们对改进的渴望,希望将出现出色的替代方案,并提供更合乎逻辑,更有效的发展过程。 在我看来,任何简化WordPress的尝试都是积极的一步。

>

最近,一个名为Themosis的项目浮出水面,被称为“ WordPress开发人员的框架”。本文探讨了它的病,其用法,并检查了其示例项目 - 书店应用程序。

键突出显示:

Themosis是一个新颖的项目,设计为WordPress开发人员的框架,旨在简化开发并将结构强加于WordPress的混乱插件体系结构。
    与传统框架不同,它是与WordPress集成以增强发展的API。它使开发人员能够使用现代PHP功能(名称空间,类,匿名功能)和作曲家构建WordPress组件。
  • >
  • > themiss的安装依赖于作曲家和WordPress命令行工具。 作曲家创建了一个Interisos项目,自动合并了最新的WordPress版本。 标准的WordPress安装脚本完成了设置。
  • > themis病仍处于早期阶段(待定版1.0版)。尽管年轻,但即使在WordPress核心的限制内,它也表现出了在PHP生态系统中促进更好的设计实践的前景。
  • 理解themisosion

>“框架”一词可能会误导PHP开发人员。 WordPress已经包含许多不必要的组件。框架通常遵守简约的原则和脱钩的组件,并构建了复杂的应用程序,而不是相反。First Look at Themosis, a Framework for WordPress Developers 从传统意义上讲,

主题不是一个框架。这是与WordPress集成以简化开发的API,但不一定会降低其尺寸。 Themosis提供了使用现代PHP创建WordPress组件的API,包括名称空间,类,匿名功能和作曲家支持。

>

从本质上讲,Themosis是一种由MVC驱动的,启发的WordPress插件,用于构建其他插件。它包括其自己的路由器(Laravel风格的路线定义)和模板引擎(SCOUT),类似于Laravel和Phalcon,并增加了WordPress支持。 例如,模板循环:

>利用WordPress API进行数据检索,并且

类是专门为WordPress内容循环设计的。
@loop(array('post_type' => 'post', 'posts_per_page' => -1))

    <h1>{{ Loop::title() }}</h1>
    <div>
        {{ Loop::content() }}
    </div>

@endloop
登录后复制
登录后复制
登录后复制

安装Loop

> themissis安装涉及作曲家和WordPress命令行工具。 用作曲家自动创建一个Themosis项目,包括最新的WordPress版本;标准WordPress安装脚本最终确定了设置。 请参阅官方安装说明,或者首先对示例项目进行实验(下面详细介绍)。

>

>示例项目:书店应用

>

Themosis提供了一个书店应用程序示例。

测试书店应用

进行测试,您可以改进宅基地。注册一个新网站:

@loop(array('post_type' => 'post', 'posts_per_page' => -1))

    <h1>{{ Loop::title() }}</h1>
    <div>
        {{ Loop::content() }}
    </div>

@endloop
登录后复制
登录后复制
登录后复制

请记住将bookstore.local添加到主机的/etc/hosts文件中(按照宅基地改进的说明)。

克隆存储库(

),然后访问git clone https://www.php.cn/link/7101e4daaff4511510bbd4e6a0862fb7 themosis_example>的安装过程。 按照说明进行操作。 此设置允许实验没有风险 - 简单地重建VM以恢复任何更改。 http://bookstore.local:8000

First Look at Themosis, a Framework for WordPress Developers 虽然初始外观不是开创性的(任何WordPress网站都可以采用类似的配置),但两个关键观察值脱颖而出:>

设置非常快速,直接。

    的性能非常快,考虑到themisos的额外层访问WordPress API。
  1. 代码考试

书店的代码位于github上:。 由于themisis是一个插件,因此书店的代码位于其插件目录中:>

存在三个主要子文件夹:

(themosis驱动的wordpress逻辑),

(themosis源代码 - 与其他框架相关)和First Look at Themosis, a Framework for WordPress Developers (作曲家依赖关系)。

>

>代码包含现代实践(名称空间,类,综合文档)时,仍然存在较小的过时元素(例如,app,关闭PHP标签)。 src> Themosis代码分布在两个位置:路由和演示文稿位于主题中,而应用程序逻辑则位于插件文件夹中。vendor

<?php defined('DS') or die('No direct script access.');

MVC结构

尽管可以改进两个父文件夹的碎片,但MVC结构的定义很好。

文件夹(类似于Laravel)使用可比的语法。控制器与视图分开,并且控制器使用模型,将数据传递给视图。 routes>的示例:home.controller.php

@loop(array('post_type' => 'post', 'posts_per_page' => -1))

    <h1>{{ Loop::title() }}</h1>
    <div>
        {{ Loop::content() }}
    </div>

@endloop
登录后复制
登录后复制
登录后复制
>视图使用dot符号进行遍历(例如,

映射到pages.home>)。app/views/pages/home.scout.php>

参数路由

路由很简单。 例如,搜索页面直接使用WordPress的搜索功能:

- map: bookstore.local
      to: /home/vagrant/Code/themosis_example
登录后复制
这种方法抽象WordPress固有缺陷的搜索功能,促进更容易的替换。

创建一个自定义页面

>让我们使用控制器和视图创建一个自定义页面。

    添加一条路由到
  1. routes.php
return View::make('pages.home')->with(array(

            'promo'     => Books::getPromoBook($this->page),
            'books'     => Books::getPopularBooks($this->bookId),
            'news'      => News::get(),
            'newspage'  => get_page_by_path('news')

        ));
登录后复制
    创建
  1. pages/test.scout.php
// Search page
Route::is('search', function(){
    return View::make('search', array('search' => $_GET['s']));
});
登录后复制
    添加一个控制器(
  1. ):controllers/Test_Controller.php
在大多数框架中,这将使“ Hello World”呈现“ Hello World”。但是,由于主题依赖于WordPress,我们必须将页面添加到系统中。
Route::only('page', 'test', 'test@index');
登录后复制

/test

“ Hello World”消息在重新加载后呈现。

> First Look at Themosis, a Framework for WordPress Developers

要包括页面内容,我们需要访问全局

变量并将其传递给视图。 这突出了WordPress的全局变量依赖。First Look at Themosis, a Framework for WordPress Developers

修改控制器:

$post

和视图:

@include('header')

Hello World

@include('footer')
登录后复制
>正确地渲染页面。

<?php

class Test_Controller{

    public function index(){

        return View::make('pages.test');

    }

}
登录后复制

>有些复杂,但呈现WordPress内容的强大包装器提供了结构和清晰度,改善了WordPress的刚性。

First Look at Themosis, a Framework for WordPress Developers

结论

> Themosis为WordPress插件开发提供了类似Laravel的体验。 它将急需的结构和封装引入WordPress的插件体系结构。> >尽管仍处于早期阶段(0.8版),但它是一个有前途的项目。 采用良好的设计实践对PHP社区至关重要,即使在WordPress的核心局限性范围内,Themisos也提供了有价值的贡献。

> (由于长度约束而省略了常见问题部分,但可以轻松解释并与其他文本相似。)

以上是首先查看Themosis,这是WordPress开发人员的框架的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板