MongoDB ile PHP bağlantısı

İçindekiler
NS NoSQL Veritabanları son yıllarda büyük ilgi görüyorlar. Ölçeklenebilir tasarımları ve yapıları ilgisiz bir şekilde yönetme olasılıkları, onları dünyada meydana gelen yeni gelişim biçimleri için bir alternatif haline getiriyor.
Bu nedenle, şimdi nasıl başa çıkacağımızı bildiğimiz gibi, yakında onlarla nasıl başa çıkacağımızı da bilmek zorunda kalacağımız bir gerçek olduğunu aklımızda tutmalıyız. veritabanları geleneksel diller, bunun için onlara yaygın olarak bilinenler gibi geleneksel diller aracılığıyla bağlanmamız gerekecek. PHP.
motorlarından biri NoSQL Veritabanları en popüler mongoDB, kolay kurulumu ve internette basit aramalarla kısa sürede çok şey öğrenmemizi sağlayan gelişen bir topluluk nedeniyle.
MongoDB kurulumuYapmamız gereken ilk şey sunucuyu kurmak mongoDB, bununla motorunu elde edeceğiz Veri tabanı yeni üslerimizi yönetebilmek için NoSQL. Yeni bir motor olduğu için çeşitli platformlara kurulabilecek şekilde tasarlanmıştır. Günümüzün en önemli iki işletim sisteminde nasıl yapıldığını anlatacağız. pencereler Y Linux senin versiyonunda Ubuntu.
Kurulum için mongoDB içinde Ubuntu Paketi etkinleştirmek için birkaç basit adımı izlemeliyiz, bu adımlar tamamlandıktan sonra apt-get kurulumunu normal şekilde kullanabiliriz, bakalım.
1- Öncelikle public keyi import etmeliyiz bunun için yeni bir konsol veya terminal açacağız ve aşağıdaki komutu yazacağız:
sudo apt-key adv --keyserver hkp: / /keyserver.ubuntu.com:80 --recv 7F0CEB10

2- O zaman bir liste dosyası eklemeliyiz mongoDB, bunun için şunları yapmalıyız:
echo 'deb http: //downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

3- Artık nihayet hizmeti kurabiliriz, bunun için önce bağımlılıklarımızı güncelleyeceğiz ve ardından paketi yükleyeceğiz:
sudo apt-get güncellemesi

Her şey güncellendikten sonra, kurulumu gerçekleştirmek için komut veriyoruz ve bununla hizmete hazır olacağız. mongoDB sistemimizde:
sudo apt-get install -y mongodb-org

Kurulum pencereler daha basit, sahip olduğumuzdan emin olmalıyız Windows Vista veya daha yeni bir şey, ne yazık ki en son sürümünden beri mongoDB Windows XP ile uyumlu değil.
Ardından resmi mongoDB sitesini ziyaret ediyoruz ve işletim sistemi yapılandırmamıza en yakın sürümü seçiyoruz:

BÜYÜT

Yürütülebilir dosya indirildikten sonra onu kuruyoruz ve ardından hizmetin doğru şekilde başlayabilmesi için aşağıdaki adımları gerçekleştireceğiz:
1- Bir veri klasörü oluşturmalıyız. mongoDB veritabanlarımızın belge koleksiyonlarını saklayabilir, bunun için komut konsolundan yönetici izinleriyle uygun dizine yerleştireceğiz ve yeni bir klasör oluşturacağız. Bunun için aşağıdakileri kullanıyoruz:
md \ veri \ db

2- Klasörü oluşturduktan sonra servisi başlatmalıyız mongoDB bunu çalıştırırken yapıyoruz mongod.exe, yüklediğimiz yere ve sürümüne bağlı olarak yol aşağıdakine benzer olmalıdır. mongoDB sahip olduğumuz:
C: \ Program Dosyaları \ MongoDB 2.6 Standard \ bin \ mongod.exe

Konsol bize şunu söyleyince her şeyin yolunda gittiğini anladığımız aşağıdaki görselde görelim. mongoDB yeni bağlantılar için bekleyin:

Hizmetimizi başarıyla kurduğumuz için mongoDB, şimdi söylemeliyiz PHP onunla nasıl iletişim kurmalısınız, bunun için uygun sürücüyü indirmeli ve onu etkinleştirmeliyiz. php.ini uzantısı olarak.
NS pencereler sürücüyü resmi deposundan indirebiliriz mongoDB aşağıdaki yolda: s3.amazonaws.com/drivers.mongodb.org/php/index.html birkaç seçeneğimiz olacak, en yeni ve kararlı olanı seçmeliyiz.
Uzantıyı tanımlayınDosya indirildikten sonra, sıkıştırmayı açıp PHP sürümümüze uygun uzantıyı ararız, benim durumumda dosyayı nasıl çalıştırıyorum. sürüm 5.4 kullanacağım php_mongo-1.6.0RC2-5.4-vc9.dll ve olarak yeniden adlandırıyoruz php_mongo.dll.
Ardından dosyayı uzantılarımızın dizinine taşımalıyız:
C:\wamp\bin\php\php5.4.12\ext

Eklenen uzantıyla, yalnızca php.ini aşağıdaki satır: uzantı = php_mongo.dll
Nihayet Apache sunucumuzu yeniden başlatıyoruz ve biz yürütürüz phpinfo () Uzantının etkinleştirildiğini doğrulamak için şunu ararız: CTRL + F kelime mongo ve uzantımızın bilgilerini göreceğiz:

BÜYÜT

Bunun doğrulanmasıyla birlikte çalışmaya hazır olacağız PHP Y mongoDB çevremizde pencereler.
NS Linux birkaç ekstra adım gerekiyor, önce yüklememiz gerekiyor Armut, bunun için konsolda veya terminalde şunları yapacağız:
sudo apt-get install php5-dev php5-cli php-armut

Ardından sürücüyü kurmaya devam ediyoruz, bunu konsoldan veya terminalden yapmak için aşağıdaki talimatı uygulayacağız:
sudo pecl mongo'yu kurun

Sonunda açmalıyız php.ini ve uzantıyı etkinleştirin:
uzantı = mongo.so

Bununla yapabiliriz sunucumuzu yeniden başlat apache ve üzerinde çalışmaya başlamaya hazır olacağız Linux.
Zaten sizin için yeterince teknik ayar yaptık. mongoDB Y PHP iletişim kurabilir, ancak bu motorun nasıl çalıştığını biraz görmeliyiz veritabanları ile neler başarabileceğimize dair bir fikir edinmek için NoSQL.
Koleksiyonlar ve belgelerHer şeyden önce bilmeliyiz ki masa yok ama koleksiyonlar ve siz kayıtlı kayıtlar değilsiniz ama belgeler, bu bize katı bir yapı izlemenin gerekli olmadığı ve her belgenin ihtiyacınız olan tüm verileri içerebileceği özgürlüğü verir.
Klasik bir örnek, yazarlar ve kitapları, içinde Veri tabanı ilişkisel bir yaratmalıyız yazarlar tablosu, o zaman bir tane oluşturmalıyız Kitap masası ve ikincisinde, yazarın benzersiz kimliğini veya tanımlayıcısını her kitapla ilişkilendirdiğimiz bir alana sahip olmamız gerekir, bu, hakkında yazılacak bir şey değildir ve oldukça işlevseldir.
mongoDB nasıl çalışır?İçinde mongoDB sadece bir tane oluşturacağız Toplamak yazarlar denir ve her biri belge yazar olacak, mongoDB otomatik olarak benzersiz bir tanımlayıcı oluşturmaktan sorumludur, ancak her yazarı uygun bir şekilde tanımlamamıza yardımcı olan bir özellik ekleyebiliriz, ardından her yazarda bir yeni mülk kitaplar denir ve orada tüm başlıklarını saklayacağız, bu yüzden kitabı olmayan bir yazar istiyorsak, koleksiyonda kitap özelliği olmayan belgeye bakmamız yeterlidir.
Bu, yazarlar ve kitaplar için yerleşik bir ilişki olmadığını, sadece o kısmı içeren veya içermeyen bir belge olduğunu gösterir, aslında o kadar çok yönlüdür ki, adı verilen bir özelliği içeren bir yazar oluşturabiliriz. çocuk kitapları ve diğer yazarların sahip olmadığı, bu şekilde yeni ilişkiler veya tablolar oluşturmak zorunda kalmayacağız, sadece koleksiyon belgesine sahip olacak.
Bağlantı kurmadan önce bilmemiz gereken her şeyin uygun temellerini zaten ele aldık. PHP, neye ihtiyacımız olduğunu gözden geçirelim:
  • Çalıştırılacak bir sunucu PHP, Örneğin Apaçi.
  • Hizmet mongoDB yüklü ve aktif bağlantıları bekliyorum.
  • Sürücüyü yüklediniz PHP ile mongoDB.
  • Düz bir metin editörü ve sunucumuzda çalışma imkanı PHP kod yazıyoruz.

Yapmamız gereken ilk şey, sınıfın bir nesnesini oluşturmaktır. Mongoİstemci, eğer sürücüyü doğru kurduysak bu sorun olmamalı, o zaman bu nesne ile ismimizi oluşturuyoruz. Veri tabanı, bu durumda koyarız kütüphane, ardından koleksiyon adını belirledik ve şimdi veri ekleyebiliriz, bu örneğin kaynak kodunu görelim:
 kütüphane; $ koleksiyon = $ db-> yazarlar; $ yazar = dizi ('autorid' => 1, 'isim' => 'Dan Brown'); $ koleksiyon-> ekle ($ yazar); $ yazar = dizi ('autorid' => 2, 'isim' => 'Chuck Palahniuk'); $ koleksiyon-> ekle ($ yazar); $ yazar = dizi ('autorid' => 3, 'isim' => 'Max Brooks'); $ koleksiyon-> kaydet ($ yazar); ?> var13 -> 

Gerçekte olan kayıtların her birinin nasıl olduğunu görüyoruz. belgeler koleksiyonumuzdan onları şeklinde inşa ediyoruz dizi programımızda, o zaman bu diziyi nesneye iletiyoruz Toplamak ve yöntemi uyguluyoruz sokmak, bu bize kolayca koleksiyonumuza veri eklemenin yolunu verir. mongoDB, kodumuzu sunucumuzda çalıştırdıktan sonra aşağıdaki görselde görelim. Veri tabanı aramak kütüphane:

BÜYÜT

Verileri ne kadar kolay eklediğimizi gördüğümüz için şimdi küçük bir sorgu yapacağız, bu şekilde belgelerin veri çıkarma işleminin nasıl çalıştığını göstereceğiz.
Bunun için bir önceki örnekte olduğu gibi gerekli bağlantıları tekrar yapacağız fakat şimdi metodu kullanacağız. birini bul () nesne ile Toplamak, bu şekilde koleksiyondaki belge özelliklerinden herhangi birini sorgulayabiliriz, örneğin yazar oluşturduğumuz kodu görelim:
 kütüphane; $ koleksiyon = $ db-> yazarlar; $ yazar = dizi ('autorid' => 1, 'isim' => 'Dan Brown'); $ koleksiyon-> ekle ($ yazar); $ yazar = dizi ('autorid' => 2, 'isim' => 'Chuck Palahniuk'); $ koleksiyon-> ekle ($ yazar); $ yazar = dizi ('autorid' => 3, 'isim' => 'Max Brooks'); $ koleksiyon-> kaydet ($ yazar); $ belgeler = $ koleksiyon-> findOne (dizi ('autorid' => 2)); echo "Verileri sorgula:
"; attı"Mongo Birincil Anahtarı: {$ belgeler ['_ id']}
"; attı"Yazarın ismi: {$ belgeler ['isim']} ";?> var13 ->

Son olarak, sonuçları bir diziymiş gibi inceleyebilir ve yazdırmamız gereken her bir özelliğin indeksini belirtebiliriz, ayrıca özelliği örneğe dahil ettik. _İD böylece nasıl olduğunu görselleştirebiliriz mongoDB birincil anahtarı veya benzersiz tanımlayıcı alanını oluşturur. Kodumuzu çalıştırdığımızda sonucu tarayıcımızda görelim:

Web sayfalarımızı yönetmek için kullanabileceğimiz bazı araçlar vardır. veritabanları içinde mongoDB.
Bunlardan biri Cengiz, bunun için projeyi dizinimize indirebilir veya klonlayabiliriz. www veya bir sayfayı kaldırabileceğimiz eşdeğeri yerel ana bilgisayar ve kurulumumuzu görebiliriz mongoDB ve verileriniz, bitirmek için bu kullanışlı aracın neye benzediğini görelim:

BÜYÜT

Bununla bu öğreticiyi bitirdik, zaten dünyaya girebilmek için bir temelimiz var. NoSQLBüyük veri koleksiyonlarını yönetmede mevcut eğilimde olan , birçok kişi bağlantı kurmayı sorgulayabilir. PHP gibi alternatiflerin olması düğüm.js, cevap basit, çünkü birçok sistem var. arka uç bu dilde yapıldı ve bu bilgiyle kendimizi yeni teknolojilere güncellerken yaşam boyu kodlarımızı yeniden kullanabileceğiz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave