Kursus Membuat Web

iklan

Membuat Property (OOP) dengan PHP (PHP versi 5.6.x dan 7.0.x)

Property pada suatu class dideklarasikan seperti variabel, namun harus diawali dengan salah satu keyword ini "var, public, protected, private".

Membuat PROPERTY

Berikut ini adalah contoh kita membuat satu property $nama_depan.

<?php
	class orang
	{
		var $nama_depan;
	}
?>

Function property_exists()

Untuk mengecek apakah suatu property sudah dideklarasikan atau belum kita bisa menggunakan function property_exists().

<?php
	class orang
	{
		var $nama_depan;
	}
?>
<!doctype html>
<html lang="id">
	<head>
		<title>Property</title>
		<meta charset="UTF-8">
	</head>
	<body>
	<?php
		$guru = new orang;
		echo "Apakah property nama_depan ada ? " .(property_exists($guru, 'nama_depan')?'true':'false') ."<br>";
		echo "Apakah property nama_depan ada ? " .(property_exists('orang', 'nama_depan')?'true':'false');
	?>
	</body>
</html>

Jika kode diatas kita jalankan di browser maka akan keluar seperti ini :

  • Apakah property nama_depan ada ? true
  • Apakah property nama_depan ada ? true

property_exists($guru, 'nama_depan') disini yang dicek adalah property nama_depan pada object guru, dan hasilnya adalah true, karena pada object guru terdapat property nama_depan. Ingat ! object guru adalah instance dari class orang, didalam class orang kita mendeklarasikan property nama_depan.

property_exists('orang', 'nama_depan') disini yang dicek adalah property nama_depan pada class orang, dan hasilnya adalah true, karena pada class orang terdapat property nama_depan.

Function var_export

Cara mendapatkan nilai dari suatu properti caranya seperti ini:

<?php
	$guru->nama_depan
?>

Buat kode lengkap seperti ini dan jalankan di browser !

<?php
	class orang
	{
		var $nama_depan;
	}
?>
<!doctype html>
<html lang="id">
	<head>
		<title>Property</title>
		<meta charset="UTF-8">
	</head>
	<body>
	<?php
		$guru = new orang;
		echo $guru->nama_depan;
	?>
	</body>
</html>

Jika tidak memunculkan hasil apapun dibrowser Anda, itu bukan salah, karena memang pada property ini kita tidak menentukan nilainya, sehingga secara default nilainya adalah NULL.

Kita bisa menggunakan function var_export() untuk melihat nilai dari property nama_depan

<?php
	class orang
	{
		var $nama_depan;
	}
?>
<!doctype html>
<html lang="id">
	<head>
		<title>Property</title>
		<meta charset="UTF-8">
	</head>
	<body>
	<?php
		$guru = new orang;
		echo var_export($guru->nama_depan);
	?>
	</body>
</html>

Kalau kita jalankan kode diatas di browser akan di munculkan nilai NULL, jadi ketika suatu property tidak diatur nilainya, maka secara default nilainya dalah NULL.

Mengatur Nilai Property.

Kita bisa mengatur nilai property dari dalam class maupun dari object.

Untuk memudahkan pemahaman mari kita buat kode seperti di bawah ini :

<?php
	class orang
	{
		var $nama_depan; // type data NULL
		var $nama_belakang = 'Falah'; // type data string
		var $umur 		   = 30; // type data integer
		var $hari          = array("senin","selasa","rabu","kamis","jumat","sabtu", "minggu"); // type data array
	}
?>
<!doctype html>
<html lang="id">
	<head>
		<title>Property</title>
		<meta charset="UTF-8">
	</head>
	<body>
	<?php
		$guru = new orang;
		$guru->nama_depan = "Muhammad"; // nilai property dibuat diluar class
		$guru->nama_belakang;
		echo "Nama Lengkap Saya adalah : " .$guru->nama_depan ." " .$guru->nama_belakang ."<br>";
		echo "Umur Saya : " .$guru->umur ." Tahun <br>"; 
		echo "Sekarang hari : " .$guru->hari[5];
	?>
	</body>
</html>

Jika kode diatas kita jalankan di browser maka akan keluar seperti ini :

  • Nama Lengkap Saya adalah : Muhammad Falah
  • Umur Saya : 30 Tahun
  • Sekarang hari : sabtu

Awalnya nilai property nama_depan di dalam class adalah NULL, namun pada object diberikan nilai $guru->nama_depan = "Muhammad" maka nilai property nama_depan sekarang adalah Muhammad bukan NULL. Untuk property umur bertype data integer dan diatur nilainya di dalam class. Property hari bertype data array, maka untuk mengambil nilai property hari bentuknya seperti ini $guru->hari[5], angka 5 adalah nomor index pada array.

Melihat property yang ada dalam suatu class.

Kita bisa menggunakan function print_r() untuk melihat semua property yang ada dalam suatu class.

Buatlah kode seperti dibawah ini :

<?php
	class orang
	{
		var $nama_depan; // type data NULL
		var $nama_belakang = 'Falah'; // type data string
		var $umur 		   = 30; // type data integer
		var $hari          = array("senin","selasa","rabu","kamis","jumat","sabtu", "minggu"); // type data array
	}
?>
<!doctype html>
<html lang="id">
	<head>
		<title>Property</title>
		<meta charset="UTF-8">
	</head>
	<body>
	<?php
		$guru = new orang;
		echo "<pre>" .print_r($guru,true) ."</pre>";
	?>
	</body>
</html>

Jika kode diatas kita jalankan di browser maka akan keluar seperti ini :

orang Object
(
    [nama_depan] => 
    [nama_belakang] => Falah
    [umur] => 30
    [hari] => Array
        (
            [0] => senin
            [1] => selasa
            [2] => rabu
            [3] => kamis
            [4] => jumat
            [5] => sabtu
            [6] => minggu
        )

)

Itulah semua property yang ada di dalam class orang.

Function get_class_vars().

selain menggunakan function print_r() kita juga bisa menggunakan function get_class_vars() untuk melihat semua property yang ada dalam suatu class.

Buatlah kode seperti dibawah ini :

<?php
	class orang
	{
		var $nama_depan; // type data NULL
		var $nama_belakang = 'Falah'; // type data string
		var $umur 		   = 30; // type data integer
		var $hari          = array("senin","selasa","rabu","kamis","jumat","sabtu", "minggu"); // type data array
	}
?>
<!doctype html>
<html lang="id">
	<head>
		<title>Property</title>
		<meta charset="UTF-8">
	</head>
	<body>
	<?php
		$guru = new orang;
		echo "<pre>" .print_r(get_class_vars('orang'),true) ."</pre>";
	?>
	</body>
</html>

Jika kode diatas kita jalankan di browser maka akan keluar seperti ini :

Array
(
    [nama_depan] => 
    [nama_belakang] => Falah
    [umur] => 30
    [hari] => Array
        (
            [0] => senin
            [1] => selasa
            [2] => rabu
            [3] => kamis
            [4] => jumat
            [5] => sabtu
            [6] => minggu
        )

)

Itulah semua property yang ada di dalam class orang.

Selanjutnya kita akan membuat method di dalam class.

muhammad falah

Saya Muhammad Falah, jika Anda ingin langsung belajar dengan Saya, silakan ikuti kursus membuat web yang Saya bimbing atau ikuti Saya di :

Muhammad Falah Youtube Channel Muhammad Falah LinkedIn Muhammad Falah Google Plus Muhammad Falah Twitter Muhammad Falah Facebook

copy right © 2015