⊗ppOpNsAu 105 of 107 menu

Autoloading Kelas dalam OOP di PHP

Anda sudah tahu bahwa untuk menggunakan suatu kelas, kita harus menghubungkannya melalui require. Ketika dalam proyek terdapat sangat banyak kelas, maka akan dihasilkan banyak koneksi, yang sangat tidak nyaman untuk ditulis dan sulit dikontrol.

Untuk menyelesaikan masalah seperti itu dalam PHP telah ditambahkan autoloading kelas. Autoloading memungkinkan PHP untuk secara otomatis memuat file dengan kelas saat upaya mengakses kelas tersebut dalam kode. Namun, begitu saja kelas tidak akan dimuat - kelas tersebut harus ditempatkan di dalam folder situs dengan cara khusus, mengikuti beberapa kesepakatan tentang penamaan file dan folder kelas. Anda dapat menggunakan kesepakatan yang sudah built-in di PHP, atau membuat sendiri dan menggunakannya.

Mari kita bahas terlebih dahulu kesepakatan standar PHP. Kesepakatan ini terletak pada kenyataan bahwa jika kita memiliki beberapa file dengan kelas, maka jalur melalui folder situs ke file ini harus cocok dengan namespace file, dan nama file harus cocok dengan nama kelas yang disimpan di dalamnya. Pada saat yang sama, nama folder dan file harus dalam huruf kecil.

Mari kita lihat contohnya. Misalkan kita memiliki kelas berikut:

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

Menurut kesepakatan, kelas ini harus ditempatkan di folder /core/admin/ dalam file pagecontroller.php.

Sekarang mari kita di file index.php gunakan kelas kita, tanpa menghubungkannya melalui require, namun menggunakan autoloading. Untuk ini di awal file, di mana kelas dipanggil, seharusnya memanggil fungsi spl_autoload_register. Mari kita lakukan ini:

<?php spl_autoload_register(); // mengaktifkan autoloading $obj = new Core\Admin\PageController; // dengan tenang membuat objek ?>

Di file index.php aktifkan pemuatan otomatis kelas. Mengikuti kesepakatan tentang penamaan folder dan file buatlah kelas Core\User, kelas Core\Admin\Controller dan kelas Project\User\Data. Di file index.php buat objek dari kelas-kelas ini.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak