Pertama 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
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
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 /etc/hosts
. 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:
persediaan sangat cepat dan mudah.
- Prestasi sangat mengejutkan, memandangkan lapisan tambahan Themosis mengakses API WordPress.
- 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:
(logik WordPress berkuasa mereka), (themosis sumber kod-menetapkan rangka kerja lain), dan (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.
- 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') ));
- Buat
pages/test.scout.php
:
// Search page Route::is('search', function(){ return View::make('search', array('search' => $_GET['s'])); });
- tambah pengawal (
): controllers/Test_Controller.php
Route::only('page', 'test', 'test@index');
dalam kebanyakan rangka kerja. Walau bagaimanapun, kerana themosis bergantung pada WordPress, kita mesti menambah halaman ke sistem. /test
mesej "Hello World" membuat semula selepas tambah nilai.
Untuk memasukkan kandungan halaman, kita perlu mengakses pembolehubah global dan lulus ke pandangan. Ini menyerlahkan kebergantungan pembolehubah global WordPress.
Mengubah pengawal: $post
dan paparan:
@include('header') Hello World @include('footer')
<?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.
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Blog adalah platform yang ideal untuk orang ramai untuk menyatakan pendapat, pendapat dan pendapat mereka dalam talian. Ramai pemula bersemangat untuk membina laman web mereka sendiri tetapi teragak -agak untuk bimbang tentang halangan teknikal atau isu kos. Walau bagaimanapun, apabila platform terus berkembang untuk memenuhi keupayaan dan keperluan pemula, kini mula menjadi lebih mudah dari sebelumnya. Artikel ini akan membimbing anda langkah demi langkah bagaimana untuk membina blog WordPress, dari pemilihan tema untuk menggunakan plugin untuk meningkatkan keselamatan dan prestasi, membantu anda membuat laman web anda dengan mudah. Pilih topik dan arah blog Sebelum membeli nama domain atau mendaftarkan tuan rumah, sebaiknya mengenal pasti topik yang anda rancangkan. Laman web peribadi boleh berputar di sekitar perjalanan, memasak, ulasan produk, muzik atau hobi yang mencetuskan minat anda. Memfokuskan pada bidang yang anda benar -benar berminat dapat menggalakkan penulisan berterusan

Terdapat empat cara untuk menyesuaikan senarai artikel WordPress: Gunakan pilihan tema, gunakan plugin (seperti pesanan jenis pos, senarai pos WP, barangan boxy), gunakan kod (tambah tetapan dalam fail fungsi.php), atau ubah suai pangkalan data WordPress secara langsung.

Baru -baru ini, kami menunjukkan kepada anda bagaimana untuk mencipta pengalaman peribadi untuk pengguna dengan membenarkan pengguna menyimpan jawatan kegemaran mereka di perpustakaan yang diperibadikan. Anda boleh mengambil hasil yang diperibadikan ke tahap yang lain dengan menggunakan nama mereka di beberapa tempat (iaitu, skrin selamat datang). Nasib baik, WordPress menjadikannya sangat mudah untuk mendapatkan maklumat mengenai pengguna log masuk. Dalam artikel ini, kami akan menunjukkan kepada anda bagaimana untuk mendapatkan maklumat yang berkaitan dengan pengguna yang sedang dilog masuk. Kami akan menggunakan get_currentuserInfo (); fungsi. Ini boleh digunakan di mana sahaja dalam tema (header, footer, sidebar, template halaman, dll.). Agar ia berfungsi, pengguna mesti dilog masuk. Oleh itu, kita perlu menggunakan

Adakah anda ingin tahu cara memaparkan kategori kanak -kanak di halaman arkib kategori induk? Apabila anda menyesuaikan halaman arkib klasifikasi, anda mungkin perlu melakukan ini untuk menjadikannya lebih berguna kepada pelawat anda. Dalam artikel ini, kami akan menunjukkan kepada anda bagaimana untuk memaparkan kategori kanak -kanak dengan mudah di halaman arkib kategori induk. Mengapa subkategori muncul di halaman arkib kategori induk? Dengan memaparkan semua kategori kanak -kanak di halaman arkib kategori induk, anda boleh menjadikannya kurang generik dan lebih berguna kepada pelawat. Sebagai contoh, jika anda menjalankan blog WordPress mengenai buku dan mempunyai taksonomi yang disebut "tema", anda boleh menambah sub-taksonomi seperti "novel", "bukan fiksyen" supaya pembaca anda dapat

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.

Pada masa lalu, kami telah berkongsi cara menggunakan plugin postexpirator untuk tamat tempoh di WordPress. Nah, apabila membuat laman web Senarai Aktiviti, kami mendapati plugin ini sangat berguna. Kami boleh memadamkan senarai aktiviti yang telah tamat tempoh dengan mudah. Kedua, terima kasih kepada plugin ini, ia juga sangat mudah untuk menyusun jawatan dengan tarikh tamat tempoh. Dalam artikel ini, kami akan menunjukkan kepada anda bagaimana untuk menyusun jawatan melalui tarikh tamat tempoh di WordPress. Kod yang dikemas kini untuk mencerminkan perubahan dalam plugin untuk menukar nama medan tersuai. Terima kasih Tajim kerana memberitahu kami dalam komen. Dalam projek khusus kami, kami menggunakan acara sebagai jenis pos tersuai. Sekarang

Salah satu pengguna kami meminta laman web lain bagaimana untuk memaparkan bilangan pertanyaan dan masa pemuatan halaman di footer. Anda sering melihat ini di kaki laman web anda, dan ia mungkin memaparkan sesuatu seperti: "64 pertanyaan dalam 1.248 saat". Dalam artikel ini, kami akan menunjukkan kepada anda bagaimana untuk memaparkan bilangan pertanyaan dan masa pemuatan halaman di WordPress. Cukup tampal kod berikut di mana sahaja yang anda suka dalam fail tema (mis. Footer.php). pertanyaan

Boleh belajar WordPress dalam masa tiga hari. 1. Menguasai pengetahuan asas, seperti tema, pemalam, dan lain-lain. 2. Memahami fungsi teras, termasuk prinsip pemasangan dan kerja. 3. Belajar penggunaan asas dan lanjutan melalui contoh. 4. Memahami teknik debugging dan cadangan pengoptimuman prestasi.
