bagaimana alur merancang web dengan OOP ?

selamat sore gan, saya mau bertanya saya ini newbie, saya telah belajar fundamental php, databases,crud, ajax dll.

bagaimanakah tahapan dalam membuat web dengan oop ?

maksudnya dalam merancang oop itu "kita pertama membuat kelasnya dulu, apa kita buat objek atau methodnya terlebih dahulu (panggil dulu methodnya baru buat kelasnya / buat dulu kelasnya baru panggil methodnya)" #hehe susah saya ngejelasin

saya sering melihat video di internet dan di sekolah koding yang di buat pertama itu methodnya setelah itu baru kelasnya.

atau mungkin ada yang saya lewatkan step-stepnya sebelum mulai belajar OOP, ketika saya belajar OOP kadang2 saya bingung jadinya dengan alur programnya.

avatar ivanpratama99
@ivanpratama99

88 Kontribusi 12 Poin

Diperbarui 5 tahun yang lalu

2 Jawaban:

waktu kita berencana membuat program tentunya sudah ada dalam perencanaan kita secara garis besar metode-metode(fungsi) apa yang paling mendasar yang akan di butuhkan dalam pembangunan program tesebut. Setelah kita tuliskan metode2 dasar kedalam class object ternyata pada waktu implementasi nya atau saat instantiate class object ternyata kita masih butuh metode2 lain untuk melengkapi logika programnya, oleh karena itu maka kita sisipkan metode2 baru yang di butuhkan kedalam class object tadi.

misalnya di dalam sebuah class object bernama class User paling kurang ada metode atau fungsi bernama gantiPassword() karena pada dasarnya setiap user akan ada password, lalu kita mulai berpikir apa saja yang harus di lakukan atau di lalui oleh user untuk bisa ganti passwordnya. misalnya, user input harus di bersihkan dahulu dengan htmlspecialchars dan kalau bisa inputnya juga di crypt dan banyak lagi kemungkinana yang lain nya tergantungan maksud dan tujuan programmernya. Jikalau logika itu di terjemahkan dengan logika OOP maka akan mirip sbb: saya bilang mirip lo yah

 function gantiPassword(){

		// ganti pakai kata kunci update
		$query = "UPDATE
					" . $this->table_name . "
				SET
					password = :password
				WHERE
					id = :id";

		// query-nya di prepare
		$statement_nya = $this->conn->prepare($query);

		// di bersihkan agar tak di racuni oleh kode html
		$this->password=htmlspecialchars(strip_tags($this->password));
		$this->access_code=htmlspecialchars(strip_tags($this->access_code));

		// cocokan nilai buraman dengan nilai sebenarnya pakai bindParam
		$password_hash = password_hash($this->password, PASSWORD_BCRYPT);
		$statement_nya->bindParam(':password', $password_hash);
		$statement_nya->bindParam(':id', $this->id);

		// eksekusi query-nya
		if($statement_nya->execute()){
			return true;
		}else{
			return false;
		}
	}

Setelah kita tulis kode di atas di dalam class object bernama User, ternyata kita masih butuh fungsi atau metode yang lain misalnya fungsi lupaPassword() untuk mengatur orang yang lupa passwornya, atau mungkin fungsi apakahEmailEksis() agar email bisa di pakai sebagai username Dan banyak lagi kemungkinan method lain nya yang mungkin di butuhkan di dalam class object tsb.

kesimpulan: mungkin konstruk class object nya dahulu atau paling kurang kita tuangkan semua metode2 yang di butuhkan di dalam class object, hapus yang tak berguna dan tambahkan seperlunya. Then again... mungkin lain nya menulis method-nya dahulu baru objectnya

Di forum ini pasti banyak yang lebih pandai akan hal ini tapi mereka masih sibuk coding, semoga mereka akan hadir dan menjelaskan nya lebih luas

avatar VikSintus
@VikSintus

96 Kontribusi 36 Poin

Dipost 5 tahun yang lalu

Jawaban Terpilih

Coba saya bantu jawab ya, 1 . Coba anda cari tahu dulu apa yang mau anda buat, dengan jelas 2. Anda definisikan entity nya apa saja. misal anda mau buat manajemen user, berarti entity nya user. 3. Definisikan tanggung jawab si entity ini apa, misal bisa ditambah, dihapus, ganti password. buat itu sebagai method nya 4. Tulis Class nya sesuai nama entity tadi 5. Tulis method di dalam Class nya tadi sesuai tanggung jawabnya 6. Pada kode implementasi nya nnti, panggil Class nya dengan di import (atau apapun sesuai syntax). setelah itu anda create Object nya dari Class tersebut. 7. Akhirnya anda bisa gunakan Object tersebut untuk melakukan tugas sesuai dengan tanggung jawab nya, misal


/*
ini kode implementasi nya
*/
import User from './User' // import dari class User

let user = new User({ // buat object dari class User
   name: 'user1'
})

user.updatePassword({ // coba update password nya user
 password: '123'
})

user.delete() // delete user nya


CMIIW

avatar ma4m
@ma4m

97 Kontribusi 39 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban