cari
RumahTutorial CMSWordTekanPertama melihat Themosis, rangka kerja untuk pemaju WordPress

themosis: Pendekatan moden untuk pembangunan WordPress

penghinaan saya untuk codebase kusut WordPress terkenal. Saya menasihati penggunaannya melainkan jika anda mahir secara teknikal. Walau bagaimanapun, kritikan saya berpunca daripada keinginan untuk penambahbaikan -harapan bahawa alternatif yang unggul akan muncul, menawarkan proses pembangunan yang lebih logik dan cekap. Sebarang percubaan untuk menyelaraskan WordPress adalah, pada pandangan saya, langkah positif.

Baru -baru ini, projek yang dipanggil Themosis muncul, dibebankan sebagai "rangka kerja untuk pemaju WordPress." Artikel ini meneroka themosis, penggunaannya, dan mengkaji contoh projeknya -aplikasi kedai buku.

sorotan utama:

  • Themosis adalah projek novel yang direka sebagai rangka kerja untuk pemaju WordPress, yang bertujuan untuk memudahkan pembangunan dan mengenakan struktur pada seni bina plugin Chaotic WordPress.
  • Tidak seperti kerangka tradisional, fungsi themosis sebagai API yang mengintegrasikan dengan WordPress untuk meningkatkan pembangunan. Ia membolehkan pemaju membina komponen WordPress menggunakan ciri PHP moden (ruang nama, kelas, fungsi tanpa nama) dan komposer.
  • Pemasangan Themosis bergantung pada komposer dan alat baris arahan WordPress. Komposer mencipta projek themosis, secara automatik menggabungkan versi WordPress terkini. Skrip pemasangan WordPress standard melengkapkan persediaan.
  • themosis masih dalam peringkat awal (versi 1.0 yang belum selesai). Walaupun belia, ia menunjukkan janji dalam mempromosikan amalan reka bentuk yang lebih baik dalam ekosistem PHP, walaupun dalam kekangan teras WordPress.

Memahami Themosis

First Look at Themosis, a Framework for WordPress Developers

istilah "rangka kerja" mungkin mengelirukan kepada pemaju PHP. WordPress sudah mengandungi banyak komponen yang tidak perlu. Rangka kerja biasanya mematuhi prinsip minimalis dan komponen yang dipadam, dengan aplikasi kompleks yang dibina di atasnya -bukan sebaliknya.

Themosis bukan rangka kerja dalam erti kata tradisional. Ia adalah API yang mengintegrasikan dengan WordPress untuk memudahkan pembangunan tetapi tidak semestinya mengurangkan saiznya. Themosis menyediakan API untuk mewujudkan komponen WordPress menggunakan PHP moden, termasuk ruang nama, kelas, fungsi tanpa nama, dan sokongan komposer.

Pada dasarnya, themosis adalah plugin WordPress yang berkuasa MVC, Laravel yang digunakan untuk membina plugin lain. Ia termasuk penghala sendiri (definisi laluan gaya Laravel) dan enjin templat (Scout), sama dengan Laravel dan Phalcon, dengan sokongan WordPress yang ditambah. Sebagai contoh, gelung templat:

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

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

@endloop
menggunakan API WordPress untuk pengambilan data, dan kelas

direka khusus untuk gelung kandungan WordPress. Loop

Pemasangan

Pemasangan Themosis melibatkan komposer dan alat baris arahan WordPress. Mewujudkan projek themosis dengan komposer secara automatik termasuk versi WordPress terkini; Skrip pemasangan WordPress standard memuktamadkan persediaan. Rujuk kepada arahan pemasangan rasmi, atau percubaan dengan projek contoh terlebih dahulu (terperinci di bawah).

Projek Contoh: App Bookstore

Themosis menyediakan contoh aplikasi kedai buku.

Menguji aplikasi kedai buku

Untuk mengujinya, anda boleh menggunakan Homestead bertambah baik. Daftarkan laman web baru dengan:

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

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

@endloop

ingat untuk menambah bookstore.local ke fail host anda (seperti arahan Homestead yang lebih baik). /etc/hosts

klon repositori (), dan akses prosedur pemasangan di

. Ikuti arahan. Persediaan ini membolehkan eksperimen tanpa risiko -semata -mata membina semula VM untuk membalikkan sebarang perubahan. git clone https://www.php.cn/link/7101e4daaff4511510bbd4e6a0862fb7 themosis_example http://bookstore.local:8000

Walaupun penampilan awal tidak terobosan (mana -mana tapak WordPress boleh dikonfigurasi sama), dua pemerhatian utama menonjol: First Look at Themosis, a Framework for WordPress Developers

persediaan sangat cepat dan mudah. ​​

    Prestasi sangat mengejutkan, memandangkan lapisan tambahan Themosis mengakses API WordPress.
  1. Peperiksaan kod

Kod kedai buku tinggal di GitHub: https://www.php.cn/link/7101E4DAAFF4511510BBBD4E6A0862FB7 . Oleh kerana Themosis adalah plugin, kod kedai buku terletak dalam direktori pluginnya:

Tiga subfolder utama wujud:

(logik WordPress berkuasa mereka),

(themosis sumber kod-menetapkan rangka kerja lain), dan First Look at Themosis, a Framework for WordPress Developers (kebergantungan komposer).

Walaupun kod itu menggabungkan amalan moden (ruang nama, kelas, dokumentasi komprehensif), elemen yang ketinggalan zaman masih kekal (mis., app, menutup tag php). src vendor Kod themosis diedarkan di dua lokasi: penghalaan dan persembahan berada dalam tema, manakala logik aplikasi berada dalam folder plugin.

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

Struktur MVC

Struktur MVC ditakrifkan dengan baik, walaupun pemecahan di dua folder induk dapat diperbaiki. Folder routes (serupa dengan Laravel) menggunakan sintaks setanding. Pengawal dipisahkan dari pandangan, dan model digunakan oleh pengawal, lulus data ke pandangan. Contoh dari home.controller.php:

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

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

@endloop

Pandangan Gunakan notasi titik untuk traversal (mis., pages.home peta ke app/views/pages/home.scout.php).

Routing dengan parameter

Routing adalah mudah. Halaman carian, misalnya, secara langsung menggunakan fungsi carian WordPress:

- map: bookstore.local
      to: /home/vagrant/Code/themosis_example

Pendekatan ini Abstrak Fungsi Carian WordPress yang sememangnya cacat, memudahkan penggantian yang lebih mudah. ​​

Mewujudkan halaman tersuai

mari kita buat halaman tersuai dengan pengawal dan paparan.

  1. tambahkan laluan ke 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. Buat pages/test.scout.php:
// Search page
Route::is('search', function(){
    return View::make('search', array('search' => $_GET['s']));
});
  1. tambah pengawal (): controllers/Test_Controller.php
Route::only('page', 'test', 'test@index');
Ini akan menjadikan "Hello World" untuk

dalam kebanyakan rangka kerja. Walau bagaimanapun, kerana themosis bergantung pada WordPress, kita mesti menambah halaman ke sistem. /test

First Look at Themosis, a Framework for WordPress Developers mesej "Hello World" membuat semula selepas tambah nilai.

Untuk memasukkan kandungan halaman, kita perlu mengakses pembolehubah global First Look at Themosis, a Framework for WordPress Developers dan lulus ke pandangan. Ini menyerlahkan kebergantungan pembolehubah global WordPress.

Mengubah pengawal: $post

dan paparan:

@include('header')

Hello World

@include('footer')
menjadikan halaman dengan betul.

<?php

class Test_Controller{

    public function index(){

        return View::make('pages.test');

    }

}

Walaupun agak rumit, pembalut yang kuat untuk memberikan kandungan WordPress memberikan struktur dan kejelasan, meningkatkan ketegaran WordPress.

First Look at Themosis, a Framework for WordPress Developers Kesimpulan

Themosis menyediakan pengalaman seperti Laravel untuk pembangunan plugin WordPress. Ia memperkenalkan struktur dan enkapsulasi yang sangat diperlukan untuk seni bina plugin WordPress.

Walaupun masih dalam peringkat awal (versi 0.8), themosis adalah projek yang menjanjikan. Penggunaan amalan reka bentuk yang baik adalah penting untuk komuniti PHP, dan themosis menawarkan sumbangan yang berharga, walaupun dalam batasan teras WordPress.

(bahagian Soalan Lazim telah ditinggalkan kerana kekangan panjang tetapi boleh mudah dijelaskan dan dimasukkan sama dengan teks yang lain.)

Atas ialah kandungan terperinci Pertama melihat Themosis, rangka kerja untuk pemaju WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cara Lulus Data dan String PHP ke JavaScript di WordPressCara Lulus Data dan String PHP ke JavaScript di WordPressMar 07, 2025 am 09:28 AM

Amalan terbaik untuk meluluskan data PHP ke JavaScript: Perbandingan WP_LOCALIZE_SCRIPT dan WP_ADD_INLINE_SCRIPT Menyimpan data dalam rentetan statik dalam fail PHP anda adalah amalan yang disyorkan. Sekiranya data ini diperlukan dalam kod JavaScript anda, incorporat

Cara Menanam dan Melindungi Fail PDF dengan Plugin WordPressCara Menanam dan Melindungi Fail PDF dengan Plugin WordPressMar 09, 2025 am 11:08 AM

Panduan ini menunjukkan bagaimana untuk membenamkan dan melindungi fail PDF dalam jawatan WordPress dan halaman menggunakan plugin PDF WordPress. PDFS menawarkan format yang mesra pengguna dan boleh diakses secara universal untuk pelbagai kandungan, dari katalog ke persembahan. Kaedah ini ENS

Adakah WordPress mudah untuk pemula?Adakah WordPress mudah untuk pemula?Apr 03, 2025 am 12:02 AM

WordPress mudah untuk pemula bermula. 1. Selepas log masuk ke latar belakang, antara muka pengguna adalah intuitif dan papan pemuka mudah menyediakan semua pautan fungsi yang diperlukan. 2. Operasi asas termasuk mencipta dan mengedit kandungan. Editor WYSIWYG memudahkan penciptaan kandungan. 3. Pemula boleh mengembangkan fungsi laman web melalui pemalam dan tema, dan lengkung pembelajaran wujud tetapi boleh dikuasai melalui amalan.

Mengapa ada yang menggunakan WordPress?Mengapa ada yang menggunakan WordPress?Apr 02, 2025 pm 02:57 PM

Orang memilih untuk menggunakan WordPress kerana kuasa dan fleksibiliti. 1) WordPress adalah CMS sumber terbuka dengan kemudahan penggunaan dan skalabiliti yang kuat, sesuai untuk pelbagai keperluan laman web. 2) Ia mempunyai tema dan plugin yang kaya, ekosistem yang besar dan sokongan komuniti yang kuat. 3) Prinsip kerja WordPress adalah berdasarkan tema, pemalam dan fungsi teras, dan menggunakan PHP dan MySQL untuk memproses data, dan menyokong pengoptimuman prestasi.

Adakah WordPress masih percuma?Adakah WordPress masih percuma?Apr 04, 2025 am 12:06 AM

Versi teras WordPress adalah percuma, tetapi yuran lain mungkin ditanggung semasa penggunaan. 1. Nama domain dan perkhidmatan hosting memerlukan pembayaran. 2. Tema lanjutan dan pemalam boleh dikenakan. 3. Perkhidmatan profesional dan ciri -ciri canggih boleh dikenakan.

Berapakah kos WordPress?Berapakah kos WordPress?Apr 05, 2025 am 12:13 AM

WordPress sendiri adalah percuma, tetapi kos tambahan untuk digunakan: 1. WordPress.com menawarkan pakej dari percuma hingga dibayar, dengan harga dari beberapa dolar sebulan hingga berpuluh -puluh dolar; 2. WordPress.org memerlukan membeli nama domain (10-20 dolar AS setahun) dan perkhidmatan hosting (5-50 dolar AS sebulan); 3. Kebanyakan pemalam dan tema adalah percuma, dan harga berbayar adalah antara berpuluh-puluh dan beratus-ratus dolar; Dengan memilih perkhidmatan hosting yang betul, menggunakan plug-in dan tema yang munasabah, dan mengekalkan dan mengoptimumkan secara teratur, kos WordPress dapat dikawal dan dioptimumkan dengan berkesan.

Sekiranya saya menggunakan Wix atau WordPress?Sekiranya saya menggunakan Wix atau WordPress?Apr 06, 2025 am 12:11 AM

Wix sesuai untuk pengguna yang tidak mempunyai pengalaman pengaturcaraan, dan WordPress sesuai untuk pengguna yang mahukan lebih banyak keupayaan kawalan dan pengembangan. 1) Wix menyediakan editor drag-and-drop dan templat yang kaya, menjadikannya mudah untuk membina sebuah laman web dengan cepat. 2) Sebagai CMS sumber terbuka, WordPress mempunyai ekosistem komuniti dan plug-in yang besar, menyokong penyesuaian dan pengembangan yang mendalam.

Apa yang baik untuk WordPress?Apa yang baik untuk WordPress?Apr 07, 2025 am 12:06 AM

WordpressisgoodforvirtualyWebprojectduetoitsversatilityasacms.itexcelsin: 1) keramahan pengguna, membolehkan mudah

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual