Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress Plugins
Code

Object-Oriented na Pag-awtolod sa WordPress, Bahagi 3

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Object-Oriented Autoloading in WordPress.
Object-Oriented Autoloading in WordPress, Part 2

Tagalog (Wikang Tagalog) translation by Anna Nelson (you can also view the original English article)

Sa huling tutoryal, sinuri natin ang orihinal na estado ng ating awtoloder at dinaanan natin ang isang proseso ng object-oriented na pagsusuri at disenyo. Ang layunin ng paggawa nito ay para mapagsama natin lahat ng natalakay sa seryeng ito at ang panimulang serye. 

Pangalawa, ang layunin ng paggawa nito sa ating tutoryal ay para magamit natin ang nalalabing oras para pasadahan ang ating klase, titignan kung paano ang bawat bahagi ay naaangkop nang magkakasabay, pinapatupad ito gamit ang ating plugin, tapos titignan kung paano ang pag-aplay ng object-oriented na programming at ang prinsipyo ng isang responsibilidad ay maaaring humantong sa mas nakapokus, kayang mapanatiling solusyon. 

Bago Tayo Magsimula 

Sa puntong ito, ipinagpalagay ko na sinusundan mo itong serye.   Kapag hinde, mangyaring suriin ang unang bahagi at ikalawang bahagi. Ipinagpalagay nito na nakakasunod ka.

Kapag baguhan ka, nirerekomenda ko ang pagbasa ng inisyal na serye sa kanyang kabuuan, din.  Kapag nakahabol ka na, dapat nasa maganda ka ng posisyon para tapusin ang serye habang tinatapos namin ang mga natira sa kowd na pinagkuhanan na kasama sa tutoryal na ito. 

Ano Na Ba Ang Nagawa Natin 

Para magbigay ng mabilis na buod at para siguraduhin na tayo ay nagkakaintindihan, tinalakay namin ang mga sumusunod na paksa sa seryeng ito:

  • sinuri ang depinisyon ng interface ng klase
  • nakita kung paano napapatupad ng klase ang isang interface 
  • sinuri ang prinsipyo ng isang responsibilidad
  • pinag-aralan ang aming umiiral na awtoloder 
  • gumawa ng mapa para sa ating object-oriented na bersyon ng isang awtoloder 
  • at nagdisenyo ng implementasyon na magiging batayan para sa isang object-oriented na bersyon ng isang awtoloder 

Sa puntong ito, handa na tayong ipagpalit ang ating umiiral na awtoloder sa kowd na nakabatay sa object-oriented.  Tandaan, gayunpaman, hindi ito simpleng bagay ng pagpalit ng mga file.  

Ano Ang Kailangan Nating Gawin

Sa halip, kailangan nating gumawa ng mga file, siguraduhing sumusunod sila sa WordPress Coding Standards, ipatupad sila, subukan ang kanilang implementasyon para siguraduhin na gumagana parin ang plugin, at tapos tanggalin ang umiiral na awtoloder.

Mukhang maraming trabaho, pero kapag ang ating pagsusuri at disenyo mula sa nakaraang tutoryal ay nagawa nang tama at napatunayang eksakto, kaunti nalang sana ang ating problema sa paggawa ng mga nakalista sa itaas.

Iyong Kapaligiran sa Pagbuo

Bago tayo pumunta sa implementasyon, gusto kong magbigay ng mabilis na buod sa kapaligiran sa pagbuo na dapat mayroon ka sa iyong sistema.  Kung magiging teknikal tayo, ito ay dapat mayroon ka na at tumatakbo o gumagana na batay sa mga direksyon sa mga nakaraang tutoryal, pero gusto kong maging kumpleto hangga't maaari. 

  • isang lokal na kapaligiran sa pagbuo na angkop sa iyong operating system
  • isang direktoryo kung saan ang WordPress 4.6.1 ay naka-host
  • isang editor ng teksto o IDE
  • kaalaman ng WordPress Plugin API

Dahil sa mga nasabi ko, magsimula na tayo.

Implementasyon ng Object-Oriented 

Sa seksyon na ito, bibisitahin natin ulit lahat ng mga kowd na sinuri natin sa mga nakaraang tutoryal; gayunpaman, titignan natin ang bawat indibidwal na file kasama ang kumpletong dokumentasyon.

Bukod pa rito, isasama natin sa ating proyekto para sa katapusan ng tutoryal na ito, magagamit natin ang kowd na ito sa halip ng isa, kowd na batay sa pamamaraan na ginamit natin noong una.

Tandaan na ang bawat isa sa mga sumusunod na mga file ay dapat pangalananan tulad ng nakalista at dapat kasama sa inc direktoryo.  At saka, lahat ng mga ito ay pwedeng i-download sa pamamagitan ng paggamit ng asul na pindutan sa sidebar ng artikulong ito.

class-autoloader.php

class-namespace-validator.php

class-file-investigator.php

class-file-registry.php

Pagsama ng mga File, Pagsimula ng Awtoloder

Ngayon na nagawa na natin ang ating mga file, kailangan nating gumawa ng dalawa pang maliliit na pagbabago:

  1. Kailangan nating isama lahat ng mga klase sa inc na direktoryo.
  2. Kailangan nating tanggalin ang lumang kowd ng awtoloder. 
  3. At kailangan nating gamitin ang bagong awtoloder kasama ang spl_autolod_rehistrer na punsyon.

Sa huli, ang pangwakas na bersyon ng awtolod.php ay dapat ganito ang hitsura:

At matutupad nang eksakto lahat ng nabanghay sa itaas. 

Pero Teka, Nakakakuha ako ng Pagkakamali!

Sa puntong ito, marami ka ng natapos na trabaho.  Na-refactor mo ang iyong buong awtoloder para magamit ang object-oriented na programming.  Dinokumento mo ang iyong mga klase at mga punsyon.  Nakagawa ka ng mga bagong file, natanggal ang kowd mula sa lumang mga file, at handa ka ng siguraduhin na lahat ay gumagana tulad ng inaasahan.

Kaya, gaya ng gagawin ng anumang developer, ilunsad mo ang bintana ng iyong panginain para manariwang muli ang pahina, papakitaan lang pala ng mensahe ng pagkakamali:

Undefined function error message

Maswerte, madali lang itong ayusin.  Ang problema ay tinatangka nating idagdag ang ating meta box nang masyadong maaga.   Para ayusin ito, baguhin natin ang init na paraan sa ating Meta_Box na klase para maisama ito:

Tapos magpapasok tayo ng punsyon na makakabit sa trabahong nagawa natin: 

Sa puntong ito, dapat naisasagawa mo na ang bagong kowd ng walang mga problema, walang mga babala, walang mga abiso, at walang mga pagkakamali.

Konklusyon

Mukhang masyadong matrabaho ang paggawa ng lahat ng ito—at oo!  Pero ang maganda dito ay marami tayong natalakay sa tatlong mga tutoryal, at nadagdagan yung trabahong nagawa natin noong nakaraang serye.   Sa bagay na iyon, maraming mga bagong paksa ang natalakay at mga bagong pamamaraan ang natutunan.

Tandaan na nagsusulat ako palagi para sa Envato Tuts+, at makikita mo lahat ng aking mga nakaraang tutoryal sa aking profile na pahina.  Bukod pa rito, madalas kong talakayin ang pagbuo ng software sa konteksto ng WordPress sa aking blog at sa Twitter kaya huwag mag-atubiling sundan ako kahit aling lugar.

Dahil sa mga nasabi, pag-aralan ang kowd na natalakay natin sa kabuuan ng seryeng ito (at siguro iyong nauna pa dito), at tignan kapag hindi mo magamit ang ilan sa mga pamamaraan sa iyong umiiral o trabaho sa hinaharap. 

Mga Mapagkukunan

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.