themisos:一种现代的WordPress开发方法
>我对WordPress纠结的代码库的鄙视是众所周知的。我建议不要使用它,除非您在技术上熟练。但是,我的批评源于人们对改进的渴望,希望将出现出色的替代方案,并提供更合乎逻辑,更有效的发展过程。 在我看来,任何简化WordPress的尝试都是积极的一步。
>最近,一个名为Themosis的项目浮出水面,被称为“ WordPress开发人员的框架”。本文探讨了它的病,其用法,并检查了其示例项目 - 书店应用程序。
键突出显示:
- 与传统框架不同,它是与WordPress集成以增强发展的API。它使开发人员能够使用现代PHP功能(名称空间,类,匿名功能)和作曲家构建WordPress组件。
- > > themiss的安装依赖于作曲家和WordPress命令行工具。 作曲家创建了一个Interisos项目,自动合并了最新的WordPress版本。 标准的WordPress安装脚本完成了设置。
- > themis病仍处于早期阶段(待定版1.0版)。尽管年轻,但即使在WordPress核心的限制内,它也表现出了在PHP生态系统中促进更好的设计实践的前景。
- 。
- 理解themisosion
>“框架”一词可能会误导PHP开发人员。 WordPress已经包含许多不必要的组件。框架通常遵守简约的原则和脱钩的组件,并构建了复杂的应用程序,而不是相反。
从传统意义上讲,
>
从本质上讲,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
虽然初始外观不是开创性的(任何WordPress网站都可以采用类似的配置),但两个关键观察值脱颖而出:
设置非常快速,直接。
- 的性能非常快,考虑到themisos的额外层访问WordPress API。
- 代码考试
书店的代码位于github上:
(themosis源代码 - 与其他框架相关)和(作曲家依赖关系)。
>代码包含现代实践(名称空间,类,综合文档)时,仍然存在较小的过时元素(例如,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固有缺陷的搜索功能,促进更容易的替换。
创建一个自定义页面
>让我们使用控制器和视图创建一个自定义页面。
- 添加一条路由到
- :
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') ));
- 创建
- :
pages/test.scout.php
// Search page Route::is('search', function(){ return View::make('search', array('search' => $_GET['s'])); });
- 添加一个控制器(
- ):
controllers/Test_Controller.php
Route::only('page', 'test', 'test@index');
/test
>
要包括页面内容,我们需要访问全局
变量并将其传递给视图。 这突出了WordPress的全局变量依赖。
$post
@include('header') Hello World @include('footer')>正确地渲染页面。
<?php class Test_Controller{ public function index(){ return View::make('pages.test'); } }
>有些复杂,但呈现WordPress内容的强大包装器提供了结构和清晰度,改善了WordPress的刚性。
> Themosis为WordPress插件开发提供了类似Laravel的体验。 它将急需的结构和封装引入WordPress的插件体系结构。> >尽管仍处于早期阶段(0.8版),但它是一个有前途的项目。 采用良好的设计实践对PHP社区至关重要,即使在WordPress的核心局限性范围内,Themisos也提供了有价值的贡献。
> (由于长度约束而省略了常见问题部分,但可以轻松解释并与其他文本相似。)以上是首先查看Themosis,这是WordPress开发人员的框架的详细内容。更多信息请关注PHP中文网其他相关文章!

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

WordPressExcelSoverotherWeberteBuilderSduetoItsflexible,可伸缩性,andopen-sourcenature.1)它'saversatilecmswithExtEnsextEnsiveCustomizedOptionsVIATHEMESANDPLUGINS.2)它的alllearbutoffersbutoffersbutoffersbutoffersbutofferspopelyContrololonCemastered.3)

2025年网站开发的七个必备WordPress插件 在2025年建立顶级WordPress网站需要速度,响应能力和可扩展性。 实现这种有效的实现通常取决于战略插件的选择。 这篇文章Highlig

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

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

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

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

在 WordPress 网站上启用评论功能,可以为访客提供参与讨论和分享反馈的平台。为此,请按照以下步骤操作:启用评论:在仪表盘中,导航至“设置”>“讨论”,并选中“允许评论”复选框。创建评论表单:在编辑器中,单击“添加块”并搜索“评论”块,将其添加到内容中。自定义评论表单:通过设置标题、标签、占位符和按钮文本来定制评论块。保存更改:单击“更新”以保存评论框并将其添加到页面或文章中。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

WebStorm Mac版
好用的JavaScript开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),