Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Real-Dunia OOP Dengan PHP dan MySQL

by
Difficulty:IntermediateLength:LongLanguages:

Malay (Melayu) translation by Aisyah Arrafah (you can also view the original English article)

Banyak contoh dari robot untuk basikal telah ditawarkan sebagai 'mudah' penjelasan mengenai Apakah OOP. Saya telah memilih untuk menunjukkan kepada anda bagaimana OOP berfungsi dengan contoh kehidupan sebenar, bagi seorang programmer. Dengan mewujudkan kelas MySQL CRUD anda boleh dengan mudah membuat, membaca, Kemaskini terakhir dan hapuskan catatan dalam mana-mana projek-projek anda, tanpa mengira bagaimana pangkalan data direkabentuk.


Menubuhkan rangka kelas kami adalah agak mudah apabila kita memikirkan apa yang kita perlukan. Pertama, kita perlu pastikan bahawa kita boleh melakukan fungsi MySQL asas kami. Untuk melakukan ini, kita memerlukan fungsi-fungsi berikut:

  • Pilih
  • Masukkan
  • Hapus
  • Kemas kini
  • Sambung
  • Putuskan sambungan

Mereka kelihatan cukup asas, tetapi saya yakin bahawa apabila kita pergi melalui, kita akan perasan bahawa banyak daripada mereka menggunakan beberapa aspek yang sama, jadi kami mungkin perlu untuk mewujudkan lebih banyak kelas. Berikut adalah apa yang definisi kelas anda akan terlihat seperti. Notis bahawa saya membuat pasti bahawa kaedah-kaedah telah dicipta dengan kata kunci awam.

fungsi connect()

Fungsi ini akan agak asas, tetapi mewujudkan ia akan mengharuskan kita untuk mencipta terlebih dahulu beberapa pembolehubah. Oleh kerana kami ingin memastikan bahawa mereka tidak boleh dicapai dari di luar kelas kami, kami akan menetapkan mereka sebagai peribadi. Pembolehubah tersebut akan digunakan untuk menyimpan hos, username, password dan pangkalan data untuk sambungan. Kerana mereka cukup banyak akan kekal malar sepanjang, kita tidak perlu untuk mencipta kaedah pengubahsuai atau Pencapai untuknya. Selepas itu, kita hanya perlu membuat satu kenyataan ringkas mysql untuk menyambung ke dalam pangkalan data. Sudah tentu, sejak seperti pengaturcara yang kita sentiasa perlu menganggap pengguna (walaupun memang kita) akan melakukan sesuatu yang bodoh, membolehkan menambah lapisan tambahan langkah berjaga-jaga. Kita boleh menyemak jika pengguna telah sebenarnya disambungkan kepada pangkalan data terlebih dahulu, dan jika mereka mempunyai, benar-benar tidak ada keperluan untuk sambung semula. Jika mereka belum kita boleh menggunakan kelayakan mereka untuk menyambung semula.

Seperti yang anda lihat, ia menjadikan penggunaan beberapa fungsi asas mysql dan sedikit semakan untuk pastikan bahawa perkara-perkara yang akan dirancangkan ralat. Jika ia menghubungkan ke pangkalan data tersebut berjaya ia akan mengembalikan benar, dan jika tidak, ia akan kembali palsu. Sebagai bonus tambahan, ia juga akan menetapkan pembolehubah sambungan kepada benar jika sambungan itu berjaya diselesaikan.

fungsi awam disconnect()

Fungsi ini hanya akan menyemak pembolehubah sambungan kami untuk melihat jika ia disetkan kepada true. Jika ia, ini bermakna bahawa ia disambungkan ke dalam pangkalan data, dan skrip kami akan cabut dan kembali benar. Jika tidak, maka tidak ada keperluan untuk melakukan apa-apa.

fungsi awam select()

Ini adalah fungsi pertama di mana perkara mula mendapat sedikit rumit. Sekarang kita akan berurusan dengan pengguna hujah dan mengembalikan keputusan dengan betul. Kerana kita semestinya tidak mahu boleh menggunakan keputusan segera kami juga akan mengetengahkan satu pembolehubah baru yang dipanggil hasil, yang akan menyimpan keputusan dengan betul. Selain itu kita juga akan melahirkan satu fungsi baru yang menyemak untuk melihat jika jadual tertentu wujud dalam pangkalan data. Oleh kerana semua operasi CRUD kita memerlukan ini, ia menjadikan lebih faham menciptanya secara berasingan daripada integrasi ke dalam fungsi. Dengan cara ini, kita akan menjimatkan ruang dalam kod kita dan oleh itu, kita akan dapat lebih mengoptimumkan perkara kemudian. Sebelum kita pergi ke dalam penyata Pilih sebenar, berikut adalah fungsi tableExists dan pembolehubah keputusan peribadi.

Fungsi ini hanya menyemak dalam pangkalan data untuk melihat jika jadual yang dikehendaki telah sedia wujud. Jika tidak ia akan kembali benar dan jika tidak, ia akan mengembalikan palsu.

Walaupun ia kelihatan agak menakutkan pada pandangan pertama, fungsi ini benar-benar tidak sekumpulan keseluruhan perkara-perkara. Mula-mula mati ia menerima hujah 4, 1 daripadanya adalah diperlukan. Nama Jadual adalah satu-satunya perkara yang anda perlu lulus dengan fungsi tersebut untuk mendapatkan keputusan kembali. Walau bagaimanapun, jika anda mahu untuk menyesuaikan ia lebih sedikit, anda boleh berbuat demikian dengan menambah baris yang akan ditarik dari pangkalan data dan anda boleh juga Tambah a Jika dan memerintahkan Fasal. Tentu saja, selagi anda lulus nilai pertama, hasil akan lalai kepada orang yang ditetapkan mereka, jadi anda tidak perlu bimbang tentang tatacara mereka semua. Bit kod sejurus selepas hujah hanya berfungsi untuk mengumpul semua hujah kami ke dalam satu kenyataan yang pilih. Sebaik sahaja itu dilakukan, cek dilakukan untuk melihat jika Jadual wujud, menggunakan fungsi terlebih dahulu tableExists kami. Jika ia wujud, kemudian Majlis berterusan dan seterusnya dan pertanyaan dilakukan. Jika tidak, ia akan gagal.

Bahagian seterusnya adalah sihir sebenar kod. Apa yang ia adalah mengumpul tiang dan data yang diminta dari pangkalan data. Ia kemudian menguntukkan ia kepada berubah-ubah keputusan kami. Namun, untuk menjadikannya lebih mudah bagi pengguna akhir, bukan auto-incrementing kekunci angka, nama-nama lajur yang akan digunakan. Sekiranya anda mendapat lebih daripada satu keputusan setiap baris yang dikembalikan disimpan dengan dua dimensi pelbagai, dengan kekunci yang pertama yang berangka dan auto-incrementing, dan kekunci yang kedua sedang nama tiang. Jika hanya salah satu hasil dikembalikan, maka pelbagai satu dimensi dicipta dengan kekunci yang menjadi medan. Jika tiada hasil yang dihidupkan maka pembolehubah hasil ditetapkan ke null. Seperti saya katakan terdahulu, nampaknya agak mengelirukan, tetapi sebaik sahaja anda memecahkan sesuatu kepada bahagian-bahagian individu mereka, anda boleh melihat bahawa mereka adalah agak sederhana dan mudah.

fungsi awam insert()

Fungsi ini adalah lebih mudah daripada kami terlebih dahulu. Ia hanya membenarkan kita untuk memasukkan maklumat ke dalam pangkalan data. Oleh itu kita memerlukan hujah tambahan kepada nama Jadual. Kami memerlukan pembolehubah yang sepadan dengan nilai-nilai yang kami ingin input. Kita hanya boleh Pisahkan setiap nilai dengan koma. Kemudian, apa yang perlu kita lakukan adalah dengan cepat menyemak untuk melihat sama ada kami tableExists, dan kemudian membina penyata masukkan memanipulasi hujah kami untuk membentuk satu kenyataan masukkan. Maka kita hanya menjalankan pasar philipine.

Seperti yang anda lihat, fungsi ini adalah lebih mudah daripada kami agak kompleks Pilih kenyataan. Fungsi delete kami sebenarnya akan lebih mudah.

fungsi awam delete()

Fungsi ini hanya menghapuskan jadual atau berturut-turut dari pangkalan data kami. Oleh itu kita mesti lulus nama Jadual dan pilihan di mana Fasal. Di mana dalam Fasal akan Marilah kita tahu jika kita perlu menghapuskan berturut-turut atau seluruh jadual. Jika ini di mana Fasal diluluskan, bermakna bahawa penyertaan yang sepadan dengan wasiat perlu dihapuskan. Selepas kita memikirkan semua itu, ia adalah hanya satu perkara yang menyusun kenyataan Hapus dan menjalankan pertanyaan.

Dan akhirnya kami dapat fungsi utama kami yang lepas. Fungsi ini hanya berfungsi untuk mengemaskini berturut-turut dalam pangkalan data dengan beberapa maklumat baru. Walau bagaimanapun, kerana sifat sedikit lebih kompleks daripada itu, ia akan terkeluar yang agak besar dan tak terhingga lebih mengelirukan. Jangan takut, mengikut sebahagian besar corak sama fungsi kami sebelumnya. Mula-mula ia akan menggunakan hujah kami untuk mencipta satu kenyataan Kemaskini. Ia akan meneruskan untuk memeriksa pangkalan data untuk memastikan bahawa tableExists itu. Jika ia wujud, ia hanya akan mengemaskini baris yang sesuai. Bahagian yang keras, sudah tentu, datang apabila kita cuba dan membuat penyata Kemaskini. Memandangkan penyata kemas kini mempunyai peraturan untuk multiple entry mengemaskini (IE – kolum berbeza dalam barisan yang sama melalui licik koma di), kita perlu mengambil yang kira dan mencipta cara untuk berhadapan dengannya. Saya telah memilih untuk lulus fasal mana sebagai array tunggal. Unsur pertama dalam pelbagai akan nama medan yang sedang dikemaskini, dan seterusnya akan menjadi nilai medan. Dengan cara ini, setiap nombor walaupun (termasuk 0) akan menjadi nama lajur, dan setiap nombor ganjil akan menjadi nilai baru. Kod untuk melakukan ini adalah sangat mudah dan dibentangkan di luar fungsi di bawah:

Bahagian seterusnya akan mewujudkan bahagian penyata Kemaskini yang berurusan dengan benar-benar menetapkan pembolehubah. Oleh kerana anda boleh menukar bilangan nilai, saya memilih untuk pergi dengan array di mana kunci adalah lajur dan nilai adalah nilai baru lajur. Dengan cara ini, kita juga boleh menyemak untuk melihat berapa banyak nilai yang berlainan untuk dikemas kini dan boleh menambah koma dengan sewajarnya.

Sekarang bahawa kita mempunyai dua bit logik dari jalan, yang lain pernyataan kemas kini adalah mudah. Di sini ia dibentangkan di bawah:

Sekarang kita mempunyai bahawa kita telah selesai fungsi terakhir kami, antara muka CRUD mudah kami untuk MySQL selesai. Anda kini boleh membuat entri baru, membaca entri tertentu dari pangkalan data, kemasukan entri dan memadam perkara. Juga, mencipta dan menggunakan semula kelas ini, anda akan mendapati bahawa anda menyimpan banyak masa dan pengekodan anda. Ah, keindahan pemrograman berorientasikan objek.

Penggunaan

Jadi kita mendapat kelas kita semua dibuat, tetapi bagaimana kita menggunakannya? Bahagian ini mudah. Mari mulailah dengan membuat pangkalan data sistem yang sangat mudah untuk digunakan dalam ujian kami. Saya mencipta pangkalan data yang dikenali sebagai ujian, dan kemudian menjalankan statistik MySQL. Anda boleh meletakkannya dalam mana-mana pangkalan data yang anda suka, hanya pastikan anda menukar pembolehubah sambungan di bahagian atas skrip untuk dipadankan dengan:

Baris pertama dikomentari hanya kerana tidak semua orang akan memerlukannya. Sekiranya anda perlu menjalankannya lebih daripada satu kali, anda perlu menyuarakannya pada kali kedua untuk memastikan ia mencipta jadual.

Sekarang jadual kami dicipta dan dihuni, sudah tiba masanya untuk menjalankan beberapa pertanyaan mudah di atasnya.

Jika dilakukan dengan betul, anda harus melihat perkara berikut:

Begitu juga kita boleh melangkah lebih jauh dan menjalankan pertanyaan kemas kini, dan kemudian output hasilnya:

Kita harus lihat ini

Sekarang untuk pernyataan memasukkan mudah:

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.