目錄
{{ Loop::title() }}
首頁 CMS教程 &#&按 首先查看Themosis,這是WordPress開發人員的框架

首先查看Themosis,這是WordPress開發人員的框架

Feb 19, 2025 am 11:13 AM

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 id="Loop-title">{{ 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 id="Loop-title">{{ 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 id="Loop-title">{{ 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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1657
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1229
24
如何開始WordPress博客:初學者的分步指南 如何開始WordPress博客:初學者的分步指南 Apr 17, 2025 am 08:25 AM

博客是人們在網上表達觀點、意見和見解的理想平台。許多新手渴望建立自己的網站,卻因擔心技術障礙或成本問題而猶豫不決。然而,隨著平台不斷發展以滿足初學者的能力和需求,現在開始變得比以往任何時候都更容易。 本文將逐步指導您如何建立一個WordPress博客,從主題選擇到使用插件提升安全性和性能,助您輕鬆創建自己的網站。 選擇博客主題和方向 在購買域名或註冊主機之前,最好先確定您計劃涵蓋的主題。個人網站可以圍繞旅行、烹飪、產品評論、音樂或任何激發您興趣的愛好展開。專注於您真正感興趣的領域可以鼓勵持續寫作

wordpress文章列表怎麼調 wordpress文章列表怎麼調 Apr 20, 2025 am 10:48 AM

有四種方法可以調整 WordPress 文章列表:使用主題選項、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代碼(在 functions.php 文件中添加設置)或直接修改 WordPress 數據庫。

如何在 WordPress 中獲取登錄用戶信息以獲得個性化結果 如何在 WordPress 中獲取登錄用戶信息以獲得個性化結果 Apr 19, 2025 pm 11:57 PM

最近,我們向您展示瞭如何通過允許用戶將自己喜歡的帖子保存在個性化庫中來為用戶創建個性化體驗。您可以通過在某些地方(即歡迎屏幕)使用他們的名字,將個性化結果提升到另一個水平。幸運的是,WordPress使獲取登錄用戶的信息變得非常容易。在本文中,我們將向您展示如何檢索與當前登錄用戶相關的信息。我們將利用get_currentuserinfo(); 功能。這可以在主題中的任何地方使用(頁眉、頁腳、側邊欄、頁面模板等)。為了使其工作,用戶必須登錄。因此我們需要使用

如何在父分類的存檔頁面上顯示子分類 如何在父分類的存檔頁面上顯示子分類 Apr 19, 2025 pm 11:54 PM

您想了解如何在父分類存檔頁面上顯示子分類嗎?在自定義分類存檔頁面時,您可能需要執行此操作,以使其對訪問者更有用。在本文中,我們將向您展示如何在父分類存檔頁面上輕鬆顯示子分類。為什麼在父分類存檔頁面上顯示子分類?通過在父分類存檔頁面上顯示所有子分類,您可以使其不那麼通用,對訪問者更有用。例如,如果您運行一個關於書籍的WordPress博客,並且有一個名為“主題”的分類法,那麼您可以添加“小說”、“非小說”等子分類法,以便您的讀者可以

如何在 WordPress 中按帖子過期日期對帖子進行排序 如何在 WordPress 中按帖子過期日期對帖子進行排序 Apr 19, 2025 pm 11:48 PM

過去,我們分享過如何使用PostExpirator插件使WordPress中的帖子過期。好吧,在創建活動列表網站時,我們發現這個插件非常有用。我們可以輕鬆刪除過期的活動列表。其次,多虧了這個插件,按帖子過期日期對帖子進行排序也非常容易。在本文中,我們將向您展示如何在WordPress中按帖子過期日期對帖子進行排序。更新了代碼以反映插件中更改自定義字段名稱的更改。感謝Tajim在評論中讓我們知道。在我們的特定項目中,我們將事件作為自定義帖子類型。現在

如何使用 IFTTT 自動化 WordPress 和社交媒體(及更多) 如何使用 IFTTT 自動化 WordPress 和社交媒體(及更多) Apr 18, 2025 am 11:27 AM

您是否正在尋找自動化 WordPress 網站和社交媒體帳戶的方法? 通過自動化,您將能夠在 Facebook、Twitter、LinkedIn、Instagram 等平台上自動分享您的 WordPress 博客文章或更新。 在本文中,我們將向您展示如何使用 IFTTT、Zapier 和 Uncanny Automator 輕鬆實現 WordPress 和社交媒體的自動化。 為什麼要自動化 WordPress 和社交媒體? 自動化您的WordPre

如何在 WordPress 中顯示查詢數量和頁面加載時間 如何在 WordPress 中顯示查詢數量和頁面加載時間 Apr 19, 2025 pm 11:51 PM

我們的一位用戶詢問其他網站如何在頁腳中顯示查詢數量和頁面加載時間。您經常會在網站的頁腳中看到這一點,它可能會顯示類似以下內容:“1.248秒內64個查詢”。在本文中,我們將向您展示如何在WordPress中顯示查詢數量和頁面加載時間。只需將以下代碼粘貼到主題文件中您喜歡的任何位置(例如footer.php)。 queriesin

wordpress主機怎麼建站 wordpress主機怎麼建站 Apr 20, 2025 am 11:12 AM

要使用 WordPress 主機建站,需要:選擇一個可靠的主機提供商。購買一個域名。設置 WordPress 主機帳戶。選擇一個主題。添加頁面和文章。安裝插件。自定義您的網站。發布您的網站。

See all articles