Langsung ke konten utama

Haikal PG - XI RPL 1 - PWPB Sesi 37

Assalamualaikum Warahmatullahi Wabarokatuh
Halo teman-teman gimana kabarya? semoga sehat selalu ya.. . Pada sesi kali ini kita akan membahas tentang OOP autoload,interface,visibility.

Autoload
Banyak pengembang yang membuat aplikasi berorientasiobjek membuat satu file sumber PHP per definisi Class. Salah satu gangguan terbesar adalah harus menulis daftar panjang yang diperlukan termasuk pada awal setiap skrip (satu untuk setiap Class). Di PHP 5, ini tidak lagi diperlukan. Fungsi spl_autoload_register () mendaftarkan sejumlah autoloader, memungkinkan Class dan antarmuka dimuat secara otomatis jika mereka saat ini tidak didefinisikan. Dengan mendaftarkan autoloaders, PHP diberikan kesempatan  untuk memuat Class atau antarmuka sebelum gagal dan error.
Contoh autoload:


jika kita run maka akan seperti ini:
Kita tidak perlu meng-include kan satu persatu lagi filenya.

Object Interface

  • Object Interface memungkinkan Anda membuat kode yang menentukan METHOD mana yang harus diimplementasikan oleh suatu Class, tanpa harus menentukan bagaimana method ini diterapkan.
  • Interface didefinisikan dengan cara yang sama seperti Class, tetapi dengan kata kunci Interface menggantikan kata kunci Class dan tanpa method apa pun yang memiliki kontennya ditentukan.
  • Semua method yang dideklarasikan di Interface harus bersifat public ; ini adalah sifat interface. Perhatikan bahwa dimungkinkan untuk mendeklarasikan konstruktor di interface, apa yang bisa berguna dalam beberapa konteks
Implements
  • Untuk mengimplementasikan interface, operator implement digunakan. Semua method dalam interface harus diimplementasikan dalam class; error akan menghasilkan kesalahan fatal. Class dapat di implement lebih dari satu interface jika diinginkan.
Contoh interface:
Contoh interface(extendable interface) 2:

Contoh interface(extendable interface) 3:

Contoh interface(Interface with constant) 4:



Visibility
  • Visibilitas dari sebuah properti, method atau (pada PHP 7.1.0) sebuah konstanta dapat didefinisikan dengan mengawali deklarasi dengan kata kunci public, protected atau private.
  • Anggota class dideklarasikan public agar dapat diakses di mana saja. Anggota yang dinyatakan protected hanya dapat diakses di dalam class itu sendiri dan dengan mewarisi class induk. Anggota yang dinyatakan sebagai private hanya dapat diakses oleh class yang mendefinisikan anggotanya.
Property Visibility
  • Class property harus didefinisikan sebagai public, private, atau protected. Jika dideklarasikan menggunakan var, properti akan didefinisikan sebagai public.
Contoh Visibility(property declaration):

Method Visibility




  • class Method dapat didefinisikan sebagai public, private, atau protected. Method yang dinyatakan tanpa kata kunci akan didefinisikan sebagai publik.

  • Contoh Visibility(property declaration):

    Visibility Konstanta (constant)



  • Pada PHP 7.1.0, konstanta class dapat didefinisikan sebagai public, private, atau protected. Konstanta yang dideklarasikan tanpa kata kunci didefinisikan sebagai publik.
  • Contoh Visibility(constant):


    Contoh Visibility(access private var and method):


    Mungkin sekian saja pada pertemuan kali ini. Wassalamualaikum Warahmatullahi Wabarokatuh..

    Komentar

    Postingan populer dari blog ini

    Haikal PG - XI RPL 1 - PWPB Sesi 9

    Assalamualaikum Warahmatullahi Wabarokatuh Dipertemuan kali ini Kita akan masuk ke CSS. Apa itu CSS?, CSS (Cascading Style Sheet) Merupakan salah satu dokumen webstire yang bertujuan untuk mengatur gaya (style) tampilan website. CSS ini ada untuk mempermudah kita mengedit tampilan. Jika di analogikan CSS ini merupakan tampilan luar/ dan HTML kita analogikan sebagai kerangka. Manfaat CSS Kode HTML menjadi lebih sederhana dan lebih mudah diatur Ukuran file menjadi lebih kecil sehingga load file lebih cepat. Mudah untuk mengubah tampilan hanya dengan mengubah file CSS saja Dapat berkolaborasi dengan javascript. dapat digunakan dalam hampit semua jenis web browser. Anatomi CSS Anatomi CSS Pengkodingan CSS CSS memiliki 3 cara pengkodingan yaitu : Inline : Didalam tag html kita bisa menambahkan atribut "style" Embbeded : Didalam satu file yang sama External : Dengan membuat file CSS dan di dalam file html ki...

    Haikal PG - XI RPL 1 - PWPB Sesi 25

    Assalamualaikum Warahmatullahi Wabarokatuh Kembali lagi dengan saya Haikal Putra Gustiansyah yang dimana pada sesi kali ini kita akan membahas array assosiatif dan media query. Array assosiatif merupakan sebuah tipe data yang memungkinkan kita menyimpan data yang memiliki tipe data yang berbeda bisa berupa string,numerik, dll. Media Query merupakan salah satu fitur CSS3 yang memungkinkan kita agar membuat halaman yang web yang responsif. Simak materi pada sesi kali ini. Array Asosiatif Array Asos iatif ad alah  array yang tidak menggunakan angka sebagai kunci di setiap nilainya. Jika tidak ditentukan kunci dari sebuah elemen di array, PHP akan otomatis memberikan kuncinya berupa angka. Perbedaanya hanya bagaimana kita mengakses data/elemen-elemen tersebut. Copykan code berikut: LatArrayAsosiatif.php 'Haikal', '1819117580' => 'Milyardin', '1819117581' => 'Steph~~'); echo $siswa['1819117579'] . ' '; ec...

    Haikal PG - XI RPL 1 - PWPB Sesi 38

    Assalamualaikum Warahmatullahi Wabarokatuh Halo teman-teman gimana kabarya? semoga sehat selalu ya.. . Pada sesi kali ini kita akan membahas tentang overloading. Overloading Overloading di PHP menyediakan cara agar properti dan method dapat dibuat secara dinamis. Entitas dinamis ini diproses melalui method ajaib yang dapat dibangun di class untuk berbagai jenis tindakan. method overloading dipanggil saat berinteraksi dengan properti atau method yang belum dideklarasikan atau tidak terlihat dalam baris program. Sisa dari bagian ini akan menggunakan istilah properti dan method yang tidak dapat diakses untuk merujuk pada kombinasi deklarasi dan visibilitas tersebut. Semua method overloading harus didefinisikan sebagai public. Contoh overloading dengan isset,unset,set, dan get.: data[$name] = $value; } public function __get($name) { echo "Getting".$name."\n"; if (array_key_exists($name, $this->data)) { return $this->data[$name]; } $tra...