Cara menggunakan php spl

spl_autoload_register() memungkinkan Anda untuk mendaftarkan banyak fungsi (atau metode statis dari kelas Autoload Anda sendiri) yang akan dimasukkan PHP ke dalam tumpukan / antrian dan memanggil secara berurutan ketika "Kelas baru" dideklarasikan.

Jadi misalnya:

spl_autoload_register('myAutoloader');

function myAutoloader($className)
{
    $path = '/path/to/class/';

    include $path.$className.'.php';
}

//-------------------------------------

$myClass = new MyClass();

Pada contoh di atas, "MyClass" adalah nama kelas yang Anda coba instantiate, PHP meneruskan nama ini sebagai string spl_autoload_register(), yang memungkinkan Anda untuk mengambil variabel dan menggunakannya untuk "memasukkan" kelas / file yang sesuai . Akibatnya Anda tidak perlu secara khusus menyertakan kelas itu melalui pernyataan sertakan / memerlukan ...

Cukup panggil saja kelas yang ingin Anda instantiate seperti pada contoh di atas, dan karena Anda mendaftarkan fungsi (via spl_autoload_register()) Anda sendiri yang akan mencari tahu di mana semua kelas Anda berada, PHP akan menggunakan fungsi itu.

Manfaat menggunakan spl_autoload_register()adalah tidak seperti __autoload()Anda tidak perlu menerapkan fungsi pengisian otomatis di setiap file yang Anda buat. spl_autoload_register()Anda juga dapat mendaftarkan beberapa fungsi pengisian otomatis untuk mempercepat autoloading dan membuatnya lebih mudah.

Contoh:

spl_autoload_register('MyAutoloader::ClassLoader');
spl_autoload_register('MyAutoloader::LibraryLoader');
spl_autoload_register('MyAutoloader::HelperLoader');
spl_autoload_register('MyAutoloader::DatabaseLoader');

class MyAutoloader
{
    public static function ClassLoader($className)
    {
         //your loading logic here
    }


    public static function LibraryLoader($className)
    {
         //your loading logic here
    }

Sehubungan dengan spl_autoload , manual menyatakan:

Fungsi ini dimaksudkan untuk digunakan sebagai implementasi standar untuk __autoload(). Jika tidak ada yang ditentukan dan spl_autoload_register()dipanggil tanpa parameter apa pun maka fungsi ini akan digunakan untuk panggilan selanjutnya __autoload().

Dalam istilah yang lebih praktis, jika semua file Anda berada dalam satu direktori dan aplikasi Anda tidak hanya menggunakan file .php, tetapi file konfigurasi khusus dengan ekstensi .inc misalnya, maka salah satu strategi yang dapat Anda gunakan adalah menambahkan direktori Anda yang berisi semua file ke jalur sertakan PHP (via set_include_path()).
Dan karena Anda juga memerlukan file konfigurasi, Anda akan gunakan spl_autoload_extensions()untuk membuat daftar ekstensi yang Anda inginkan dari PHP.

Contoh:

set_include_path(get_include_path().PATH_SEPARATOR.'path/to/my/directory/');
spl_autoload_extensions('.php, .inc');
spl_autoload_register();

Karena spl_autoload adalah implementasi default __autoload()metode sulap, PHP akan memanggil spl_autoload ketika Anda mencoba dan membuat instance kelas baru.

Semoga ini membantu...

Jul 05, 2022

Ariata C.

5menit Dibaca

Cara menggunakan php spl

Dengan mengetahui cara menggunakan script PHP dan menghubungkannya ke MySQL, Anda bisa memodifikasi, melihat, atau bahkan mengelola tabel yang dibuat di database MySQL.

Di artikel ini, kami akan membahas cara membuat koneksi database PHP ke MySQL. Artikel ini juga sangat berguna bagi user baru yang ingin mendalami seluk-beluk pengembangan web (web development).

  • Dua Cara Membuat Koneksi Database PHP ke MySQL
  • Menggunakan MySQLi untuk Membuat Koneksi PHP ke MySQL
    • Tentang Kode MySQLi
  • Menggunakan PDO untuk Membuat Koneksi PHP ke MySQL
    • Tentang Kode PDO
  • Mengecek Konektivitas dan Mengatasi Kesalahan Umum (Error) yang Sering Terjadi
    • Error Karena Memasukkan Password yang Salah
    • Tidak Dapat Membuat Koneksi Database PHP ke Server MySQL
  • Kesimpulan

Catat informasi (credential) database MySQL yang sudah dibuat untuk digunakan di langkah selanjutnya. Pun jangan sampai lupa username database dan password username!

Dua Cara Membuat Koneksi Database PHP ke MySQL

Ada dua cara untuk membuat koneksi ke database MySQL dengan PHP, yaitu menggunakan MySQLi dan PDO.

MySQLi merupakan singkatan dari MySQL Improved. Ekstensi MySQL ini menambahkan fitur baru di interface database MySQL. MySQLi bersifat prosedural dan juga berorientasi objek, di mana siftat prosedural adalah atribut yang diwariskan dari versi MySQL yang lebih lama.

MySQL versi awal membagi task ke dalam satu prosedur bertahap (langkah demi langkah) dan saling berhubungan. Tindakan modifikasi akan semakin sulit karena kode harus diubah dari bagian paling pertama. Di sisi lain, MySQLi melihat data sebagai satu set objek yang dapat ditukarkan dan memiliki fungsi serta memperbolehkan pengguna untuk menambah atau menghapus data.

PDO adalah singkatan dari PHP Data Object. Lain halnya dengan MySQLi, PDO justru berorientasi hanya pada objek dan mendukung sejumlah tipe database yang menggunakan PHP, seperti MySQL, MSSQL, Informix, dan PostgreSQL.

Fungsi mysql_ sudah usang dan tidak boleh lagi digunakan karena tidak aman serta tidak pernah lagi dipelihara (maintainance) atau dikembangkan.

Salah satu fungsi penting yang juga didukung oleh MySQLi dan PDO adalah prepared statements. Fungsi ini akan mempercepat waktu yang dibutuhkan oleh MySQL untuk menjalankan query yang sama berkali-kali. Prepared statement juga berfungsi untuk mencegah terjadinya serangan injeksi SQL ketika menjalankan perubahan di database.

Bagaimanapun metode dan cara yang Anda gunakan, pastikanlah informasi yang diberikan benar dan valid adanya sehingga Anda bisa membuat koneksi database PHP MySQL. Informasi yang dimaksud di sini adalah informasi database MySQL yang sudah Anda catat dan simpan sebelumnya.

Untuk konfigurasi, Anda juga memerlukan nama server atau hostname. Hostname untuk server MySQL Hostinger adalah “localhost“. Secara umum, nama server merupakan nama yang digunakan bila Anda hendak mengunggah script PHP sebagai database ke server yang sama.

Apabila Anda ingin membuat koneksi ke database dari lokasi remote (misalnya, komputer), gunakanlah alamat IP server MySQL. Untuk mendapatkan informasi lengkap mengenai alamat IP ini, hubungi provider hosting Anda. Nantinya mereka akan memberi tahu hostname yang harus digunakan.

Menggunakan MySQLi untuk Membuat Koneksi PHP ke MySQL

Empat langkah menggunakan MySQLi untuk membuat koneksi database PHP ke MySQL:

  1. Buka File Manager -> public_html.
  2. Buat File Baru dengan mengklik ikon tambah file pada menu di atas layar.
  3. Simpan dengan nama databaseconnect.php, atau nama lain yang Anda inginkan, tapi ekstensinya tetap .php.
  4. Salin dan letakkan barisan kode di bawah ini ke file tersebut. Klik dua kali untuk membukanya. Pastikan Anda sudah mengganti empat value pertama yang ada di bawah <?php dengan informasi (credential) yang dicatat sebelumnya.
<?php
$servername = "localhost";
$database = "databasename";
$username = "username";
$password = "password";

// Create connection

$conn = mysqli_connect($servername, $username, $password, $database);

// Check connection

if (!$conn) {

    die("Connection failed: " . mysqli_connect_error());

}
echo "Connected successfully";
mysqli_close($conn);
?>

Tentang Kode MySQLi

Fungsi utama yang digunakan di script ini adalah mysqli_connect(). Fungsi ini merupakan bagian internal PHP untuk membuat koneksi baru ke server MySQL.

Pada barisan kode di atas, di bagian awalnya terdapat deklarasi variabel serta value yang ditentukan untuk variabel ini. Biasanya ada empat variabel untuk pembuatan koneksi database: $servername, $database, $username, dan $password. Informasi database ditetapkan sebagai value untuk keempat variabel tersebut sehingga dapat dikirimkan ke fungsi.

Apabila koneksi tidak berhasil dibuat, fungsi die() akan dijalankan. Fungsi ini akan menghentikan jalannya script dan menampilkan pesan yang memberitahukan bahwa telah terjadi kesalahan koneksi. Secara default, notifikasi koneksi MySQL error akan memunculkan pemberitahuan singkat Connection failed yang kemudian diikuti dengan pesan yang mendeskripsikan kesalahan (error) tersebut.

Namun di sisi lain, apabila koneksi ke MySQL berhasil dibuat, kode akan menampilkan pesan Connected successfully (berhasil terhubung).

Bagian terakhir dari barisan kode di atas adalah mysqli_close. Fungsi ini akan menutup koneksi ke database secara manual. Jika tidak ditetapkan sebelumnya, koneksi MySQL akan berhenti sendiri setelah script selesai dijalankan.

Menggunakan PDO untuk Membuat Koneksi PHP ke MySQL

Cara kedua untuk membuat koneksi database PHP ke MySQL adalah dengan PDO. Langkahnya hampir sama dengan MySQLi meskipun ada sedikit perbedaan:

  1. Pada folder public_html, buat file yang akan diberi nama pdoconfig.php. Masukkan kode di bawah ini ke dalam file tersebut. Ganti value placeholder dengan informasi database yang sudah Anda buat dan catat sebelumnya. Klik Save and Close kalau sudah selesai.
<?php
    $host = 'localhost';
    $dbname = 'databasename';
    $username = 'username';
    $password = 'password';
  1. Pada direktori yang sama, buat file lain dan beri nama databaseconnect.php. Tambahkan kode di bawah ini. Jika file sebelumnya diberi nama lain (bukan pdoconfig.php), ganti value yang ada di require_once.
<?php
require_once 'pdoconfig.php';

try {
    $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    echo "Connected to $dbname at $host successfully.";
} catch (PDOException $pe) {
    die("Could not connect to the database $dbname :" . $pe->getMessage());
}

Tentang Kode PDO

Koneksi database PDO mengharuskan Anda untuk membuat objek PDO baru yang dilengkapi dengan Data Source Name (DSN)Username, dan Password.

DSN mendeskripsikan tipe database, nama database, dan, jika dibutuhkan, informasi lain yang berkaitan dengan database. Informasi tersebut merujuk pada variabel dan juga value yang telah ditentukan di file dbconfig.php, ditandai oleh baris require_once yang ada di databaseconnect.php.

Pada barisan kode di subbab sebelumnya, di bagian bawah, terdapat kode try…catch. Arti dari kode ini adalah script akan mencoba (try) membuat koneksi ke MySQL mengunakan kode yang tersedia. Namun, apabila ada masalah, kode di bagian catch yang akan dijalankan. Anda bisa menggunakan catch block untk menampilkan pesan koneksi bermasalah atau menjalankan kode alternatif jika try block gagal.

Apabila koneksi berhasil dibuat, pesan yang muncul adalah “Connected to $dbname at $host successfully.” Namun, jika percobaannya gagal, kode catch akan menampilkan pesan error dan memberhentikan script.

Mengecek Konektivitas dan Mengatasi Kesalahan Umum (Error) yang Sering Terjadi

Untuk mengecek apakah koneksi berhasil dibuat atau justru gagal, ketik domain, misalnya, namadomainanda/databaseconnect.php di kolom browser. Oh, ya! Jika file PHP-nya diberi nama lain selain dari contoh yang kami berikan, ganti databaseconnect dengan nama tersebut.

Nantinya Anda akan melihat pesan singkat “Connected successfully” atau pesan sejenis lainnya apabila koneksi berhasil dibuat dan dijalankan.

Akan tetapi, jika koneksi gagal dibuat, pesan yang ditampilkan berbeda. Tampilan pesan error untuk MySQLi tidak akan sama dengan pesan error untuk PDO.

Error Karena Memasukkan Password yang Salah

Error atau kesalahan ini terjadi apabila Anda hanya mengubah password atau informasi lainnya di kode PHP dan tidak di database.

Jika ada pesan “Access denied” atau “Could not connect to database” yang muncul dan diikuti dengan “(using password: YES)”, hal pertama yang harus dilakukan adalah mengecek informasi di database. Bisa saja terjadi salah ketik atau ada bagian yang hilang.

Tidak Dapat Membuat Koneksi Database PHP ke Server MySQL

Apabila ada pesan “Can’t connect to MySQL server di ‘server’ (110)” yang muncul di MySQLi, itu berarti script tidak mendapat respons dari server. Hal ini terjadi karena Anda menggunakan “server” sebagai $servername, bukannya “localhost”. Nama ini tidak dikenali.

Di PDO, pesan error yang muncul adalah “Connection failed:SQLSTATE[Hy000] [2002]” dan diikuti dengan informasi lainnya yang memberitahukan bahwa host MySQL tidak ditemukan. Cara mengatasi error ini sama seperti di atas.

Ingatlah hal ini: ketika terjadi error dan Anda hendak mengatasinya, cek error log situs.

Log tersimpan di folder yang sama dengan folder script yang sedang dijalankan. Misalnya, script yang sedang dijalankan berasal dari folder public_html, file error_log juga akan berada di folder tersebut.

Kesimpulan

Di tutorial ini, Anda telah mempelajari hal-hal dasar mengenai pembuatan koneksi database PHP ke MySQL menggunakan MySQLi dan PHP Data Objects (PDO).

Semoga tutorial ini bermanfaat bagi mereka yang ingin serius di bidang pengembangan web. Akhir kata, membuat koneksi PHP ke MySQL adalah langkah pertama dan paling penting jika Anda hendak menggunakan script dan melakukan konfigurasi tingkat lanjut.

Silakan tinggalkan komentar atau kritik dan saran pada kolom di bawah ini.

Ariata suka sekali menulis dan menerjemahkan, dan sekarang ini bekerja sebagai translator di Hostinger Indonesia. Lewat artikel dan tutorial yang diterbitkan di blog Hostinger, Ariata ingin membagikan pengetahuan tentang website, WordPress, dan hal terkait hosting lainnya kepada para pembaca.