Drupal ve PHP öğrenmeye çalışıyorum ASP.NET geliştirici

5 Cevap php

Ben çok iyi ASP.NET C # biliyorum. Anketlere ve özel web uygulamaları gibi bir sürü yapmak.

Ben Drupal kafamın etrafında sarma ve müşterilerin listesini arama, ya da bir web uygulaması oluşturma gibi 'özel' bir program şeyleri yapmak için nasıl sergiyi bir sürü sorun yaşıyorum.

1 - Ben kitap ve Drupal API okuma oldum ama hala bir sürü sorun hiç bir şey ile başlarken yaşıyorum. Nerede özel kod ... sayfaları, modüller, parçacıkları bakımından gider? Ben nasıl Drupal yeni bir sayfanın içine ASP.NET yaptım formu X çoğaltmak mı? Vb Drupal etrafında başımı sarmak için süper zor, henüz aynı zamanda kod benim için zor gibi çok büyük ve kolay ve genişletilebilir görünüyor. What can you recommend for an ASP.NET application programmer to learn to work with/in Drupal?

2 - Bazen müşteriler için tam ASP.NET uygulamaları yazmak ve müşteriler bunları düzenleme gitmek için bu uygulamaları indended değildir. Örneğin, drupal bizim tüm web sitesi olacak, ancak bu web sitesinin içinde kullanıcıların veritabanı bilgi için özel bir arama kullanmak için bir yer olacak. Biz basit bir web sitesi editörleri ve bu özel kodlu sayfa (lar) düzenlemek için çalışıyoruz içerik sağlayıcıları istemiyorum. How do I handle not wanting clients to edit anything in a Drupal application? bu sayfa / kullanıcı izinleri yoluyla ele mi? Tamamen drupal dışında bir uygulama geliştirmek ve barındırmak için en iyi şey midir? Drupal uygulaması bir drupal web sitesinin içinde kendi drupal örneğinin mi (iç içe drupals?)?

3 - Son olarak, nasıl veritabanlarını ele? Ben Drupal ve PHP MySQL ile iyi çalışacak şekilde ayarlanmıştır anlıyorum. Biz birden çok uygulama tarafından kullanılan ve biz Drupal kullanmaya başlamak gibi yeni uygulamalar için bunları kullanmak istiyorum MS SQL veritabanları var. Örneğin, ASP.NET raporlama uygulaması, ASP.NET Personel İlanı uygulaması besleyen Personel dizin var ve bu veritabanına (içine ve belki de ekler / güncellemeler bilgi) bir de kullanan yeni bir Drupal PHP uygulama yapmak istiyorum. What is the best/easiest way to handle MS SQL databases and/or MySQL databases being used and updated by multiple Drupal and ASP.NET applications? tüm uygulamaları MS SQL veritabanları kullanmak, ya da belki Drupal / PHP uygulamaları için MySQL veritabanlarını çoğaltmak için ve her nasılsa iki veritabanları senkronize olması için daha kolay olurdu?

Ben tek bir yazı içinde birden çok ilgili soru sormak eğer iyi olduğunu umuyoruz.

5 Cevap

Her şeyden önce, ben Drupal sınırlamaları anlamak için neyin önemli olduğunu düşünüyorum, gerçekten için yapılmış değil şeyler vardır. Bu tür bir web uygulaması çerçevesi bulunuyor ama kendi özel datamodelling ve malzeme ile özel bir sürü iş yapıyoruz, Drupal sorunları senin türlü en esnek ya da kolay uygulanabilir bir çözüm olmayabilir. Örneğin Zend Framework için gibi daha genel bir çerçeve daha uygun olabilir.

Drupal öğrenme önemli bir derstir: çekirdek veya diğer modülleri kesmek yok. Bu yükseltme çekirdek veya modülleri çok zaman alıcı yapacaktır. Bunun yerine "Drupal gibi yapmak" ve kancalar kullanarak geçersiz kılar. Theming olarak da kanca ile değil, başka yollarla da kılabilirsiniz. Geçersiz kılma o kadar iyi kavramını anlamak güçlüdür.

  1. Ben, demek ki stil, Screencasts, IRC, hack, kullanıcı meetups RL, kitap, makale ya da herhangi bir kombinasyonu olan öğrenme bir yol almak ve Drupal malzeme için bakmak istiyorum. Sadece mucking başlar ve Drupal nasıl bir duygu ve anlayış olsun. Jargon anlamak önemli bir parçası olduğunu, yani ne: düğümler, bloklar, bölgeler, kancalar, modüller, temalar.
  2. Drupal çok esnek izin sistemi vardır ve muhtemelen yerine kendi yapım bu kullanmak için en iyi seçimdir. Eklemek veya Drupal davranışını değiştirmek kendi modülleri yazabilirsiniz. Drupal ile çalışan yeni bir uygulama yazmak istiyorsanız Yani eğer uygulama 'I don var ve vs vs kullanıcıları dahil Drupal sunduğu tüm tesislerin, izin sistemi, kullanımı yapmak zorunda işlevselliği yerine bir modül yazabilir t gerçekten ikinci sorunun son parçası "bir drupal web sitesinin içinde kendi drupal örneğinin drupal uygulama mı (iç içe drupals?)?" anlıyorum. Drupal birlikte bir veritabanındaki tabloların bir takım ile kendisine yapılan talebi hizmet veren, bir sunucu üzerinde PHP dosyaları topluluğudur. Çoklu Drupal web siteleri (yani farklı PHP dosyaları) (örneğin, kullanıcı tablo) aynı veritabanını veya bölümlerini başvuruda bulunabilir. Bir "uygulama" orada gerçekten değil gibi bir Drupal sitesine bir "örnek", gerçekten yok. Ben tabii bu şartlara çok yabancı olabilir ama ben PHP "uygulamalar" arasında "örnekleri" ile çalıştığını sanmıyorum.

  3. Drupal MS SQL ile çalışmaz afaik bu, zor bir sorun, yani bu yönde herhangi bir bağlantıları kendiniz yapmak zorunda kalabilirsiniz. Ben de Drupal forumlarda etrafında veya IRC sormak istiyorum.

İyi şanslar!

Burada bazı iyi yanıtlar, bu yüzden sadece bazı kısa öğeler doldururuz.

1 - Drupal Öğrenme: Pro Drupal Development bunun için en iyi kitap. Sorun kuyruklar içine alma ve geliştiricileri ile etkileşim özellikleri ile tanımak için bir yoldur. Formlar hakkında soru Drupal formlarını nasıl işleyeceğini ilgilidir. FAPI Drupal oldukça sağlam ve güvenlik gaffes sizi korur. Docs yerde olmasına rağmen kodu, belgelenen nerede Ayrıca API dot Drupal nokta org olduğunu. Google senin arkadaşın. (Drupal sitesinde kendisi, yönlü sonuçlar elde etmek için yerel arama kullanın.)

2 - Bu bir kullanıcı izinleri konudur. İçerik tipine göre oluşturma ve düzenleme izinlerini sınırlamak. Erişim kontrolü (okuma) için, erişim kontrolü için birçok modüllerinden birini kullanmak isteyeceksiniz. Gerçekten kullanımı durumda bağlıdır.

3 - Drupal MySQL için en toplum desteği vardır, ama insanlar aynı zamanda MS SQL Drupal çalıştırın. Drupal 7, büyük olasılıkla bu sürümde veritabanı soyutlaması tanıttı olmayan MySQL için çok daha fazla destek göreceksiniz.

Muhtemelen yapılacak en kötü şey, kenar boşlukları etrafında kesmek olduğunu. Eğer gerçekten Drupal masaya getiriyor gücünü kaldıraç böylece - yönetim ve kodlama - Gerçekten Drupal temel bileşenleri ve Muhalifler öğrenmek için öder.

Modüller için avcılık iseniz ve http://drupalmodules.com senin arkadaşın. ;)

Ben bu yüzden ilk ya da ikinci sorulardan herhangi bakış açısı sunmak, ancak üçüncü soruda olamaz Drupal ile herhangi bir deneyimi yok korkuyorum:

What is the best/easiest way to handle MS SQL databases and/or MySQL databases being used and updated by multiple Drupal and ASP.NET applications?

Eğer ASP.NET uygulamaları ve PHP / Drupal uygulamalardan hem CRUD işlemleri gerçekleştirmek için gidiyoruz eğer, o zaman ben bu gecikmesine sorunlara yol açacağından ileri ve geri MySQL ve MSSQL arasında veri senkronize çalışırken karşı tavsiye ederim artı o olacak iki veritabanı yönetim sistemleri arasındaki farklılıklar ile başa çıkmak için.

Bunun yerine, tüm veritabanı kere kontrol etmek için saklı yordamları kullanarak bakmak tavsiye ederim. Bu şekilde veritabanı CRUD operasyonları tüm aynı kurallara ve mantığa uygun olmasını sağlayabilirsiniz.

ASP.NET ve PHP hem de MSSQL kullanarak bir sorun olabilir, özellikle de popüler veritabanı yönetim sistemleri bir dizi erişmek için standart bir arayüz sağlar çok mükemmel bir PDO kütüphanesi ile olmamalıdır. O hızla ve kolayca bağlanabilir ve PHP uygulamaları içinde MSSQL veritabanlarını kullanmaya başlamak için izin vermelidir.

Bu, sizden bazı iyi sorular. Ben benim yeteneği en iyi şekilde onlara cevap çalışacağım. Ben APS.NET c # ile hiçbir deneyimim yok, bu yüzden geliyor tam olarak nerede bilmiyorum. Kendimi deneyimsiz bir Python / Django geliştirici olarak Drupal öğrendim. Yani bazı yönlerden ben Drupal öğrenmeye çalışıyorum geçiyor sıkıntılara bir anlayabiliyorum. Bunlardan bazıları sadece uzak gidecek önce deneme / zaman / deneyim gerektirir.

  1. Gerçekten Drupal anlamak ve Drupal API ilk PHP iyi bir anlayış gerekir. Bazen Drupal bazı karmaşık PHP şeyler yapmak, böylece sözdizimi veya PHP fonksiyonları vb anlamak yoksa, kolay kaybolabilir.

    • Where do code live?
      Drupal is built as a moduler system. Drupal itself is a set of modules, some of which are required for Drupal to work properly. If you want make some custom code, that is you want to do something, that you can't use a module for. There are about 5000 modules developed for Drupal. Often even when being a skilled programmer, the best choice is to find a module that will do what you need or can get you where close. So what you do, it to create a module of your own.

      1. Modülün adı ile bir klasör yapmak

      2. Özel bir şekilde biçimlendirilmiş modülü hakkında biraz bilgi tutan içeride bir modulename.info oluşturun. Drupal modülleri etkinleştirmek modül listesi sayfasında modülü görüntülemek fx için buna ihtiyacınız olacak.

      3. Son modül için kod çekirdek olacak bir modulename.module dosyası oluşturun.

      Drupal ile anlamak için önemli olan bir başka şey

      , bir kanca tabanlı bir sistem kullanır. Bazı şeyler içine ve ya kanca akışını değiştiren, veya kendi bazı şeyler yapmak istiyorum gerçekleşmesi kez Kancalar yangın olayları gibidir. Fx alanları ekleme / kaldırma, belirli bir form görüntülenir edildi her zaman kayıt olabilir, ya da formunu değiştirebilir.

    • Forms
      Drupal has a FAIP or Form API, that is uses to generate form, this is something that has it's own page in the documentation. The idea is that you create an associative PHP array which holds information about each element of the form, and Drupal will use that to create the form.

    • Books There are a lot of good books for Drupal that you can learn from. The book I myself have learned the most from is Pro Drupal Development

  2. Her şeyden önce, Drupal size tam olarak ne müşterileriniz yapmak için izin kurulum sağlayacak bir çok ince taneli rol tabanlı izin sistemine sahiptir. Sen moderatör, içerik yaratıcısı, yönetici, sabitsysadmin vb gibi farklı roller, oluşturmak ve her role farklı izinler verebilir. Bu oldukça kolay ve Drupal AI içinde kurulum. Bazı super permissions şeyler bir çok erişim verecek gibi Ancak, izinleri bilmek gerekir. Şimdi uygulamaları entegre etmek için, bu muhtemelen için özel bir modül yazmak istiyorum şeydir. Bunu yapmak istiyorum tam olarak nasıl bilmiyorum. Ama iyi sonuç Drupal, sayfaları oluşturmak, uygulama vb oluşturur ve sadece geri ve ileri veri göndermek vererek kazanılmış olacağını düşünüyorum. Bu şekilde sitenin teması = düzeni tutarlı olacaktır. Bu şekilde kullanıcılar, siteyi terk duygu alamadım, ama bu sadece başka bir teklif siteyi özelliği oldu.

  3. Drupal sadece MYSQL iyi işlemek için ayarlı değil, aslında sizin drupal veri tabanı için MySQL veya PSQL ya ihtiyacınız olacaktır. Nedeni Drupal çalışacak spesifik olmayan sorguları yazmak için izin sorguları, kolları şekilde olursa olsun, tabloları kullanmak, iki tür üzerinde, ya da eğer bir önek vardır. Yani Drupal internals tümü için size iki birini gerekir. PHP MSSQL bağlanmak ve bu veritabanına karşı sorguları çalıştırmak, böylece çok sorunsuz diğer uygulamanın veritabanlarına sorgular çalıştırmak ve veri almak veya güncelleştirme ya özel bir kod yazabilirsiniz olabilir. Verilere bağlı olarak, okumak ve yazmak edebilirsiniz veritabanındaki bir tablo oluşturun ve sonra gerektiğinde veritabanlarını senkronize etmek isteyebilirsiniz. Bu kullanımı durumda üzerinde biraz bağlıdır. Ben veritabanına yazmak için gerek yoktu durumda, sonuncusunu yapmış, ancak yine de diğer sistemler tarafından kullanılan ediliyordu eski bir veritabanı oluşturmak bazı ürün bilgilerini almak için ihtiyaç var.

rlb,

Ben Drupal biraz yaptım ve güçlü ASP.NET deneyime sahip oldum. Eğer gerçekten sizin zihniyet anlaşalım kadar okumak gerekir. Onlar çok WebForms yabancı ve bir MVC gibi moda katmanları kullanabilirsiniz ASP.NET MVC geliştiricileri ... ve doğrusunu ilk bakışta garip görünüyor.

Burada hızlı bir şekilde gerçekten iyi almak için yaptığı şeylerin bir listesi:

  1. Eğer yükleme Drupal sağlayacak olan 8 $ için HostGator at gibi bir dizi olsun
  2. Yeni başlayanlar için kitap Pro Drupal Development ... mükemmel alın ve gerçekten alanlarda bir sürü kapsar http://www.amazon.com/Pro-Drupal-Development-Second-Beginning/dp/1430209895/ref=sr%5F1%5F2?ie=UTF8&s=books&qid=1257545528&sr=8-2
  3. Drupal forumlarında alın
  4. Katkıda bulunmaya hazır olun. Drupal özellikleri bir yeri vardır, ama sonunda iyi yolu geri kodunu katkıda birisi olmaktır

Düşünün, ama bir metin editörü ince olmalıdır başlamak için IDE vardır.

İyi şanslar.