⊗ppOpNsAu 105 of 107 menu

Upakiaji wa kiotomatiki wa madarasa katika OOP katika PHP

Tayari unajua kuwa ili kutumia darasa lolote, lazima tuililishe kupitia require. Wakati kwenye mradi kuna madarasa mengi sana, basi hutokea maingizo mengi ambayo ni vigumu kuandika na ni ngumu kudhibiti.

Ili kutatua tatizo kama hilo katika PHP iliyoongezwa upakiaji wa kiotomatiki wa madarasa. Upakiaji wa kiotomatiki huuruhusu PHP kupakia faili kiotomatiki na darasa wakati wa kujaribu kurejelea darasa hilo katika msimbo. Hata hivyo, madarasa hayatapakia wenyewe hawayatapakia - ni muhimu kuwaweka kwenye folda za tovuti kwa njia maalum, kufuata fulani mapatano ya majina ya faili na folda za madarasa. Inawezekana kutumia mapatano yaliyojengwa ndani ya PHP, au unda yako mwenyewe na uitumie.

Wacha kwanza tuchambue mapatano ya kawaida ya PHP. Mapatano haya yanajumuisha kuwa kama tunayo faili fulani na darasa, basia njia ya folda za tovuti kwa faili hii inapaswa Sanana na anuwai ya majina ya faili, na jina la faili linapaswa sanana na jina la darasa lilio ndani yake. Wakati huo huo, majina ya folda na faili yanapaswa kuwa kwa herufi ndogo.

Wacha tuangalie kwa mfano. Wacha tuwe na darasa lifuatalo:

<?php namespace Core\Admin; class PageController { } ?>

Kulingana na mapatano darasa hili linapaswa kupatikana katika folda /core/admin/ kwenye faili pagecontroller.php.

Sasa wacha kwenye faili index.php tutumie darasa letu, bila kulilisha kupitia require, lakini kwa kutumia upakiaji wa kiotomatiki. Ili kufanya hivyo mwanzoni kwa faili, ambapo madarasa yanaitwa, inapaswa kuitwa kazi spl_autoload_register. Wacha tufanye hivi:

<?php spl_autoload_register(); // wezesha upakiaji wa kiotomatiki $obj = new Core\Admin\PageController; // tunaunda kitu kwa utulivu ?>

Kwenye faili index.php wezesha upakiaji wa kiotomatiki wa madarasa. Kufuata mapatano ya majina ya folda na faili fanya darasa Core\User, daras Core\Admin\Controller na darasa Project\User\Data. Kwenye faili index.php unda vitu vya madarasa haya.

ptfrhybnuzc