検索
ホームページCMS チュートリアル&#&プレスまず、WordPress開発者のフレームワークであるThemosisを見てください

領域:WordPress開発への現代的なアプローチ

WordPressのもつれたコードベースに対する私の軽daはよく知られています。あなたが技術的に熟練していない限り、私はその使用に反対することをお勧めします。しかし、私の批判は改善への欲求に由来しています。これは、優れた選択肢が現れ、より論理的で効率的な開発プロセスを提供することを望んでいます。 WordPressを合理化しようとする試みは、私の見解では、肯定的なステップです。

最近、「WordPress開発者のためのフレームワーク」として請求されたThemosisというプロジェクトが浮上しました。この記事では、テンミーとその使用法を調査し、その例プロジェクト、つまり書店アプリケーションを調べます。

キーハイライト:

themosisは、WordPressの開発者のフレームワークとして設計された新しいプロジェクトであり、WordPressの混oticとしたプラグインアーキテクチャに開発を簡素化し、構造を課すことを目指しています。
    従来のフレームワークとは異なり、脅威はWordPressと統合して開発を強化するAPIとして機能します。開発者は、最新のPHP機能(名前空間、クラス、匿名関数)と作曲家を使用してWordPressコンポーネントを構築できます。
  • 領域のインストールは、作曲家とWordPressコマンドラインツールに依存しています。 Composerは、最新のWordPressバージョンを自動的に組み込んだThemosisプロジェクトを作成します。 標準のWordPressインストールスクリプトがセットアップを完了します。
  • テンミー症はまだ初期段階にあります(バージョン1.0保留中)。その若さにもかかわらず、WordPressのコアの制約内であっても、PHPエコシステム内でより良い設計慣行を促進することが有望です。
  • テンミー症の理解

「フレームワーク」という用語は、PHP開発者にとって誤解を招く可能性があります。 WordPressには、すでに多数の不要なコンポーネントが含まれています。フレームワークは通常、ミニマリストの原則と分離されたコンポーネントを順守し、複雑なアプリケーションを構築します。

領域は、伝統的な意味での枠組みではありません。 WordPressと統合して開発を簡素化するが、必ずしもそのサイズを縮小するとは限らないAPIです。テーマ症は、名前空間、クラス、匿名関数、作曲家のサポートなど、最新のPHPを使用してWordPressコンポーネントを作成するためのAPIを提供します。

本質的に、テンミー症は、他のプラグインを構築するために使用されるMVC駆動のLaravelにインスパイアされたWordPressプラグインです。 LaravelとPhalconに似た独自のルーター(Laravelスタイルのルート定義)とテンプレートエンジン(スカウト)が含まれており、WordPressサポートが追加されています。 たとえば、テンプレートループ:First Look at Themosis, a Framework for WordPress Developers

データ取得にWordPress APIを使用し、

クラスはWordPressコンテンツループ用に特別に設計されています。

インストール

領域のインストールには、作曲家とWordPressコマンドラインツールが含まれます。 Composerとのテーマ症プロジェクトの作成には、最新のWordPressバージョンが自動的に含まれています。標準のWordPressインストールスクリプトがセットアップを完成させます。 公式のインストール手順を参照するか、最初にプロジェクトの例を試してください(以下で詳しく説明してください)。

の例プロジェクト:Bookstoreアプリ

themosisは、書店アプリケーションの例を提供します。

Bookstoreアプリのテスト

それをテストするには、Homesteadが改善されています。新しいサイトを登録してください:

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

    <h1 id="Loop-title">{{ Loop::title() }}</h1>
    <div>
        {{ Loop::content() }}
    </div>

@endloop
ホストのファイルに

を追加することを忘れないでください(Homesteadによると、指示が改善されました)。 bookstore.localリポジトリ(/etc/hosts)をクローンし、

のインストール手順にアクセスします。 指示に従ってください。 このセットアップにより、リスクのない実験が可能になります。VMを再構築して変更を再度再構築します。

git clone https://www.php.cn/link/7101e4daaff4511510bbd4e6a0862fb7 themosis_examplehttp://bookstore.local:8000

最初の外観は画期的ではありませんが(WordPressサイトも同様に構成できます)、2つの重要な観察結果は際立っています。

First Look at Themosis, a Framework for WordPress Developers セットアップは非常に迅速かつ簡単でした。

WordPress APIにアクセスするThemosisの追加レイヤーを考慮すると、

パフォーマンスは驚くほど速かった。

  1. コード試験
  2. 書店のコードはgithubに存在します:
https://www.php.cn/link/7101e4daaff4511511510bbd4e6a0862fb7

。 Themosisはプラグインであるため、Bookstoreのコードはプラグインディレクトリ内にあります。

3つの主要なサブフォルダーが存在します:(脅威駆動のWordPressロジック)、(テンシスソースコード - 他のフレームワークを参照)、および

(作曲家の依存関係)。

コードには最新のプラクティス(名前空間、クラス、包括的なドキュメント)が組み込まれていますが、マイナーな時代遅れの要素は残っています(例:First Look at Themosis, a Framework for WordPress Developers 、PHPタグを閉じる)。

テーマの2つの場所には、テーマにルーティングとプレゼンテーションが存在し、アプリケーションロジックはプラグインフォルダーにあります。

appsrc vendor

mvc構造

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

MVC構造は明確に定義されていますが、2つの親フォルダーにわたる断片化を改善できます。 routesフォルダー(Laravelと同様)は、同等の構文を使用します。コントローラーはビューから分離されており、モデルはコントローラーによって使用され、データをビューに渡します。 home.controller.php

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

    <h1 id="Loop-title">{{ Loop::title() }}</h1>
    <div>
        {{ Loop::content() }}
    </div>

@endloop

ビューは、トラバーサルにドット表記を使用します(例:pages.homeマップへのマップ)。app/views/pages/home.scout.php)。 パラメーターを使用した

ルーティング

ルーティングは簡単です。 たとえば、検索ページでは、WordPressの検索機能を直接使用します。

このアプローチは、WordPressの本質的に欠陥のある検索機能を抽象化し、より簡単な交換を促進します。
- map: bookstore.local
      to: /home/vagrant/Code/themosis_example

カスタムページの作成

コントローラーとビューを使用してカスタムページを作成しましょう。

ルートを追加します

  1. routes.php
  2. create
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
  2. コントローラーを追加(
    // Search page
    Route::is('search', function(){
        return View::make('search', array('search' => $_GET['s']));
    });
    1. これにより、ほとんどのフレームワークではcontrollers/Test_Controller.phpの「Hello World」がレンダリングされます。ただし、ThemosisはWordPressに依存しているため、システムにページを追加する必要があります。
    Route::only('page', 'test', 'test@index');

    「Hello World」メッセージは、リロード後にレンダリングします /test

    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')
    やや複雑ですが、WordPressコンテンツをレンダリングするための強力なラッパーは構造と明確さを提供し、WordPressの剛性を改善します。

    結論
    <?php
    
    class Test_Controller{
    
        public function index(){
    
            return View::make('pages.test');
    
        }
    
    }

    themosisは、WordPressプラグインの開発にLaravelのような体験を提供します。 WordPressのプラグインアーキテクチャに非常に必要な構造とカプセル化を導入します。

    まだ初期段階(バージョン0.8)ですが、脅威は有望なプロジェクトです。 優れた設計慣行の採用はPHPコミュニティにとって重要であり、WordPressのコアの制限の範囲内であっても、Themosisは貴重な貢献を提供します。 First Look at Themosis, a Framework for WordPress Developers

    (長さの制約のためによくある質問セクションは省略されていますが、テキストの残りの部分と同様に簡単に言い換えて組み込むことができます。)

以上がまず、WordPress開発者のフレームワークであるThemosisを見てくださいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
WordPress開発のための5つの最高のIDES(およびなぜ)WordPress開発のための5つの最高のIDES(およびなぜ)Mar 03, 2025 am 10:53 AM

WordPress開発に適した統合開発環境(IDE)の選択 10年間、WordPress開発のための多数の統合開発環境(IDE)を調査しました。 自由から商業、基本的なものまで、純粋な品種

OOPテクニックを備えたWordPressプラグインを作成しますOOPテクニックを備えたWordPressプラグインを作成しますMar 06, 2025 am 10:30 AM

このチュートリアルでは、ドリブルAPIを活用して、オブジェクト指向プログラミング(OOP)の原則を使用してWordPressプラグインを構築します。 元の意味と構造を維持しながら、明確さと簡潔さのためにテキストを洗練しましょう。 オブジェクトオリ

WordPressでPHPデータと文字列をJavaScriptに渡す方法WordPressでPHPデータと文字列をJavaScriptに渡す方法Mar 07, 2025 am 09:28 AM

PHPデータをjavaScriptに渡すためのベストプラクティス:wp_localize_scriptとwp_add_inline_scriptの比較 PHPファイルに静的文字列内にデータを保存することが推奨される練習です。 JavaScriptコードでこのデータが必要な場合は、INCORPORAT

WordPressプラグインでPDFファイルを埋め込み、保護する方法WordPressプラグインでPDFファイルを埋め込み、保護する方法Mar 09, 2025 am 11:08 AM

このガイドは、WordPress PDFプラグインを使用して、WordPressの投稿とページにPDFファイルを埋め込み、保護する方法を示しています。 PDFは、カタログからプレゼンテーションまで、さまざまなコンテンツに対してユーザーフレンドリーで普遍的にアクセス可能な形式を提供します。 この方法は

WordPressは初心者にとって簡単ですか?WordPressは初心者にとって簡単ですか?Apr 03, 2025 am 12:02 AM

WordPressは、初心者が簡単に始めることができます。 1.バックグラウンドにログインした後、ユーザーインターフェイスは直感的であり、シンプルなダッシュボードは必要なすべての関数リンクを提供します。 2。基本操作には、コンテンツの作成と編集が含まれます。 WysiWygエディターは、コンテンツの作成を簡素化します。 3.初心者は、プラグインとテーマを介してウェブサイトの機能を拡張でき、学習曲線は存在しますが、練習を通じて習得できます。

なぜWordPressを使用するのはなぜですか?なぜWordPressを使用するのはなぜですか?Apr 02, 2025 pm 02:57 PM

人々は、その力と柔軟性のためにWordPressを使用することを選択します。 1)WordPressは、さまざまなWebサイトのニーズに適した、使いやすさとスケーラビリティを備えたオープンソースのCMSです。 2)豊富なテーマとプラグイン、巨大なエコシステム、強力なコミュニティサポートがあります。 3)WordPressの作業原則は、テーマ、プラグイン、コア関数に基づいており、PHPとMySQLを使用してデータを処理し、パフォーマンスの最適化をサポートします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)