✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

WordPressi pistikprogrammide liidesed: varadega töötamine

21

Üks objektorienteeritud programmeerimisega töötamise eeliseid on võime määratleda liideseid nii, et neid liideseid rakendavatel klassidel on ranged funktsioonid, mida nimetatud klassid peavad rakendama.

See on igatahes klassiliidese määratlus :

Liides on leping, mis määrab meetodite, väljade ja atribuutide komplekti, mis on saadaval mis tahes rakendusobjektil

Kuidas see aga välja näeb, kui meie eesmärk on luua nimeruumiga lahendus WordPressi pistikprogrammide liideste (või liidese) lisamiseks klassile, mida saab kasutada stiilitabelite või JavaScripti failide järjestamiseks?

WordPressi pistikprogrammide liidesed: varad

Selle postituse jaoks eeldame, et me määratleme liidese, mida kasutatakse WordPressi haldusalas. See tähendab, et loome liidese, mida kasutatakse laaditabelite ja JavaScripti failide järjestamiseks.

Peame lisama järgmise:

  • nimeruum, mida saab kasutada kogu projekti vältel,
  • funktsioon klassi initsialiseerimiseks,
  • funktsioon varade tegelikuks järjekorda seadmiseks.

Ja kuna see on piisavalt üldine, et seda saaks kasutada JavaScripti ja stiilitabelite jaoks, olen otsustanud nimetada seda lihtsalt Varaks.

Lõpptulemus võib välja näha umbes selline :

<?php

namespace AcmeAdminInterfaces;

interface Asset {

    public function init();
    public function enqueue();
}

Järgmiseks peame liidese klassiga tegelikult rakendama . See peaks olema suhteliselt lihtne, kuna oleme määranud meetodid, mida tuleb rakendada.

Pange tähele, et pakun paar atribuuti, mis on määratud klassi konstruktoris. Need on selle klassi spetsiifilised ja muudavad faili tegeliku järjekorda panemise pisut lihtsamaks.

<?php

namespace AcmeAdmin;
use AcmeAdminInterfaces;

class JavaScript_Assets implements InterfacesAsset {

    private $assets_dir;

    private $js_dir;

    public function __construct() {

        $this->assets_dir = trailingslashit(
            plugin_dir_url( __FILE__ ). 'assets'
        );

        $this->js_dir = trailingslashit( $this->assets_dir. 'js' );
    }

    public function init() {

        add_action(
            'admin_enqueue_scripts',
            array( $this, 'enqueue') );
    }

    public function enqueue() {

        wp_enqueue_script(
            'toggle-admin-notices',
            $this->js_dir. 'admin.js',
            array( 'jquery' ),
            false
        );
    }
}

Mõned asjad, mida ülaltoodud koodi kohta tähele panna:

  • see kasutab  märksõna use, et PHP teaks, et töötame Asset liidesega,
  • Lisasin nime ette JavaScripti, et oleks selge, millist tüüpi varaga ma töötan.

Lõpuks, liidest rakendava klassi eksemplarimiseks tehke lihtsalt järgmist:

<?php

$assets = new AdminJavaScript_Assets();
$assets->init();

Muidugi, see konkreetne näide on lihtne ja ma jätsin tavalised koodikommentaarid välja, kuid see on üldiselt loetavuse huvides. Kui soovite midagi sellist tegevuses näha, vaadake üle selle lähtekood

Kui soovite midagi sellist tegevuses näha, vaadake üle selle konkreetse pistikprogrammi lähtekood .

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem