Takeaways Key
MongoDB adalah pangkalan data NoSQL yang berorientasikan dokumen yang meningkatkan prestasi dan skalabilitas, menjadikannya sesuai untuk aplikasi blog di mana koleksi dan dokumen dapat diuruskan dengan mudah. -
Pemandu PHP MongoDB adalah penting untuk menghubungkan aplikasi PHP ke MongoDB, yang membolehkan operasi CRUD terus dari skrip PHP. -
Pengesahan pengguna mudah boleh dilaksanakan menggunakan HTTP Auth untuk bahagian pentadbir blog, walaupun untuk aplikasi yang lebih mantap, rangka kerja pengesahan yang komprehensif adalah disyorkan. -
Aplikasi blog menggunakan operasi CRUD asas untuk menguruskan catatan blog, dengan fungsi tambahan untuk komen, semuanya disimpan dalam koleksi MongoDB. -
Struktur aplikasi merangkumi direktori dan fail berasingan untuk tugas dan pandangan pentadbiran, mempromosikan bentuk arsitektur MVC yang mudah yang dapat dibangunkan lagi menggunakan kerangka skala penuh.
-
Pengenalan
Jika anda ingin membuat blog menggunakan MongoDB dan PHP, artikel ini akan mengajar anda:
Sambung ke pangkalan data MongoDB
simpan dokumen dalam koleksi -
dokumen pertanyaan dalam koleksi -
Lakukan pertanyaan pelbagai -
menyusun dokumen, mengemas kini dokumen, padamkan satu atau lebih dokumen dari koleksi -
- Sebab saya memilih untuk membina aplikasi blog adalah kerana ia adalah aplikasi CRUD asas dan sangat sesuai untuk meringankan pembangunan web PHP dan MongoDB. Kami akan membina antara muka pengguna biasa menggunakan bootstrap dengan kotak teks dan butang yang mudah. Pangkalan data MongoDB akan menyimpan semua kandungan. Anda boleh memuat turun Sumber Penuh dari GitHub, lihat frontend demo di sini dan cuba backend aplikasi demo dengan nama pengguna dan kata laluan menjadi
duythien
.
Apa itu mongodb
Menurut laman web rasmi MongoDB adalah pangkalan data dokumen yang menyediakan prestasi tinggi, ketersediaan tinggi, dan skalabilitas yang mudah. MongoDB jatuh ke dalam kumpulan pangkalan data NoSQL yang berorientasikan dokumen. Untuk subtipe lain pangkalan data NoSQL, lihat di sini.
Konsep MongoDB: Pangkalan Data, Koleksi, dan Dokumen
Pangkalan data: Data kumpulan MongoDB ke dalam pangkalan data dengan cara yang sama seperti kebanyakan pangkalan data relasi. Sekiranya anda mempunyai pengalaman dengan pangkalan data relasi, anda harus memikirkan cara yang sama. Dalam RDBMS, pangkalan data adalah satu set jadual, prosedur tersimpan, pandangan, dan sebagainya. Di MongoDB, pangkalan data adalah satu set koleksi. Pangkalan data MongoDB mengandungi satu atau lebih koleksi. Sebagai contoh, pangkalan data untuk aplikasi blog yang bernama blog biasanya mempunyai artikel koleksi, penulis, komen, kategori, dan sebagainya.
-
Koleksi: Koleksi adalah bersamaan dengan jadual RDBMS. Koleksi wujud dalam satu pangkalan data. Koleksi tidak menguatkuasakan skema. Dokumen dalam koleksi boleh mempunyai bidang yang berbeza. Biasanya, semua dokumen dalam koleksi mempunyai tujuan yang sama atau berkaitan.
-
Dokumen: Rekod dalam koleksi MongoDB dan unit asas data dalam MongoDB. Dokumen adalah sama dengan objek JSON tetapi wujud dalam pangkalan data dalam format yang lebih kaya jenis yang dikenali sebagai BSON. Dokumen mengandungi satu set medan atau pasangan nilai utama. Cara terbaik untuk memikirkan dokumen adalah sebagai pelbagai multidimensi. Dalam array, anda mempunyai satu set kunci yang memetakan kepada nilai (dokumen == array). Lihat dokumen.
Memasang mongoDB
MongoDB berjalan pada kebanyakan platform dan menyokong seni bina 32-bit dan 64-bit. MongoDB boleh didapati sebagai binari, atau sebagai pakej. Dalam persekitaran pengeluaran, gunakan binari MongoDB 64-bit. Bahagian ini akan merangkumi pemasangan pada Ubuntu Linux dan Windows. Untuk sistem operasi lain, sila lihat dokumentasi mereka.
Ini adalah bagaimana Mongo dipasang di Ubuntu Linux. Terbuka Terminal dan laksanakan yang berikut:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
#
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
sekarang mengeluarkan arahan berikut untuk mengemas kini repositori anda dan memasang versi stabil terbaru MongoDB:
sudo apt-get update
sudo apt-get install mongodb-10gen
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Selesai, anda telah berjaya memasang MongoDB. Sekarang mulakan dan hentikan perkhidmatan MongoDB melalui baris arahan di bawah.
sudo service mongodb start
sudo service mongodb stop
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Sekiranya kesilapan mula cuba jalankan perintah berikut:
sudo mongod --fork --logpath /var/log/mongodb/mongodb.log
#or
sudo mongod -f /etc/mongodb.conf
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Berikut ini menerangkan cara memasangnya pada Windows:
pergi ke halaman muat turun di laman web rasmi MongoDB. Klik pada pautan muat turun untuk pelepasan stabil terkini di bawah Windows.
Selepas muat turun selesai, ekstrak dan gerakkannya ke C :. MongoDB memerlukan folder data untuk menyimpan failnya. Lokasi lalai untuk direktori data MongoDB ialah C: DATADB. Jika ia tidak wujud, buatnya.
untuk memulakan mongoDB, laksanakan dari command prompt
C:\> cd \mongodb\bin
C:\mongodb\bin> mongod
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Selesai, anda telah berjaya memasang MongoDB. Sekarang mulakan dan hentikan perkhidmatan MongoDB melalui baris arahan di bawah.
net start MongoDB
net stop MongoDB
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
memasang pemacu php untuk mongodb
Pelayan MongoDB dibina untuk bekerja dengan pelayan web semasa anda, tetapi bukan PHP. Untuk membuat PHP bercakap dengan pelayan MongoDB, kami akan memerlukan pemandu PHP-MongoDB. Ia adalah perpustakaan lanjutan PHP.
Jika anda menggunakan Linux Pasang dengan mudah melalui:
sudo pecl install mongo
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Tambah lanjutan baris = mongo.so ke konfigurasi php.ini anda dan anda baik untuk pergi:
sudo -i
echo 'extension=mongo.so' >> /etc/php5/apache2/php.ini
Salin selepas log masuk
Salin selepas log masuk
Mulakan semula pelayan web anda dan sahkan melalui baris arahan:
php -i |grep "mongo"
php --re mongo
Salin selepas log masuk
Salin selepas log masuk
Memasang pemacu pada Windows
mari kita cuba memasang pemacu pada mesin Windows yang menjalankan php 5.4 pada Apache (xampp):
- Muat turun arkib zip https://github.com/mongodb/mongo-php-driver/downloads pada mesin anda dan ekstraknya.
- Salin fail php_mongo.dll dari folder yang diekstrak ke direktori lanjutan php (c: xampphpext).
- Buka fail php.ini di dalam pemasangan php anda dan tambahkan baris berikut: lanjutan = php_mongo.dll
- Simpan fail dan tutupnya. Mulakan semula XAMP.
Buka editor teks anda dan tambahkan kod berikut ke fail baru: Php phpinfo ();?>, Simpan fail sebagai phpinfo.php di dalam dokumen pelayan web Apache (htdocs) dan buka php Skrip dalam penyemak imbas. Jika anda melihat Mongo dalam maklumat PHP, pemasangan berjaya. -
pembangunan web mongo dengan php
menyambung ke pelayan pangkalan data MongoDB
Menyambung ke MongoDB dari PHP sangat serupa dengan menyambung ke pangkalan data lain. Hos lalai adalah localhost, dan port lalai adalah 27017.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
#
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
menyambung ke hos jauh dengan port tersuai pilihan dan auth:
sudo apt-get update
sudo apt-get install mongodb-10gen
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Memilih pangkalan data
Setelah sambungan pelayan pangkalan data ditubuhkan, kami akan menggunakannya untuk mengakses pangkalan data. Cara yang ditetapkan untuk melakukan ini ialah:
sudo service mongodb start
sudo service mongodb stop
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Asas (Operasi CRUD)
MongoDB menyediakan semantik yang kaya untuk membaca dan memanipulasi data. CRUD bermaksud Buat, Baca, Kemas kini, dan Padam. Istilah ini adalah asas untuk semua interaksi dengan pangkalan data.
Membuat/memilih koleksi
Memilih dan membuat koleksi sangat serupa dengan mengakses dan membuat pangkalan data. Sekiranya koleksi tidak wujud, ia dibuat:
sudo mongod --fork --logpath /var/log/mongodb/mongodb.log
#or
sudo mongod -f /etc/mongodb.conf
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Sebagai contoh, ini mewujudkan koleksi "Posts" di blog saya:
C:\> cd \mongodb\bin
C:\mongodb\bin> mongod
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Membuat dokumen
Membuat dokumen di MongoDB tidak boleh lebih mudah. Buat array. Lulus ke dalam kaedah sisipan pada objek koleksi
net start MongoDB
net stop MongoDB
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Kaedah memasukkan () menyimpan data dalam koleksi. Arahan pos $ secara automatik menerima medan bernama _ID, yang merupakan objek unik autogenerated dokumen BSON yang dimasukkan. Anda juga boleh menggunakan kaedah SAVE (), yang upserts - mengemas kini rekod sedia ada, atau mencipta yang baru jika tidak wujud.
Membaca dokumen
Untuk mendapatkan data dari koleksi, saya menggunakan kaedah Cari (), yang mendapat semua data dalam koleksi. FindOne () mengembalikan hanya satu dokumen yang memenuhi kriteria pertanyaan yang ditentukan. Contoh berikut akan menunjukkan kepada anda bagaimana untuk menanyakan satu atau lebih rekod.
sudo pecl install mongo
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Mengemas kini dokumen
Mengubah dokumen atau dokumen sedia ada dalam koleksi. Secara lalai, kaedah kemas kini () mengemas kini dokumen tunggal. Jika pilihan multi ditetapkan kepada benar, kaedah mengemas kini semua dokumen yang sepadan dengan kriteria pertanyaan.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
#
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Kaedah kemas kini () mengambil dua parameter. Yang pertama adalah kriteria untuk menggambarkan objek untuk mengemaskini dan yang kedua objek yang untuk mengemas kini rekod yang sepadan. Terdapat juga parameter pilihan ketiga di mana anda boleh lulus dalam pelbagai pilihan.
Mini Blog
Struktur projek yang akan kita bina:
sudo apt-get update
sudo apt-get install mongodb-10gen
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
sebelum kita mulakan dengan kod PHP sebenar kita, kita perlu membuat fail dan folder kita seperti di atas.
config.php
Ini adalah fail konfigurasi anda yang memberitahu aplikasi kami bagaimana untuk menyambung ke pangkalan data. Di sinilah anda telah menentukan nama pangkalan data, nama pengguna dan kata laluan pengguna untuk mengakses pangkalan data tersebut:
sudo service mongodb start
sudo service mongodb stop
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
di mana kita menentukan paramaters userauth dan passwordauth untuk melindungi folder admin melalui pengesahan HTTP. Kami menggunakan HTTP Auth untuk kesederhanaan di sini, melihat sebagai tema utama artikel ini menyambung ke MongoDB - anda biasanya akan menggunakan beberapa jenis rangka kerja yang baik dengan ACL untuk membina kawalan akses.
app.php:
sudo mongod --fork --logpath /var/log/mongodb/mongodb.log
#or
sudo mongod -f /etc/mongodb.conf
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
admin
Ini adalah folder yang mengandungi kod CRUD.
C:\> cd \mongodb\bin
C:\mongodb\bin> mongod
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
untuk fail penuh index.php lihat di sini. Di atas saya menggunakan fungsi paparan dalam susun atur kelas.php yang secara automatik akan memuat papan dashboard.view.php.
net start MongoDB
net stop MongoDB
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Status parameter GET sepadan dengan tindakan CRUD. Sebagai contoh, apabila status "membuat":
sudo pecl install mongo
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Paparan Fungsi ('Admin/Create', $ Data) menunjukkan bentuk HTML di mana pengguna boleh menulis tajuk/kandungan pos blog baru, atau ia menjimatkan data yang dikemukakan pengguna ke MongoDB. Secara lalai skrip memaparkan borang HTML berikut:
sudo -i
echo 'extension=mongo.so' >> /etc/php5/apache2/php.ini
Salin selepas log masuk
Salin selepas log masuk
Seterusnya mari kita lihat db.php, yang boleh didapati sepenuhnya di sini
kursor MongoDB menjadikan penomboran mudah. Kaedah kursor ini boleh dirantai dari objek kursor yang mencari pulangan dan satu sama lain. Menggabungkan had dengan Skip menjadikan penomboran mudah. Ini juga boleh digabungkan dengan perintah. Contohnya.
php -i |grep "mongo"
php --re mongo
Salin selepas log masuk
Salin selepas log masuk
index.php: Fail templat boleh didapati dalam folder paparan; seperti index.view.php. Berikut adalah contoh index.php:
$connection = new Mongo();
Salin selepas log masuk
Buka penyemak imbas anda dan navigasi ke http://duythien.dev/sitePoint/blog-mongodb. Ia menyenaraikan semua artikel semasa di blog:
$connecting_string = sprintf('mongodb://%s:%d/%s', $hosts, $port,$database),
$connection= new Mongo($connecting_string,array('username'=>$username,'password'=>$password));
Salin selepas log masuk
tunggal.php: Apabila anda melihat halaman pos tunggal (klik Baca lebih lanjut pada siaran), anda melihat single.view.php dalam folder paparan. Berikut adalah logik tunggal.php:
Fail ini menerima _id artikel sebagai parameter HTTP GET. Kami memanggil kaedah FindOne () pada koleksi artikel, menghantar nilai _id sebagai parameter kepada kaedah. Kaedah FindOne () digunakan untuk mendapatkan dokumen tunggal. Lihat fungsi getById () dalam fail db.php
Masukkan nama dan e -mel sewenang -wenang di dalam kotak input di bawah bahagian komen, letakkan beberapa teks dalam TextArea juga. Kemudian klik pada butang Simpan dan halaman akan dimuat semula dengan komen yang anda hantar. Inilah komen.php seperti:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
#
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Komen untuk artikel disimpan dalam medan array komen nama dokumen. Setiap elemen komen adalah dokumen tertanam yang mengandungi beberapa bidang.
Kesimpulan
Dalam artikel ini, kami meliputi pengenalan CRUD asas ke PHP dengan MongoDB. Kami juga telah mencipta semacam MVC yang sangat primitif dalam proses (lihat aplikasi penuh di GitHub). Terserah kepada anda untuk menggunakan rangka kerja yang betul, melaksanakan pengesahan di luar HTTP Auth yang mudah digunakan di sini, dan menambah lebih banyak fungsi, tetapi asas -asasnya ada dan anda boleh menggodam aplikasi demo ini ke kandungan hati anda.
Untuk maklumat lanjut mengenai MongoDB, lihat dokumentasi dalam talian. Adakah anda menikmati artikel ini? Marilah kita tahu fikiran anda!
Soalan Lazim (Soalan Lazim) Mengenai Membina Aplikasi Blog Mudah Dengan MongoDB dan PHP
Apa itu MongoDB dan mengapa ia digunakan dalam membina aplikasi blog?
MongoDB adalah program pangkalan data berorientasikan dokumen yang tersedia sumber. Ia diklasifikasikan sebagai program pangkalan data NoSQL kerana ia menggunakan dokumen seperti JSON dengan skema pilihan. MongoDB digunakan dalam membina aplikasi blog kerana prestasi tinggi, ketersediaan tinggi, dan skalabiliti mudah. Ia berfungsi pada konsep koleksi dan dokumen, menjadikannya lebih mudah untuk mengatur dan mengurus data. Bahasa skrip yang sangat sesuai untuk pembangunan web. Ia mengintegrasikan dengan MongoDB melalui pemandu PHP, yang merupakan perpustakaan sisi klien yang menyediakan abstraksi API peringkat tinggi untuk beberapa ciri MongoDB. Ini membolehkan skrip PHP berkomunikasi dengan pelayan MongoDB dan melaksanakan operasi seperti menanyakan dan mengemas kini data.
Apakah prasyarat untuk membina aplikasi blog dengan MongoDB dan PHP? MongoDB dan PHP, anda perlu mempunyai pemahaman asas mengenai PHP dan MongoDB. Anda juga perlu memasang PHP dan MongoDB pada sistem anda. Di samping itu, anda memerlukan editor teks untuk menulis kod anda dan pelayan web untuk menganjurkan aplikasi anda. ditangani menggunakan sesi dalam PHP. Apabila pengguna log masuk, sesi dimulakan, dan maklumat pengguna disimpan dalam pembolehubah sesi. Pembolehubah ini boleh diakses sepanjang sesi pengguna, yang membolehkan anda menyekat akses ke halaman tertentu berdasarkan status pengesahan pengguna.
Bagaimana saya boleh melaksanakan operasi CRUD dalam aplikasi blog saya?
Operasi CRUD (membuat, membaca, mengemas kini, memadam) boleh dilaksanakan dalam aplikasi blog menggunakan PHP dan MongoDB. PHP menyediakan fungsi untuk berinteraksi dengan MongoDB, yang membolehkan anda membuat dokumen (jawatan), membaca dokumen, mengemas kini dokumen, dan memadam dokumen. Pemandu PHP MongoDB menyediakan API yang mudah untuk operasi ini. fungsi. Fungsi ini membolehkan anda menentukan peraturan pengendalian ralat tersuai, membuat pengendali ralat tersuai, dan melaporkan kesilapan. Anda juga boleh log kesilapan untuk tujuan debug.
Bagaimana saya dapat meningkatkan prestasi aplikasi blog saya? dan data caching. Anda juga boleh meningkatkan prestasi dengan mengoptimumkan kod PHP anda, contohnya dengan menggunakan gelung dan fungsi yang cekap, dan dengan meminimumkan penggunaan pembolehubah global. Dalam aplikasi blog boleh dicapai dengan melaksanakan pengesahan pengguna, sanitasi input pengguna untuk mencegah serangan suntikan SQL, dan menggunakan Secure Connections (HTTPS). Anda juga harus menyimpan pemasangan PHP dan MongoDB anda sehingga kini mendapat manfaat daripada patch keselamatan terkini.
Bagaimana saya boleh menggunakan aplikasi blog saya? Fail dan pangkalan data MongoDB ke pelayan web. Anda boleh menggunakan FTP atau sistem kawalan versi seperti Git untuk memuat naik fail. Anda juga perlu mengkonfigurasi pelayan web anda untuk mengendalikan skrip PHP dan menyambung ke pangkalan data MongoDB anda. Boleh ditambah ke aplikasi blog dengan membuat koleksi tambahan dalam pangkalan data MongoDB anda untuk menyimpan komen dan suka. Anda kemudian boleh menggunakan PHP untuk membuat, membaca, mengemas kini, dan memadam komen dan suka, dan mengaitkannya dengan jawatan tertentu.
Atas ialah kandungan terperinci Membina aplikasi blog mudah dengan MongoDB dan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!