Ikonekta ang php file sa pahina. Pagkonekta ng mga third-party na file sa PHP. Kung isama o kailangan ay hindi gagana

Ang PHP ay may kakayahang magsama ng mga file na may code sa loob ng iba pang mga file. Ginagawa ito upang mabuo ang arkitektura ng application.

Ang arkitektura ng software ay isang hanay ng pinakamahalagang desisyon tungkol sa organisasyon ng isang software system. Kasama sa arkitektura ang:

  • ang pagpili ng mga elemento ng istruktura at ang kanilang mga interface kung saan binubuo ang system, pati na rin ang kanilang pag-uugali sa loob ng balangkas ng pakikipagtulungan ng mga elemento ng istruktura;
  • pag-uugnay ng mga piling elemento ng istraktura at pag-uugali sa lalong malalaking sistema;
  • isang istilong arkitektura na gumagabay sa buong organisasyon - lahat ng elemento, kanilang mga interface, kanilang pakikipagtulungan at kanilang koneksyon.

Ibig sabihin, kailangan nating hatiin ang ating code sa magkakahiwalay na bahagi, na ang bawat isa ay gagawa ng sarili nitong tungkulin. Halimbawa, maaari kang maglagay ng ilang function sa isang hiwalay na file, ikonekta ang file na ito sa loob ng isa pa, at gamitin ang mga ito sa file na ito.

Ang punto ng arkitektura ay ang mga bahagi ng programa na responsable para sa ilang katulad na pag-uugali ay nasa isang lugar, at madali silang mahanap at mabago.

Well, sa pangkalahatan, gumamit tayo ng isang halimbawa. Ngunit una, suriin natin ang isang "magic" na pare-pareho. Pinag-uusapan natin ang tungkol sa isang pare-pareho __DIR__. Naglalaman ito ng landas patungo sa direktoryo kung saan matatagpuan ang kasalukuyang script (ang script kung saan ginamit ang pare-parehong ito).

Isulat natin ito sa ating index.php ang sumusunod na code:

Even at odd na mga numero Numero 2
Numero 5
Numero 8

Sana walang nakalimutan na maaari mong ipasok ang PHP code nang direkta sa loob ng HTML? Napag-usapan namin ito sa. Doon lamang kami gumamit ng konstruksiyon na tulad nito para sa output:

Kung sa isang insert kailangan lang nating ipakita ang resulta ng ilang expression, maaari itong gawing simple sa:

At kung pupunta tayo ngayon sa URL ng ating application sa browser, makikita natin ang sumusunod:

Matagumpay na tumakbo ang aming application, at ang code ng pangunahing pahina ay hindi naglalaman ng mga pantulong na pag-andar - ginagamit ang mga ito gamit ang direktiba isama konektado sa aming file. Sa higit pang detalye - PHP code mula sa isang file functions.php ay ipinasok kung saan ito konektado gamit ang direktiba isama.

Pagkakaiba sa pagitan ng nangangailangan at kasama

May isa pang direktiba para sa pagkonekta ng mga file - nangangailangan. Kung papalitan mo ngayon isama sa nangangailangan, ganito:

Mangangailangan __DIR__ . "/functions.php";

pagkatapos ay walang magbabago - ang code ay gagana nang eksakto pareho.

Gayunpaman, mayroon pa ring pagkakaiba sa pagitan nila. Ito ay namamalagi sa katotohanan na kung ang kasama na file ay hindi natagpuan, kung kailan isama babangon babala, ngunit ang programa ay magpapatuloy sa pagpapatupad. At kung wala ang connector kapag sinubukan mong i-execute nangangailangan, pagkatapos ay magkakaroon ng nakamamatay na error at magwawakas ang script.

Ibalik natin ang direktiba isama, palitan natin ang pangalan functions.php V abc.php at subukang i-update ang pahina.

Nakatanggap kami ng mga error sa iba't ibang uri. Ang una sa kanila ay babala, na nagpapahiwatig na ang file functions.php hindi nahanap. Ngunit ang script ay nagpatuloy sa pagpapatupad at pagkatapos ay nag-crash sa linya 10 dahil ang function ay hindi natagpuan isEven(), at ito na nakamamatay na pagkakamali.
Palitan na natin isama sa nangangailangan at i-update muli ang pahina.

Ngayon nakuha namin nakamamatay na pagkakamali kaagad sa pangalawang linya, natapos ng application ang trabaho nito sa puntong ito.

Iyon ay nangangailangan dapat gamitin kung saan kinakailangan ang pagsasama ng file. Halimbawa, isang file na may configuration o mga kinakailangang function.

A isama ay maaaring gamitin para sa mga file na hindi kinakailangang isama (kung ang code ay maaaring magpatuloy na tumakbo nang wala ang mga ito). Halimbawa: file na may banner advertising code. Oo, hindi lalabas ang advertising, ngunit patuloy na gagana ang site.

Paano mo pa magagamit ang require at isama

Bilang karagdagan sa katotohanan na maaari mong isama ang mga file na may PHP code, maaari mo ring isama ang mga file na naglalaman ng ilang teksto, o sa partikular na HTML code.

Iminumungkahi kong isaalang-alang ang sumusunod na sitwasyon: sa aming website palagi kaming may parehong header, sidebar, at footer, ngunit nagbabago ang pamagat at nilalaman ng pahina. Sabihin nating ganito ang hitsura ng aming site:

Na-highlight ko sa berde ang bahagi ng pahina na magbabago.

Gumawa muna tayo ng aming template. Sana lahat pumasa. Nakuha ko ang code na ito:

Pamagat ng pahina

HEADER
NILALAMAN
FOOTER

Ganito ang naging resulta ng aking web page:

Hatiin natin ngayon ang code na ito sa mga bahagi nito. Gumawa tayo ng 4 na file: header.php na may file header, sidebar.php na may side column, content.php na may pangunahing nilalaman ng page at footer.php para sa site footer.

Talahanayan ng header ng page, td ( border: solid black 1px; border-collapse: collapse; ) #layout ( width: 800px; margin: auto; ) #layout td ( padding: 20px; ) #sidebar ( width: 300px )

HEADER
NILALAMAN
FOOTER

Ngayon bumalik tayo sa index.php at isulat ang sumusunod na code dito:

I-refresh natin muli ang page:

Ta-da! Ang aming pahina ay nabuo nang pabago-bago! Hindi lamang ito binuo mula sa iba't ibang mga bahagi, ngunit nakakakuha din ito ng mga halaga mula sa mga variable.

nangangailangan_isang beses at isama_isang beses ang mga direktiba

Minsan kailangan mo lang magkonekta ng isang file nang isang beses. Halimbawa, upang isama ang isang file na may mga function nang isang beses lamang. Ginagamit ang mga direktiba para dito nangangailangan_minsan At isama_minsan.

Gumawa tayo ng file config.php at isulat ang mga sumusunod na nilalaman dito: