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

Ettepanekud menetlusseadustiku korraldamiseks

30

Nii palju kui ma kirjutan objektorienteeritud programmeerimisest ja olen selle fänn, ei kirjuta ma palju aegadest, mil ma protseduurilise koodibaasiga töötan .

Protseduuriline programmeerimine on struktureeritud programmeerimisest tuletatud programmeerimisparadigma, mis põhineb protseduurikutse kontseptsioonil. Protseduurid, tuntud ka kui rutiinid, alamprogrammid või funktsioonid, sisaldavad lihtsalt läbiviidavaid arvutustoiminguid.

Mõnikord tulen sellest mõne projekti nõuetest, mõnikord pärinud projektist või mõnikord millegi muu tõttu.

Arvan, et on oluline, et me programmeerijatena ei hoiaks üht paradigmat nii kõrgel, et kardaksime töötada muude koodikirjutamisviisidega. Lõppude lõpuks on koodi kirjutamise toiming oma olemuselt seotud probleemi lahendamisega.

Seda, kuidas probleem lahendatakse, võib pidada teisejärguliseks.

Olenemata sellest, kui ma töötan koodibaasiga; aga see on kirjas, püüan siiski veenduda, et see on korraldatud nii, et see oleks ühtne, võimalikult hõlpsasti jälgitav ja seda oleks võimalik aja jooksul säilitada.

Ettepanekud menetlusseadustiku korraldamiseks

Mõtlesin, et jagan, kuidas lähenen WordPressi pistikprogrammide kirjutamisele protseduurilise programmeerimise ja objektorienteeritud programmeerimise abil ja kuidas ma menetluskoodi korraldan.

Kui mitte midagi muud, siis võib-olla annab see teile ideid praeguse või tulevase projekti jaoks.

Korraldamise menetlusseadustik

Protseduurikoodiga töötamisel on palju võimalusi lisada peaaegu kõik ühte monoliitsesse faili.

Ma ei poolda seda lähenemisviisi, sest see raskendab failis leidmise kohta, kus miski asub (vähemalt siis, kui olete keegi, kes on alles projektis osalemas).

Selleks ma tavaliselt teen neid asju.

  1. Eraldi toimingud ja filtrid. Tavaliselt teen kõik toimingud ja paigutan need ühte faili ning võtan kõik filtrid ja paigutan need teise faili. Samuti on võimalik neid faile alamkataloogidesse (kui mitte ka nimeruumidesse) eraldada nende fookusalade alusel. Näiteks võivad kõik haldusalaga seotud toimingud minna administraatori alamkataloogi.
  2. Kirjutage silumisfail. Tavaliselt lisan pistikprogrammi lihtsa silumisskripti, et saaksin silumisinfot ekraanil hõlpsalt renderdada, kirjutada silumislogifaili või kirjutada mõlemasse. See võib olla mugavus, kui mitte midagi muud, kuid see aitab hõlpsasti näha, mis toimub, ilma et peaksite Xdebugi käivitama ja koodi läbima (kui see pole keerulisem probleem).
  3. Automaatne laadija. Kui kasutate protseduurikoodi, ei pruugi te nimeruume üldse kasutada, kuid kui jah, siis lisan ka automaatlaaduri, mille olen failide automaatse kaasamise hõlbustamiseks kirjutanud. See erineb automaatlaadurist, kui Composer genereerib, kuid teeb siiski sama asja.

Ilmselgelt pole ülaltoodud soovitustes midagi keerulist. Tegelikult ma ütleksin, et ükski ülaltoodutest, eriti esimene samm, võib protsessikoodi hallatavuse parandamisel oluliselt kaasa aidata.

Peamine pistikprogrammi fail

Kui otsustate teha kõik ülaltoodud, peaks pistikprogrammi alglaadimisfaili lõplik versioon olema väga lihtne. Tegelikult võib see välja näha midagi nii lihtsat :

<?php
/**
 * Plugin Name: Acme Plugin
 * Plugin URI:  https://acmeplugins.com/acme
 * Description: This is the plugin description.
 * Version:     1.0.0
 * Author:      Acme Plugins Co.
 * Author URI:  https://acmeplugins.com/acme
 * License:     GPL-3.0+
 * License URI: http://www.gnu.org/licenses/gpl-3.0.txt
 *
 * @since   1.0.0
 * @package Acme
 */

namespace Acme;

defined( 'WPINC') || die;

// Include the custom autoloader.
require_once __DIR__. '/inc/autoload.php';

// Include action and filters.
require_once __DIR__. '/inc/actions.php';
require_once __DIR__. '/inc/filters.php';

See eeldab jällegi, et rakendate kõiki kolme soovitust. Kui ei, siis teie rakendamine võib erineda.

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