搜尋
首頁CMS教程&#&按首先查看Themosis,這是WordPress開發人員的框架

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
使用WordPress時的安全考慮是什麼?使用WordPress時的安全考慮是什麼?Apr 29, 2025 am 12:01 AM

TosecureaWordPresssite,followthesesteps:1)RegularlyupdateWordPresscore,themes,andpluginstopatchvulnerabilities.2)Usestrong,uniquepasswordsandenabletwo-factorauthentication.3)OptformanagedWordPresshostingorsecuresharedhostingwithawebapplicationfirewal

WordPress與其他網站構建者相比如何?WordPress與其他網站構建者相比如何?Apr 28, 2025 am 12:04 AM

WordPressExcelSoverotherWeberSiteBuilderSduetoItsflexible,可伸縮性,andopen-sourcenature.1)它'saversatilecmswithExtEnsextEnsexenSiveCustomizedOptionsVIATHEMESANDPLUGINS.2)它的alllearbutoffersbutoffersbutoffersbutoffersbutefersbuterbutfulcontrololoncemastered.3)

5個WordPress插件,供開發人員在2025年使用5個WordPress插件,供開發人員在2025年使用Apr 27, 2025 am 08:25 AM

2025年網站開發的七個必備WordPress插件 在2025年建立頂級WordPress網站需要速度,響應能力和可擴展性。 實現這種有效的實現通常取決於戰略插件的選擇。 這篇文章Highlig

您將使用WordPress做什麼?您將使用WordPress做什麼?Apr 27, 2025 am 12:14 AM

WordPresscanbeusedforvariouspurposesbeyondblogging.1)E-commerce:WithWooCommerce,itcanbecomeafullonlinestore.2)Membershipsites:PluginslikeMemberPressenableexclusivecontentareas.3)Portfoliosites:ThemeslikeAstraallowstunninglayouts.Ensuretomanageplugins

WordPress適合創建投資組合網站嗎?WordPress適合創建投資組合網站嗎?Apr 26, 2025 am 12:05 AM

是的,wordpressisisexcellentforcortingaportfoliowebsite.1)itoffersnumeroversnumeroverportfolio-spificthemeslike'astra'astra'astra'astra'astra'astra'astra'astra'astra'elementor'Enelementor'enableIntiviveSiveSign,Thoughtemanycanslowthesite.3)

使用WordPress而不是從頭開始編碼網站的優點是什麼?使用WordPress而不是從頭開始編碼網站的優點是什麼?Apr 25, 2025 am 12:16 AM

WordPressisadvantageousovercodingawebsitefromscratchdueto:1)easeofuseandfasterdevelopment,2)flexibilityandscalability,3)strongcommunitysupport,4)built-inSEOandmarketingtools,5)cost-effectiveness,and6)regularsecurityupdates.Thesefeaturesallowforquicke

是什麼使WordPress成為內容管理系統?是什麼使WordPress成為內容管理系統?Apr 24, 2025 pm 05:25 PM

WordPressIsAcmsDuetoItseAsofuse,自定義,USERMANAMECTION,SEO和COMMUNITYSUPPORT.1)ITSIMPLIFIESCONTENTMANGAMEWITHANINTUISIDERFEEFFECE.2)提供extentensiveCustomizationThroughThroughTheMesandPlugins.3)supportrobustuserrolesandplugins.4)supportrobustuserrolesandpermissions.4)增強

wordpress怎麼加評論框wordpress怎麼加評論框Apr 20, 2025 pm 12:15 PM

在 WordPress 網站上啟用評論功能,可以為訪客提供參與討論和分享反饋的平台。為此,請按照以下步驟操作:啟用評論:在儀錶盤中,導航至“設置”>“討論”,並選中“允許評論”複選框。創建評論表單:在編輯器中,單擊“添加塊”並蒐索“評論”塊,將其添加到內容中。自定義評論表單:通過設置標題、標籤、佔位符和按鈕文本來定制評論塊。保存更改:單擊“更新”以保存評論框並將其添加到頁面或文章中。

See all articles

熱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

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

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

記事本++7.3.1

記事本++7.3.1

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

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具