検索
ホームページ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を使用してメンバーシップサイトを構築できますか?WordPressを使用してメンバーシップサイトを構築できますか?May 01, 2025 am 12:08 AM

はい、YouCanuseWordPressTobuildAmberShiTeThite.Hore'show:1)usepluginslikememberpress、paidmembersubscriptions、orwooocommerceforusermanagement、contentaccesscontrol.2)ensurecontententrectectionwithdatedditedditionalsurationuresures

WordPressは、CMSとして使用するためにコーディングの知識が必要ですか?WordPressは、CMSとして使用するためにコーディングの知識が必要ですか?Apr 30, 2025 am 12:03 AM

WordPressを使用するためにプログラミングの知識は必要ありませんが、プログラミングをマスターするとエクスペリエンスが向上する可能性があります。 1)CSSとHTMLを使用して、テーマスタイルを調整します。 2)PHPの知識は、トピックファイルを編集して機能を追加できます。 3)カスタムプラグインとメタタグはSEOを最適化できます。 4)更新の問題を防ぐために、サブトピックのバックアップと使用に注意してください。

WordPressを使用する際のセキュリティ上の考慮事項は何ですか?WordPressを使用する際のセキュリティ上の考慮事項は何ですか?Apr 29, 2025 am 12:01 AM

tosecureawwordpresssite、soflowthesesteps:1)定期的にwordpresscore、themes、およびpluginstopatchvulnerabilities.2)usestrong、usestrong、usestrong、sonsandenabletototothentication.3)optformanagedagedwordpresshosting arehoredhoredhoredhored hosting withebapplicationfirewaal

WordPressは他のWebサイトビルダーとどのように比較されますか?WordPressは他のWebサイトビルダーとどのように比較されますか?Apr 28, 2025 am 12:04 AM

wordpressexexexexexcelsoverwebsitebuildersduetoits ffficability、scalability、andopen-sourcenature.1)それは、aversatilecmswitextensive sustomizationoptionsviathemesandplugins.2)その学習中心部のスチッピアベッタービューターフルフルフルフルフルフルフルカンセーズ。3)

2025年に開発者が使用できる5つのWordPressプラグイン2025年に開発者が使用できる5つのWordPressプラグインApr 27, 2025 am 08:25 AM

2025年のウェブサイト開発のための7つの必須ワードプレスプラグイン 2025年に一流のWordPress Webサイトを構築するには、速度、応答性、およびスケーラビリティが必要です。 これを効率的に達成することは、しばしば戦略的なプラグインの選択にかかっています。 この記事Highlig

WordPressは何のために使用しますか?WordPressは何のために使用しますか?Apr 27, 2025 am 12:14 AM

wordpresscanbeusedpurposesbeyondblogging.1)e-ocommerce:withwoocommerce、itcanbecomeafulloninestore.2)メンバーシップサイト:Pluginslikememberpressenable clusivecontentareas.3)ポートフォリオソイト:ThemeslikeasieasiestraololowStunnningStunnningStunnningStunnningStuntunnneDayOutssuntunnneaTuntunnnedrayOutuntuntuntunnnedraySuts

WordPressはポートフォリオWebサイトを作成するのに適していますか?WordPressはポートフォリオWebサイトを作成するのに適していますか?Apr 26, 2025 am 12:05 AM

はい、wordpressisexcellentforcreatingportfoliowebsite.1)itoffers numersportfolio cilems like'astra'astra'foreasycustomization.2)プラグインエレメントレメントレディングの装飾、思想的な態度環境を

Webサイトをゼロからコーディングする上でWordPressを使用することの利点は何ですか?Webサイトをゼロからコーディングする上でWordPressを使用することの利点は何ですか?Apr 25, 2025 am 12:16 AM

wordpressisadvasteousovercodingawebsitefromscratchdueto:1)easeofuseandfasterdevelopment、2)柔軟性と吸収性、3)strongCommunitySupport、4)組み込みインセンアンドマークティングツール、5)費用対効果、6)レシュリティアップデート

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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

MantisBT

MantisBT

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

Safe Exam Browser

Safe Exam Browser

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